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