]> xn--ix-yja.es Git - alex.git/commitdiff
Add dns_dhcp
authoralex <alex@pdp7.net>
Sat, 7 Jan 2023 18:46:18 +0000 (19:46 +0100)
committeralex <alex@pdp7.net>
Sat, 7 Jan 2023 18:46:34 +0000 (19:46 +0100)
personal_infra/puppet/modules/dns_dhcp/manifests/init.pp [new file with mode: 0644]
personal_infra/puppet/modules/dns_dhcp/templates/internal.epp [new file with mode: 0644]
personal_infra/puppet/site/h1.pdp7.net.pp

diff --git a/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp b/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp
new file mode 100644 (file)
index 0000000..c7a3552
--- /dev/null
@@ -0,0 +1,20 @@
+class dns_dhcp {
+  $domain = lookup("'$ansible_inventory_hostname'.network.dns_dhcp.domain")
+
+  package {'dnsmasq':}
+  ->
+  file {'/etc/dnsmasq.d/internal':
+    content => epp('dns_dhcp/internal', {
+      'dns_dhcp' => lookup("'$ansible_inventory_hostname'.network.dns_dhcp"),
+    }),
+  }
+  ~>
+  service {'dnsmasq':
+    enable => true,
+    ensure => running,
+  }
+  ->
+  file {'/etc/resolv.conf':
+    content => "domain ${domain}\nsearch ${domain}\nnameserver 127.0.0.1\n",
+  }
+}
diff --git a/personal_infra/puppet/modules/dns_dhcp/templates/internal.epp b/personal_infra/puppet/modules/dns_dhcp/templates/internal.epp
new file mode 100644 (file)
index 0000000..3ba1b7e
--- /dev/null
@@ -0,0 +1,15 @@
+domain-needed
+no-resolv
+no-hosts
+
+server=<%= $dns_dhcp['upstream_dns'] %>
+<% if $dns_dhcp['domain'] { %>
+local=/<%= $dns_dhcp['domain'] %>/
+domain=<%= $dns_dhcp['domain'] %>
+<% } %>
+
+<% if $dns_dhcp['dhcp_range'] { %>
+dhcp-range=<%= $dns_dhcp['dhcp_range'] %>
+
+dhcp-option=option:router,<%= $dns_dhcp['router'] %>
+<% } %>
index 3dd937c5fad5657d2087c6fb8f318f0d4462c060..ea16d81048a97131eee78daa142d139d17543045 100644 (file)
@@ -1,3 +1,4 @@
 node 'h1.pdp7.net' {
   class {'proxmox':}
+  class {'dns_dhcp':}
 }