9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'modules/pdns_server/manifests/init.pp', line 9
class pdns_server(
Array[Stdlib::IP::Address::Nosubnet, 1] $listen_on,
Stdlib::Fqdn $default_soa_content,
Stdlib::Fqdn $query_local_address,
Stdlib::Host $pdns_db_host,
String[1] $pdns_db_password,
Stdlib::IP::Address::Nosubnet $dns_webserver_address,
String[1] $dns_api_key,
Array[Stdlib::IP::Address::Nosubnet] $dns_api_allow_from,
) {
package { [ 'pdns-server',
'pdns-backend-mysql' ]:
ensure => 'present',
}
file { '/etc/powerdns/pdns.conf':
ensure => 'present',
owner => 'root',
group => 'pdns',
mode => '0440',
content => template('pdns_server/pdns.conf.erb'),
require => Package['pdns-server'],
}
# Clean up any example configs that the pdns packages might have installed;
# We don't want them accidentally used or merged into our puppetized config.
file { '/etc/powerdns/pdns.d/':
ensure => 'directory',
purge => true,
recurse => true,
}
service { 'pdns':
ensure => 'running',
require => [ Package['pdns-server'],
File['/etc/powerdns/pdns.conf']
],
subscribe => File['/etc/powerdns/pdns.conf'],
hasrestart => false,
}
}
|