puppet-prod/site/profiles/manifests/dns/server.pp
Ben Vincent c996c9b7e3 fix: enable dynamic/tsig updates
- add eyaml to hiera.yaml
- consolidate all paths into single tree
- change to new profiles::dns::client wrapper
- change to new profiles::dns::record wrapper
- change to use concat method to build zone file
2023-11-16 21:40:16 +11:00

53 lines
981 B
Puppet

# profiles::dns::server
class profiles::dns::server (
Hash $acls = {},
Hash $zones = {},
Hash $views = {},
Hash $keys = {},
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 keys, import them
$keys.each | $name, $data | {
bind::key { $name:
* => $data,
}
}
# 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,
}
}
}