Browse Source

[dns] Authoritative

Gabriel Corona 8 years ago
parent
commit
1f571e7766

+ 46 - 0
internal-modules/dns/manifests/authoritative.pp

@@ -0,0 +1,46 @@
+# Module:: dns
+# Manifest:: authoritative.pp
+#
+# Author:: Julien Vaubourg (<julien@vaubourg.com>)
+# Date:: 2013-09-21 13:36:02 +0200
+# Maintainer:: Julien Vaubourg (<julien@vaubourg.com>)
+#              Sebastien Badia (<seb@sebian.fr>)
+#
+# Class:: dns::authoritative inherits dns
+#
+#
+class dns::authoritative inherits dns {
+
+  package { 'zonecheck':
+    ensure => installed,
+  }
+
+  # Configurations
+  bind::server::file { [
+    'named.conf',
+    # from named.conf
+    'acl.conf',
+    'named.conf.local',
+    'named.conf.options',
+    'divers.conf',
+    'adherents.conf',
+  ]:
+    zonedir     => '/etc/bind',
+    owner       => 'bind',
+    group       => 'bind',
+    source_base => 'puppet:///modules/ldn/authoritative/confs/',
+    # require     => File['/etc/all-knowing-dns.conf'],
+  }
+
+  file {
+    '/etc/bind/zones':
+      ensure => directory,
+      owner  => 'bind',
+      group  => 'bind',
+  }
+
+  $zones = hiera_hash('zones', {})
+  create_resources(dns::zone, $zones)
+
+
+} # Class:: dns::authoritative inherits dns

+ 14 - 0
internal-modules/dns/manifests/init.pp

@@ -0,0 +1,14 @@
+# Module:: dns
+# Manifest:: init.pp
+#
+# Author:: Julien Vaubourg (<julien@vaubourg.com>)
+# Date:: 2013-09-21 13:36:02 +0200
+# Maintainer:: Julien Vaubourg (<julien@vaubourg.com>)
+#
+# Class:: dns
+#
+#
+class dns {
+  include 'bind'
+
+}

+ 20 - 0
internal-modules/dns/manifests/zone.pp

@@ -0,0 +1,20 @@
+# Module:: dns
+# Manifest:: authoritative.pp
+#
+# Author:: Julien Vaubourg (<julien@vaubourg.com>)
+# Date:: 2013-09-21 13:36:02 +0200
+# Maintainer:: Julien Vaubourg (<julien@vaubourg.com>)
+#              Sebastien Badia (<seb@sebian.fr>)
+#
+# Class:: dns::authoritative inherits dns
+#
+#
+define dns::zone {
+  bind::server::file {"db.$title":
+    zonedir     => '/etc/bind/zones',
+    owner       => 'bind',
+    group       => 'bind',
+    source_base => 'puppet:///modules/ldn/authoritative/zones/',
+    require     => File['/etc/bind/zones'],
+  }
+}

+ 1 - 0
manifests/zoidberg.ldn-fai.net.pp

@@ -1,2 +1,3 @@
 node 'zoidberg.ldn-fai.net' inherits 'base' {
 node 'zoidberg.ldn-fai.net' inherits 'base' {
+  include 'dns::authoritative'
 }
 }