feat: add dns resolver/master classes

- define resolver and master dns server
- export A and PTR records from dns clients
- collect exported resources for master
- create hiera structure for acls, zones and views
This commit is contained in:
2023-11-11 23:00:55 +11:00
parent 1ff4611318
commit 76b54fc59d
13 changed files with 231 additions and 2 deletions
+44
View File
@@ -0,0 +1,44 @@
# profiles::dns::server
class profiles::dns::server (
Hash $acls = {},
Hash $zones = {},
Hash $views = {},
Array $forwarders = ['8.8.8.8', '1.1.1.1'],
Boolean $dnssec = true,
){
# if forwarders are empty, set it to undef
if $forwarders == [] {
$use_forwarders = undef
}else{
$use_forwarders = $forwarders
}
# setup base bind server
class { 'bind':
forwarders => $use_forwarders,
dnssec => $dnssec,
version => 'Controlled by Puppet',
}
# if acls, import them
$acls.each | $name, $data | {
bind::acl { $name:
* => $data,
}
}
# if zones, import them
$zones.each | $name, $data | {
bind::zone { $name:
* => $data,
}
}
# if views, import them
$views.each | $name, $data | {
bind::view { $name:
* => $data,
}
}
}