]> git.donarmstrong.com Git - dsa-puppet.git/blob - manifests/site.pp
Try to get rid of mxinfo again
[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     $hosterinfo = whohosts($nodeinfo, "/etc/puppet/modules/debian-org/misc/hoster.yaml")
20     $allnodeinfo = allnodeinfo("sshRSAHostKey ipHostNumber", "purpose mXRecord")
21     notice("hoster for ${fqdn} is ${hosterinfo}")
22
23     include munin-node
24     include syslog-ng
25     include sudo
26     include ssh
27     include debian-org
28     include monit
29     include apt-keys
30     include ntp
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             package { acpid: ensure => installed }
45             case getfromhash($nodeinfo, 'squeeze') {
46                 true:  { package { acpi-support-base: ensure => installed } }
47             }
48         }
49     }
50     case $mptraid {
51         "true":    { include "raidmpt" }
52     }
53
54     case $mta {
55         "exim4":   {
56              case getfromhash($nodeinfo, 'heavy_exim') {
57                   true:  { include exim::mx }
58                   default: { include exim }
59              }
60         }
61     }
62
63     case getfromhash($nodeinfo, 'puppetmaster') {
64         true: { include puppetmaster }
65     }
66
67     case getfromhash($nodeinfo, 'muninmaster') {
68         true: { include munin-node::master }
69     }
70
71     case getfromhash($nodeinfo, 'nagiosmaster') {
72         true:    { include nagios::server }
73         default: { include nagios::client }
74     }
75
76     case $apache2 {
77          "true":  {
78               case getfromhash($nodeinfo, 'apache2_security_mirror') {
79                      true:    { include apache2::security_mirror }
80               }
81               case getfromhash($nodeinfo, 'apache2_www_mirror') {
82                      true:    { include apache2::www_mirror }
83               }
84               include apache2
85          }
86     }
87
88     case $rsyncd {
89          "true": { include rsyncd-log }
90     }
91
92
93     case getfromhash($nodeinfo, 'buildd') {
94          true:  {
95              include buildd
96          }
97     }
98
99     case $hostname {
100         klecker,ravel,senfl,orff,draghi: { include named::authoritative }
101         geo1,geo2,geo3:                  { include named::geodns }
102         franck,liszt,master,samosa,spohr,widor:   { include named::recursor }
103     }
104     case $hostname {
105         ries:   {
106             include unbound
107             $runs_local_resolver = true
108         }
109         default: {
110             $runs_local_resolver = false
111         }
112     }
113     case getfromhash($hosterinfo, 'nameservers') {
114         false:      {}
115         default:    { include resolv }
116     }
117
118     case $kernel {
119         Linux: {
120             include ferm
121             include ferm::per-host
122             case $rsyncd {
123                 "true": { include ferm::rsync }
124             }
125         }
126     }
127
128     case $hostname {
129         beethoven,ravel,spohr,stabile: {
130             include nfs-server
131         }
132     }
133
134     case $brokenhosts {
135         "true":    { include hosts }
136     }
137     case $portforwarder_user_exists {
138         "true":    { include portforwarder }
139     }
140
141     include samhain
142
143     case $hostname {
144         byrd,schuetz,tchaikovsky: {
145             include krb
146         }
147         draghi,quantz: {
148             include krb
149             include afs
150         }
151         lamb,locke,rautavaara,rietz: {
152             include krb
153             include afs::server
154         }
155     }
156
157     case $hostname {
158         chopin,geo3,soler,wieck: {
159             include debian-radvd
160         }
161    }
162 }
163
164 # vim:set et:
165 # vim:set sts=4 ts=4:
166 # vim:set shiftwidth=4: