]> git.donarmstrong.com Git - dsa-puppet.git/blob - manifests/site.pp
add megactl package, and sudo for nagios
[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    => 444,
9     ensure  => file,
10 }
11
12 Exec {
13     path => "/usr/bin:/usr/sbin:/bin:/sbin"
14 }
15
16 node default {
17     $localinfo = yamlinfo('*', "/etc/puppet/modules/debian-org/misc/local.yaml")
18     $nodeinfo  = nodeinfo($fqdn, "/etc/puppet/modules/debian-org/misc/local.yaml")
19     $allnodeinfo = allnodeinfo("sshRSAHostKey ipHostNumber", "purpose mXRecord")
20     notice( sprintf("hoster for %s is %s", $fqdn, getfromhash($nodeinfo, 'hoster', 'name') ) )
21
22     include munin-node
23     include syslog-ng
24     include sudo
25     include ssh
26     include debian-org
27     include monit
28     include apt-keys
29     include ntp
30     include ssl
31
32     include motd
33
34     case $hostname {
35         finzi,fano,fasch,field:    { include kfreebsd }
36     }
37
38     case $smartarraycontroller {
39         "true":    { include debian-proliant }
40     }
41     case $kvmdomain {
42         "true": {
43             package { acpid: ensure => installed }
44             case getfromhash($nodeinfo, 'squeeze') {
45                 true:  { package { acpi-support-base: ensure => installed } }
46             }
47         }
48     }
49     case $mptraid {
50         "true":    { include "raidmpt" }
51     }
52     case $productname {
53         "PowerEdge 2850": { include megactl }
54     }
55
56     case $mta {
57         "exim4":   {
58              case getfromhash($nodeinfo, 'heavy_exim') {
59                   true:  { include exim::mx }
60                   default: { include exim }
61              }
62         }
63     }
64
65     case getfromhash($nodeinfo, 'puppetmaster') {
66         true: { include puppetmaster }
67     }
68
69     case getfromhash($nodeinfo, 'muninmaster') {
70         true: { include munin-node::master }
71     }
72
73     case getfromhash($nodeinfo, 'nagiosmaster') {
74         true:    { include nagios::server }
75         default: { include nagios::client }
76     }
77
78     case $apache2 {
79          "true":  {
80               case getfromhash($nodeinfo, 'apache2_security_mirror') {
81                      true:    { include apache2::security_mirror }
82               }
83               case getfromhash($nodeinfo, 'apache2_www_mirror') {
84                      true:    { include apache2::www_mirror }
85               }
86               case getfromhash($nodeinfo, 'apache2_backports_mirror') {
87                      true:    { include apache2::backports_mirror }
88               }
89               case getfromhash($nodeinfo, 'apache2_ftp-upcoming_mirror') {
90                      true:    { include apache2::ftp-upcoming_mirror }
91               }
92               include apache2
93          }
94     }
95
96     case $rsyncd {
97          "true": { include rsyncd-log }
98     }
99
100
101     case getfromhash($nodeinfo, 'buildd') {
102          true:  {
103              include buildd
104          }
105     }
106
107     case $hostname {
108         klecker,ravel,senfl,orff,draghi,diamond: { include named::authoritative }
109         geo1,geo2,geo3:                          { include named::geodns }
110         liszt:                                   { include named::recursor }
111     }
112     case $hostname {
113         franck,master,lobos,samosa,spohr,widor:   { include unbound }
114     }
115     case getfromhash($nodeinfo, 'squeeze') {
116         true:  { include unbound }
117     }
118     include resolv
119
120     case $kernel {
121         Linux: {
122             include ferm
123             include ferm::per-host
124             case $rsyncd {
125                 "true": { include ferm::rsync }
126             }
127         }
128     }
129
130     case $hostname {
131         beethoven,duarte,ravel,spohr,stabile: {
132             include nfs-server
133         }
134     }
135
136     case $brokenhosts {
137         "true":    { include hosts }
138     }
139     case $portforwarder_user_exists {
140         "true":    { include portforwarder }
141     }
142
143     include samhain
144
145     case $hostname {
146         byrd,schuetz,tchaikovsky: {
147             include krb
148         }
149         draghi,quantz: {
150             include krb
151             include afs
152         }
153         lamb,locke,rautavaara,rietz: {
154             include krb
155             include afs::server
156         }
157     }
158
159     case $hostname {
160         chopin,geo3,soler,wieck: {
161             include debian-radvd
162         }
163     }
164
165     case $kernel {
166         Linux: { include entropykey }
167     }
168
169 }
170
171 # vim:set et:
172 # vim:set sts=4 ts=4:
173 # vim:set shiftwidth=4: