]> git.donarmstrong.com Git - dsa-puppet.git/blob - manifests/site.pp
probably break more release dependent things
[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 physicalHost purpose")
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             case $debarchitecture {
44                 kfreebsd-amd64,kfreebsd-i386: {
45                 }
46                 default: {
47                     package { acpid: ensure => installed }
48                     case $lsbdistcodename {
49                         'lenny':    { }
50                         default:    { package { acpi-support-base: ensure => installed } }
51                     }
52                 }
53             }
54         }
55     }
56     case $mptraid {
57         "true":    { include "raidmpt" }
58     }
59     case $productname {
60         "PowerEdge 2850": { include megactl }
61     }
62
63     case $mta {
64         "exim4":   {
65              case getfromhash($nodeinfo, 'heavy_exim') {
66                   true:  { include exim::mx }
67                   default: { include exim }
68              }
69         }
70     }
71
72     case getfromhash($nodeinfo, 'puppetmaster') {
73         true: { include puppetmaster }
74     }
75
76     case getfromhash($nodeinfo, 'muninmaster') {
77         true: { include munin-node::master }
78     }
79
80     case getfromhash($nodeinfo, 'nagiosmaster') {
81         true:    { include nagios::server }
82         default: { include nagios::client }
83     }
84
85     case $apache2 {
86          "true":  {
87               case getfromhash($nodeinfo, 'apache2_security_mirror') {
88                      true:    { include apache2::security_mirror }
89               }
90               case getfromhash($nodeinfo, 'apache2_www_mirror') {
91                      true:    { include apache2::www_mirror }
92               }
93               case getfromhash($nodeinfo, 'apache2_backports_mirror') {
94                      true:    { include apache2::backports_mirror }
95               }
96               case getfromhash($nodeinfo, 'apache2_ftp-upcoming_mirror') {
97                      true:    { include apache2::ftp-upcoming_mirror }
98               }
99               include apache2
100          }
101     }
102
103     case $rsyncd {
104          "true": { include rsyncd-log }
105     }
106
107
108     case getfromhash($nodeinfo, 'buildd') {
109          true:  {
110              include buildd
111          }
112     }
113
114     case $hostname {
115         klecker,ravel,senfl,orff,draghi,diamond: { include named::authoritative }
116         geo1,geo2,geo3:                          { include named::geodns }
117         liszt:                                   { include named::recursor }
118     }
119     case $hostname {
120         franck,master,lobos,samosa,spohr,widor:   { include unbound }
121     }
122     case $lsbdistcodename {
123         'lenny':    { }
124         default:    { include unbound }
125     }
126     include resolv
127
128     case $kernel {
129         Linux: {
130             include ferm
131             include ferm::per-host
132             case $rsyncd {
133                 "true": { include ferm::rsync }
134             }
135         }
136     }
137
138     case $hostname {
139         beethoven,duarte,ravel,spohr,stabile: {
140             include nfs-server
141         }
142     }
143
144     case $brokenhosts {
145         "true":    { include hosts }
146     }
147     case $portforwarder_user_exists {
148         "true":    { include portforwarder }
149     }
150
151     include samhain
152
153     case $hostname {
154         byrd,schuetz,tchaikovsky,draghi,quantz,lamb,locke,rautavaara,rietz: {
155             include krb
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: