]> git.donarmstrong.com Git - dsa-puppet.git/blob - manifests/site.pp
29f9d5aa49d9e940aec00b60a6511da4ef68cccc
[dsa-puppet.git] / manifests / site.pp
1 Package {
2         require => File['/etc/apt/apt.conf.d/local-recommends']
3 }
4
5 File {
6         owner  => root,
7         group  => root,
8         mode   => '0444',
9         ensure => file,
10 }
11
12 Exec {
13         path => '/usr/bin:/usr/sbin:/bin:/sbin'
14 }
15
16 Service {
17         hasrestart => true,
18         hasstatus  => true,
19 }
20
21 node default {
22         include site
23         include munin
24         include syslog-ng
25         include sudo
26         include ssh
27         include debian-org
28         include monit
29         include ntp
30         include ntpdate
31         include ssl
32         include motd
33         include hardware
34         include nagios::client
35         include resolv
36         include roles
37         include unbound
38         include bacula::client
39
40         if $::hostname in [pasquini,tristano,bertali,boito,byrd,clementi] {
41                 include ganeti2
42         }
43
44         if $::hostname == 'dinis' {
45                 include bacula::director
46         } else {
47                 package { 'bacula-console':
48                         ensure => purged;
49                 }
50
51                 file { '/etc/bacula/bconsole.conf':
52                         ensure => absent;
53                 }
54         }
55
56         if $::hostname == 'beethoven' {
57                 include bacula::storage
58         }
59
60         if $::kernel == Linux {
61                 include linux
62                 if $::kvmdomain {
63                         include acpi
64                 }
65         } elsif $::kernel == 'GNU/kFreeBSD' {
66                 include kfreebsd
67         }
68
69         if $::mta == 'exim4' {
70                 if getfromhash($site::nodeinfo, 'heavy_exim') {
71                         include exim::mx
72                 } else {
73                         include exim
74                 }
75         } elsif $::mta == 'postfix' {
76                 include postfix
77         } else {
78                 include exim
79         }
80
81         if $::apache2 {
82                 include apache2
83         }
84
85         if $::hostname in [ravel,senfl,orff,draghi,diamond] {
86                 include named::authoritative
87         } elsif $::hostname in [geo1,geo2,geo3] {
88                 include named::geodns
89         }
90
91         if $::hostname in [diabelli,nono,spohr] {
92                 include dacs
93         }
94
95         if $::hostname in [beethoven,spohr,stabile,beach] {
96                 include nfs-server
97         }
98
99         if $::brokenhosts {
100                 include hosts
101         }
102
103         if $::portforwarder_user_exists {
104                 include portforwarder
105         }
106
107         include samhain
108
109         if $::hostname in [chopin,geo3,soler,wieck] {
110                 include debian-org::radvd
111         }
112
113         if ($::postgres84 or $::postgres90) {
114                 include postgres
115         }
116
117         if $::hostname in ['beethoven', 'berlioz', 'biber', 'diabelli', 'dinis', 'draghi', 'widor', 'wolkenstein'] {
118                 @@bacula::node { $::fqdn: }
119         }
120
121         if $::spamd {
122                 munin::check { 'spamassassin': }
123         }
124 }