From 32255a6ca690a50326cd67f536b141703f8debd8 Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 7 Jan 2023 19:46:18 +0100 Subject: Add dns_dhcp --- .../puppet/modules/dns_dhcp/manifests/init.pp | 20 ++++++++++++++++++++ .../puppet/modules/dns_dhcp/templates/internal.epp | 15 +++++++++++++++ 2 files changed, 35 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 (limited to 'personal_infra/puppet/modules') 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 00000000..c7a35520 --- /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 00000000..3ba1b7e9 --- /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'] %> +<% } %> -- cgit v1.2.3