c06a64117b5b5f8dc8a474e13a343802ceafeb47
[mirror/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 dsa_lvm
41         include grub
42         include multipath
43         include popcon
44         if $::lsbdistcodename == squeeze {
45                 include roles::udldap::client
46         } else {
47                 include roles::pubsub::client
48                 class { 'roles::udldap::client':
49                         ensure => absent
50                 }
51         }
52
53         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,bm-bl9,bm-bl10,bm-bl11,bm-bl12,bm-bl13,bm-bl14,csail-node01,csail-node02,grnet-node01,grnet-node02,ubc-enc2bl01,ubc-enc2bl02,ubc-enc2bl09,ubc-enc2bl10] {
54                 include ganeti2
55         }
56
57         if $::hostname == 'dinis' {
58                 include bacula::director
59         } else {
60                 package { 'bacula-console':
61                         ensure => purged;
62                 }
63
64                 file { '/etc/bacula/bconsole.conf':
65                         ensure => absent;
66                 }
67         }
68
69         if $::hostname == 'storace' {
70                 include bacula::storage
71         }
72
73         if $::kernel == Linux {
74                 include linux
75                 include acpi
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 [buxtehude,glinka,milanollo,lw01,lw02,lw03,lw04,senfter,gretchaninov] {
103                 include nfs-server
104         }
105
106         if $::brokenhosts {
107                 include hosts
108         }
109
110         if $::portforwarder_user_exists {
111                 include portforwarder
112         }
113
114         if $::samhain {
115                 include samhain
116         }
117
118         if $::hostname in [geo3,wieck] {
119                 include debian-org::radvd
120         }
121
122         if ($::postgres) {
123                 include postgres
124         }
125
126         if $::spamd {
127                 munin::check { 'spamassassin': }
128         }
129
130         if $::hoster {
131                 if $::hoster in [ynic] {
132                         include lldp
133                 }
134         }
135 }
136