50 lines
1.6 KiB
ObjectPascal
50 lines
1.6 KiB
ObjectPascal
![]() |
# Configures the BIND service for use with Designate's BIND backend
|
||
|
#
|
||
|
|
||
|
class openstack_integration::bind {
|
||
|
|
||
|
include ::openstack_integration::config
|
||
|
include ::openstack_integration::params
|
||
|
|
||
|
# Need some particular options that aren't default in ::dns when using
|
||
|
# designate with bind9 backend. Set them up.
|
||
|
$controls = {
|
||
|
"${::openstack_integration::config::host}" => {
|
||
|
'port' => 953,
|
||
|
'allowed_addresses' => [ $::openstack_integration::config::host ],
|
||
|
'keys' => [ 'rndc-key' ]
|
||
|
},
|
||
|
}
|
||
|
# NOTE (dmsimard): listen_on_v6 is false and overridden due to extended port
|
||
|
# configuration in additional_options
|
||
|
class { '::dns':
|
||
|
recursion => 'no',
|
||
|
allow_recursion => [],
|
||
|
controls => $controls,
|
||
|
listen_on_v6 => false,
|
||
|
additional_options => {
|
||
|
'listen-on' => 'port 5322 { any; }',
|
||
|
'listen-on-v6' => 'port 5322 { any; }',
|
||
|
'auth-nxdomain' => 'no',
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# /var/named is root:named on RedHat and /var/cache/bind is root:bind on
|
||
|
# Debian. Both groups only have read access but require write permission in
|
||
|
# order to be able to use rndc addzone/delzone commands that Designate uses.
|
||
|
file { $::dns::params::vardir:
|
||
|
mode => 'g+w',
|
||
|
require => Package[$dns::params::dns_server_package]
|
||
|
}
|
||
|
|
||
|
# ::dns creates the rndc key but not a rndc.conf.
|
||
|
# Contribute this in upstream ::dns ?
|
||
|
file { '/etc/rndc.conf':
|
||
|
ensure => present,
|
||
|
owner => $::dns::params::owner,
|
||
|
group => $::dns::params::group,
|
||
|
content => template("${module_name}/rndc.conf.erb"),
|
||
|
require => Package[$dns::params::dns_server_package]
|
||
|
}
|
||
|
}
|