aboutsummaryrefslogtreecommitdiff
path: root/personal_infra
diff options
context:
space:
mode:
authoralex <alex@pdp7.net>2023-02-19 02:59:11 +0100
committeralex <alex@pdp7.net>2023-02-19 02:59:11 +0100
commit9b3e07f3f5ace3ff339dc1f79734373f161b5620 (patch)
tree176e53003326b9ce0bc3b3b77285c53b5ca678ad /personal_infra
parent73afab8921dab13e8a232be7e2ef7809e1ec9623 (diff)
Allow dhcp hosts and regular hosts
Diffstat (limited to 'personal_infra')
-rw-r--r--personal_infra/puppet/modules/dns_dhcp/manifests/init.pp9
-rw-r--r--personal_infra/puppet/modules/dns_dhcp/templates/internal.epp6
2 files changed, 12 insertions, 3 deletions
diff --git a/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp b/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp
index 799cad2e..f7c79724 100644
--- a/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp
+++ b/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp
@@ -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,
}),
}
diff --git a/personal_infra/puppet/modules/dns_dhcp/templates/internal.epp b/personal_infra/puppet/modules/dns_dhcp/templates/internal.epp
index 10f47d1a..fbd896bf 100644
--- a/personal_infra/puppet/modules/dns_dhcp/templates/internal.epp
+++ b/personal_infra/puppet/modules/dns_dhcp/templates/internal.epp
@@ -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 %>
+<% } %>