]> git.donarmstrong.com Git - dsa-puppet.git/blob - manifests/site.pp
dacs-ify spohr
[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 ntpdate
31     include ssl
32
33     include motd
34
35     case $hostname {
36         finzi,fano,fasch,field:    { include kfreebsd }
37     }
38
39     case $smartarraycontroller {
40         "true":    { include debian-proliant }
41     }
42     case $kvmdomain {
43         "true": {
44             case $debarchitecture {
45                 kfreebsd-amd64,kfreebsd-i386: {
46                 }
47                 default: {
48                     package { acpid: ensure => installed }
49                     case $lsbdistcodename {
50                         'lenny':    { }
51                         default:    { package { acpi-support-base: ensure => installed } }
52                     }
53                 }
54             }
55         }
56     }
57     case $mptraid {
58         "true":    { include "raidmpt" }
59     }
60     case $productname {
61         "PowerEdge 2850": { include megactl }
62     }
63
64     case $mta {
65         "exim4":   {
66              case getfromhash($nodeinfo, 'heavy_exim') {
67                   true:  { include exim::mx }
68                   default: { include exim }
69              }
70         }
71     }
72
73     case getfromhash($nodeinfo, 'puppetmaster') {
74         true: { include puppetmaster }
75     }
76
77     case getfromhash($nodeinfo, 'muninmaster') {
78         true: { include munin-node::master }
79     }
80
81     case getfromhash($nodeinfo, 'nagiosmaster') {
82         true:    { include nagios::server }
83         default: { include nagios::client }
84     }
85
86     case $apache2 {
87          "true":  {
88               case getfromhash($nodeinfo, 'apache2_security_mirror') {
89                      true:    { include apache2::security_mirror }
90               }
91               case getfromhash($nodeinfo, 'apache2_www_mirror') {
92                      true:    { include apache2::www_mirror }
93               }
94               case getfromhash($nodeinfo, 'apache2_backports_mirror') {
95                      true:    { include apache2::backports_mirror }
96               }
97               case getfromhash($nodeinfo, 'apache2_ftp-upcoming_mirror') {
98                      true:    { include apache2::ftp-upcoming_mirror }
99               }
100               include apache2
101          }
102     }
103
104     case $rsyncd {
105          "true": { include rsyncd-log }
106     }
107
108
109     case getfromhash($nodeinfo, 'buildd') {
110          true:  {
111              include buildd
112          }
113     }
114
115     case $hostname {
116         ravel,senfl,orff,draghi,diamond: { include named::authoritative }
117         geo1,geo2,geo3:                          { include named::geodns }
118         liszt:                                   { include named::recursor }
119     }
120     case $hostname {
121         franck,master,lobos,samosa,spohr,widor:   { include unbound }
122     }
123     case $lsbdistcodename {
124         'lenny':    { }
125         default:    { include unbound }
126     }
127     include resolv
128
129     case $kernel {
130         Linux: {
131             include ferm
132             include ferm::per-host
133             case $rsyncd {
134                 "true": { include ferm::rsync }
135             }
136         }
137     }
138
139     case $hostname {
140         diabelli,rossini,spohr: { include dacs }
141     }
142
143     case $hostname {
144         beethoven,duarte,ravel,spohr,stabile: {
145             include nfs-server
146         }
147     }
148
149     case $brokenhosts {
150         "true":    { include hosts }
151     }
152     case $portforwarder_user_exists {
153         "true":    { include portforwarder }
154     }
155
156     include samhain
157
158     case $hostname {
159         byrd,schuetz,tchaikovsky,draghi,quantz,lamb,locke,rautavaara,rietz: {
160             include krb
161         }
162     }
163
164     case $hostname {
165         chopin,geo3,soler,wieck: {
166             include debian-radvd
167         }
168     }
169
170     case $kernel {
171         Linux: { include entropykey }
172     }
173     if $::postgres84 == "true" {
174         include postgres
175     } elsif $::postgres90 == "true" {
176         include postgres
177     }
178 }
179
180 # vim:set et:
181 # vim:set sts=4 ts=4:
182 # vim:set shiftwidth=4: