1 |
class bind { |
2 |
class bind_base { |
3 |
package { bind: |
4 |
ensure => installed |
5 |
} |
6 |
|
7 |
service { named: |
8 |
ensure => running, |
9 |
path => "/etc/init.d/named", |
10 |
subscribe => [ Package["bind"]] |
11 |
} |
12 |
|
13 |
file { '/etc/named.conf': |
14 |
ensure => "/var/lib/named/etc/named.conf", |
15 |
owner => root, |
16 |
group => root, |
17 |
mode => 644, |
18 |
require => Package[bind] |
19 |
} |
20 |
} |
21 |
|
22 |
|
23 |
file { '/var/lib/named/etc/named.conf': |
24 |
ensure => present, |
25 |
owner => root, |
26 |
group => root, |
27 |
mode => 644, |
28 |
require => Package["bind"], |
29 |
content => "", |
30 |
notify => [Service['named']] |
31 |
} |
32 |
|
33 |
define zone_master { |
34 |
file { "/var/lib/named/var/named/master/$name.zone": |
35 |
ensure => present, |
36 |
owner => root, |
37 |
group => root, |
38 |
mode => 644, |
39 |
content => template("bind/zones/$name.zone"), |
40 |
require => Package[bind], |
41 |
notify => Service[named] |
42 |
} |
43 |
} |
44 |
|
45 |
define zone_reverse { |
46 |
file { "/var/lib/named/var/named/reverse/$name.zone": |
47 |
ensure => present, |
48 |
owner => root, |
49 |
group => root, |
50 |
mode => 644, |
51 |
content => template("bind/zones/$name.zone"), |
52 |
require => Package[bind], |
53 |
notify => Service[named] |
54 |
} |
55 |
} |
56 |
|
57 |
|
58 |
class bind_master inherits bind_base { |
59 |
file { '/var/lib/named/etc/named.conf': |
60 |
content => template("bind/named_base.conf", "bind/named_master.conf"), |
61 |
} |
62 |
} |
63 |
|
64 |
class bind_slave inherits bind_base { |
65 |
file { '/var/lib/named/etc/named.conf': |
66 |
content => template("bind/named_base.conf", "bind/named_slave.conf"), |
67 |
} |
68 |
} |
69 |
|
70 |
} |