aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralex <alex@pdp7.net>2024-09-11 21:00:48 +0200
committeralexpdp7 <alex@corcoles.net>2024-09-11 21:02:07 +0200
commitdac2317aed1eba995ab03e40304aa2e6fd4827fb (patch)
treea4c00f44ee9ad27241c053bbea96a46676c990ba
parentfe06408d8b450f8f813409d4038c99c555da174a (diff)
Add "wildcard" internal domain for k8s clusters
-rw-r--r--personal_infra/puppet/modules/dns_dhcp/manifests/init.pp16
1 files changed, 15 insertions, 1 deletions
diff --git a/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp b/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp
index f7c79724..d462d313 100644
--- a/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp
+++ b/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp
@@ -8,7 +8,6 @@ class dns_dhcp {
$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':}
->
file {'/etc/dnsmasq.d':
@@ -16,6 +15,7 @@ class dns_dhcp {
purge => true,
recurse => true,
}
+ ->
file {'/etc/dnsmasq.d/internal':
content => epp('dns_dhcp/internal', {
'dns_dhcp' => lookup("network.dns_dhcp"),
@@ -33,4 +33,18 @@ class dns_dhcp {
file {'/etc/resolv.conf':
content => "domain ${domain}\nsearch ${domain}\nnameserver 127.0.0.1\n",
}
+
+ $k8s_hosts = lookup('groups.k8s')
+ $k8s_hosts.each |String $k8s_host| {
+ $cluster_name = lookup("hostvars.'$k8s_host'.talos_host.talos_cluster")
+ $ip = lookup("hostvars.'$k8s_host'.network.ip")
+ file {"/etc/dnsmasq.d/$k8s_host":
+ content => @("EOT")
+ address=/${cluster_name}.int.pdp7.net/$ip
+ | EOT
+ ,
+ require => File['/etc/dnsmasq.d'],
+ notify => Service['dnsmasq'],
+ }
+ }
}