]> git.donarmstrong.com Git - dsa-puppet.git/blob - manifests/site.pp
76917a3f72c3440efcd2c287663971c9603bcf5f
[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         include multipath
42         if $::lsbdistcodename == squeeze {
43                 include roles::udldap::client
44         } else {
45                 include roles::pubsub::client
46                 class { 'roles::udldap::client':
47                         ensure => absent
48                 }
49         }
50
51         if $::hostname in [ubc-bl7,ubc-bl3,ubc-bl2,ubc-bl6,ubc-bl8,ubc-bl4,byrd,clementi,czerny,bm-bl1,bm-bl2,bm-bl3,bm-bl4,bm-bl5,bm-bl6,bm-bl7,bm-bl8,csail-node01,csail-node02,grnet-node01,grnet-node02] {
52                 include ganeti2
53         }
54
55         if $::hostname == 'dinis' {
56                 include bacula::director
57         } else {
58                 package { 'bacula-console':
59                         ensure => purged;
60                 }
61
62                 file { '/etc/bacula/bconsole.conf':
63                         ensure => absent;
64                 }
65         }
66
67         if $::hostname == 'storace' {
68                 include bacula::storage
69         }
70
71         if $::kernel == Linux {
72                 include linux
73                 if $::kvmdomain {
74                         include acpi
75                 }
76         } elsif $::kernel == 'GNU/kFreeBSD' {
77                 include kfreebsd
78         }
79
80         if $::mta == 'exim4' {
81                 if getfromhash($site::nodeinfo, 'heavy_exim') {
82                         include exim::mx
83                 } else {
84                         include exim
85                 }
86         } elsif $::mta == 'postfix' {
87                 include postfix
88         } else {
89                 include exim
90         }
91
92         if $::apache2 {
93                 if !($::hostname in [oyens]) {
94                         include apache2
95                 }
96         }
97
98         if $::hostname in [geo1,geo2,geo3] {
99                 include named::geodns
100         }
101
102         #if $::hostname in [diabelli,nono,tchaikovsky] {
103         #       include dacs
104         #}
105
106         if $::hostname in [beach,glinka,milanollo,lw01,lw02,lw03,lw04] {
107                 include nfs-server
108         }
109
110         if $::brokenhosts {
111                 include hosts
112         }
113
114         if $::portforwarder_user_exists {
115                 include portforwarder
116         }
117
118         if $::samhain {
119                 include samhain
120         }
121
122         if $::hostname in [chopin,geo3,soler,wieck] {
123                 include debian-org::radvd
124         }
125
126         if ($::postgres) {
127                 include postgres
128         }
129
130         if $::spamd {
131                 munin::check { 'spamassassin': }
132         }
133
134         if $::hoster {
135                 if $::hoster in [ynic] {
136                         include lldp
137                 }
138         }
139 }