--- /dev/null
+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",
+ }
+}
--- /dev/null
+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'] %>
+<% } %>