From 32255a6ca690a50326cd67f536b141703f8debd8 Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 7 Jan 2023 19:46:18 +0100 Subject: [PATCH] Add dns_dhcp --- .../puppet/modules/dns_dhcp/manifests/init.pp | 20 +++++++++++++++++++ .../modules/dns_dhcp/templates/internal.epp | 15 ++++++++++++++ personal_infra/puppet/site/h1.pdp7.net.pp | 1 + 3 files changed, 36 insertions(+) create mode 100644 personal_infra/puppet/modules/dns_dhcp/manifests/init.pp create mode 100644 personal_infra/puppet/modules/dns_dhcp/templates/internal.epp 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 index 0000000..c7a3552 --- /dev/null +++ b/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp @@ -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 index 0000000..3ba1b7e --- /dev/null +++ b/personal_infra/puppet/modules/dns_dhcp/templates/internal.epp @@ -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'] %> +<% } %> diff --git a/personal_infra/puppet/site/h1.pdp7.net.pp b/personal_infra/puppet/site/h1.pdp7.net.pp index 3dd937c..ea16d81 100644 --- a/personal_infra/puppet/site/h1.pdp7.net.pp +++ b/personal_infra/puppet/site/h1.pdp7.net.pp @@ -1,3 +1,4 @@ node 'h1.pdp7.net' { class {'proxmox':} + class {'dns_dhcp':} } -- 2.47.3