aboutsummaryrefslogtreecommitdiffstats
path: root/modules/bind/manifests
diff options
context:
space:
mode:
Diffstat (limited to 'modules/bind/manifests')
-rw-r--r--modules/bind/manifests/init.pp61
-rw-r--r--modules/bind/manifests/master.pp17
-rw-r--r--modules/bind/manifests/slave.pp6
-rw-r--r--modules/bind/manifests/zone.pp13
-rw-r--r--modules/bind/manifests/zone/master.pp6
-rw-r--r--modules/bind/manifests/zone/reverse.pp6
6 files changed, 63 insertions, 46 deletions
diff --git a/modules/bind/manifests/init.pp b/modules/bind/manifests/init.pp
index 60ef7a04..a5d20c09 100644
--- a/modules/bind/manifests/init.pp
+++ b/modules/bind/manifests/init.pp
@@ -1,56 +1,25 @@
class bind {
- class bind_base {
- package { bind:
- ensure => installed
- }
+ package { 'bind': }
- service { named:
- ensure => running,
- path => "/etc/init.d/named",
- subscribe => [ Package["bind"]]
- }
-
- file { '/etc/named.conf':
- ensure => "/var/lib/named/etc/named.conf",
- owner => root,
- group => root,
- mode => 644
- }
+ service { 'named':
+ restart => 'service named restart',
+ subscribe => Package['bind'],
}
-
- file { '/var/lib/named/etc/named.conf':
- ensure => present,
- owner => root,
- group => root,
- mode => 644,
- require => Package["bind"],
- content => "",
- notify => [Service['named']]
+ file { '/etc/named.conf':
+ ensure => link,
+ target => '/var/lib/named/etc/named.conf',
+ require => Package['bind'],
}
- define zone_master {
- file { "/var/lib/named/var/named/master/$name.zone":
- ensure => present,
- owner => root,
- group => root,
- mode => 644,
- content => template("bind/zones/$name.zone"),
- require => Package[bind],
- notify => Service[named]
- }
+ exec { 'named_reload':
+ command => 'service named reload',
+ refreshonly => true,
}
- class bind_master inherits bind_base {
- file { '/var/lib/named/etc/named.conf':
- content => template("bind/named_base.conf", "bind/named_master.conf"),
- }
- }
-
- class bind_slave inherits bind_base {
- file { '/var/lib/named/etc/named.conf':
- content => template("bind/named_base.conf", "bind/named_slave.conf"),
- }
+ file { '/var/lib/named/etc/named.conf':
+ require => Package['bind'],
+ content => '',
+ notify => Service['named'],
}
-
}
diff --git a/modules/bind/manifests/master.pp b/modules/bind/manifests/master.pp
new file mode 100644
index 00000000..a82d4757
--- /dev/null
+++ b/modules/bind/manifests/master.pp
@@ -0,0 +1,17 @@
+class bind::master inherits bind {
+ Tld_redirections::Domain <<| |>>
+
+ $managed_tlds = list_exported_ressources('Tld_redirections::Domain')
+
+ file { "/var/lib/named/var/named/master":
+ ensure => directory
+ }
+
+ file { "/var/lib/named/var/named/reverse":
+ ensure => directory
+ }
+
+ File['/var/lib/named/etc/named.conf'] {
+ content => template('bind/named_base.conf', 'bind/named_master.conf'),
+ }
+}
diff --git a/modules/bind/manifests/slave.pp b/modules/bind/manifests/slave.pp
new file mode 100644
index 00000000..e446b57a
--- /dev/null
+++ b/modules/bind/manifests/slave.pp
@@ -0,0 +1,6 @@
+class bind::slave inherits bind {
+ $managed_tlds = list_exported_ressources('Tld_redirections::Domain')
+ File['/var/lib/named/etc/named.conf'] {
+ content => template('bind/named_base.conf', 'bind/named_slave.conf'),
+ }
+}
diff --git a/modules/bind/manifests/zone.pp b/modules/bind/manifests/zone.pp
new file mode 100644
index 00000000..17f2075e
--- /dev/null
+++ b/modules/bind/manifests/zone.pp
@@ -0,0 +1,13 @@
+define bind::zone($type, $content = false) {
+ if ! $content {
+ $zone_content = template("bind/zones/${name}.zone")
+ } else {
+ $zone_content = $content
+ }
+
+ file { "/var/named/${type}/${name}.zone":
+ content => $zone_content,
+ require => Package['bind'],
+ notify => Exec['named_reload']
+ }
+}
diff --git a/modules/bind/manifests/zone/master.pp b/modules/bind/manifests/zone/master.pp
new file mode 100644
index 00000000..460f52c6
--- /dev/null
+++ b/modules/bind/manifests/zone/master.pp
@@ -0,0 +1,6 @@
+define bind::zone::master($content = false) {
+ bind::zone { $name :
+ type => 'master',
+ content => $content,
+ }
+}
diff --git a/modules/bind/manifests/zone/reverse.pp b/modules/bind/manifests/zone/reverse.pp
new file mode 100644
index 00000000..400e77f9
--- /dev/null
+++ b/modules/bind/manifests/zone/reverse.pp
@@ -0,0 +1,6 @@
+define bind::zone::reverse($content = false) {
+ bind::zone { $name :
+ type => 'reverse',
+ content => $content,
+ }
+}