]> git.donarmstrong.com Git - dsa-puppet.git/blob - manifests/site.pp
7b1af9a57f2798da954d0d1735cf3c01ff62034d
[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 hardware
33         include nagios::client
34         include resolv
35         include roles
36         include motd
37         include unbound
38         include bacula::client
39         include autofs
40         include lvm
41
42         if $::hostname in [pasquini,tristano,bertali,boito,rossini,dijkstra,luchesi,byrd,clementi,czerny,bm-bl1,bm-bl2,bm-bl3,bm-bl4,bm-bl5,bm-bl6,bm-bl7,bm-bl8,bm-bl9,bm-bl10,bm-bl11,bm-bl12,bm-bl13,bm-bl14] {
43                 include ganeti2
44         }
45
46         if $::hostname in [bm-bl1,bm-bl2,bm-bl3,bm-bl4,bm-bl5,bm-bl6,bm-bl7,bm-bl8,bm-bl9,bm-bl10,bm-bl11,bm-bl12,bm-bl13,bm-bl14,rossini,luchesi,dijkstra] {
47                 include multipath
48         }
49
50         if $::hostname == 'dinis' {
51                 include bacula::director
52         } else {
53                 package { 'bacula-console':
54                         ensure => purged;
55                 }
56
57                 file { '/etc/bacula/bconsole.conf':
58                         ensure => absent;
59                 }
60         }
61
62         if $::hostname == 'beethoven' {
63                 include bacula::storage
64         }
65
66         if $::kernel == Linux {
67                 include linux
68                 if $::kvmdomain {
69                         include acpi
70                 }
71         } elsif $::kernel == 'GNU/kFreeBSD' {
72                 include kfreebsd
73         }
74
75         if $::mta == 'exim4' {
76                 if getfromhash($site::nodeinfo, 'heavy_exim') {
77                         include exim::mx
78                 } else {
79                         include exim
80                 }
81         } elsif $::mta == 'postfix' {
82                 include postfix
83         } else {
84                 include exim
85         }
86
87         if $::apache2 {
88                 include apache2
89         }
90
91         if $::hostname in [ravel,senfl,orff,draghi,diamond,rietz] {
92                 include named::authoritative
93         } elsif $::hostname in [geo1,geo2,geo3] {
94                 include named::geodns
95         }
96
97         if $::hostname in [diabelli,nono,spohr] {
98                 include dacs
99         }
100
101         if $::hostname in [beethoven,spohr,stabile,beach,glinka,milanollo] {
102                 include nfs-server
103         }
104
105         if $::hostname == 'vieuxtemps' {
106                 include varnish
107         }
108
109         if $::brokenhosts {
110                 include hosts
111         }
112
113         if $::portforwarder_user_exists {
114                 include portforwarder
115         }
116
117         if $::samhain {
118                 include samhain
119         }
120
121         if $::hostname in [chopin,geo3,soler,wieck] {
122                 include debian-org::radvd
123         }
124
125         if ($::postgres) {
126                 include postgres
127         }
128
129         if $::spamd {
130                 munin::check { 'spamassassin': }
131         }
132
133         if $::hoster {
134                 if $::hoster in [ynic] {
135                         include lldp
136                 }
137         }
138 }