]> xn--ix-yja.es Git - alex.git/commitdiff
Allow dhcp hosts and regular hosts
authoralex <alex@pdp7.net>
Sun, 19 Feb 2023 01:59:11 +0000 (02:59 +0100)
committeralex <alex@pdp7.net>
Sun, 19 Feb 2023 01:59:11 +0000 (02:59 +0100)
personal_infra/puppet/modules/dns_dhcp/manifests/init.pp
personal_infra/puppet/modules/dns_dhcp/templates/internal.epp

index 799cad2e35f746fc7f71f36f46dd9c6ad67d3fdf..f7c79724f28d25abfc2df194ad4a2b3205004fa3 100644 (file)
@@ -2,8 +2,12 @@ class dns_dhcp {
   $domain = lookup('network.dns_dhcp.domain')
 
   $hostvars = lookup('hostvars')
-  $fixed_host_vars = $hostvars.filter |$host, $vars| { $vars['network'] and $vars['network']['dhcp_server'] == $facts["networking"]["fqdn"] }
-  $fixed_hosts = Hash($fixed_host_vars.map |$host, $vars| { [$host.match(/^[a-z0-9]+/)[0], $vars['network']['ip'] ] })
+  $fixed_dhcp_host_vars = $hostvars.filter |$host, $vars| { $vars['network'] and $vars['network']['dhcp_server'] == $facts["networking"]["fqdn"] }
+  $fixed_dhcp_hosts = Hash($fixed_dhcp_host_vars.map |$host, $vars| { [$host.match(/^[-a-z0-9]+/)[0], $vars['network']['ip'] ] })
+
+  $fixed_host_vars = $hostvars.filter |$host, $vars| { $vars['network'] and $vars['network']['register_dns_server'] == $facts["networking"]["fqdn"] }
+  $fixed_hosts = Hash($fixed_host_vars.map |$host, $vars| { [$host.match(/^[-a-z0-9]+/)[0], $vars['network']['ip'] ] })
+
 
   package {'dnsmasq':}
   ->
@@ -16,6 +20,7 @@ class dns_dhcp {
     content => epp('dns_dhcp/internal', {
       'dns_dhcp' => lookup("network.dns_dhcp"),
       'dns_other_server_defs' => $dns_other_server_defs,
+      'fixed_dhcp_hosts' => $fixed_dhcp_hosts,
       'fixed_hosts' => $fixed_hosts,
     }),
   }
index 10f47d1ae6f8ab27be80a33f17e0455c3a184167..fbd896bfda05c21195e07bb6937611c392beb264 100644 (file)
@@ -21,6 +21,10 @@ server=/<%= $server_def['network_name'] %>/<%= $server_def['dns_ip'] %>
 rev-server=<%= $server_def['reverse_ip_range'] %>,<%= $server_def['dns_ip'] %>
 <% } %>
 
-<% $fixed_hosts.each |$host, $ip| { %>
+<% $fixed_dhcp_hosts.each |$host, $ip| { %>
 dhcp-host=<%= $host %>,<%= $ip %>,<%= $host %>
 <% } %>
+
+<% $fixed_hosts.each |$host, $ip| { %>
+host-record=<%= $host %>,<%= $host %>.<%= $dns_dhcp['domain'] %>,<%= $ip %>
+<% } %>