]> git.donarmstrong.com Git - dsa-puppet.git/blob - manifests/site.pp
Install unbound on squeeze, but do not fuzz with resolv.conf because of that. at...
[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
53     case $mta {
54         "exim4":   {
55              case getfromhash($nodeinfo, 'heavy_exim') {
56                   true:  { include exim::mx }
57                   default: { include exim }
58              }
59         }
60     }
61
62     case getfromhash($nodeinfo, 'puppetmaster') {
63         true: { include puppetmaster }
64     }
65
66     case getfromhash($nodeinfo, 'muninmaster') {
67         true: { include munin-node::master }
68     }
69
70     case getfromhash($nodeinfo, 'nagiosmaster') {
71         true:    { include nagios::server }
72         default: { include nagios::client }
73     }
74
75     case $apache2 {
76          "true":  {
77               case getfromhash($nodeinfo, 'apache2_security_mirror') {
78                      true:    { include apache2::security_mirror }
79               }
80               case getfromhash($nodeinfo, 'apache2_www_mirror') {
81                      true:    { include apache2::www_mirror }
82               }
83               include apache2
84          }
85     }
86
87     case $rsyncd {
88          "true": { include rsyncd-log }
89     }
90
91
92     case getfromhash($nodeinfo, 'buildd') {
93          true:  {
94              include buildd
95          }
96     }
97
98     case $hostname {
99         klecker,ravel,senfl,orff,draghi: { include named::authoritative }
100         geo1,geo2,geo3:                  { include named::geodns }
101         liszt,widor:                     { include named::recursor }
102     }
103     case $hostname {
104         franck,master,murphy,ries,samosa,spohr:   {
105             include unbound
106             $runs_local_resolver = true
107         }
108         default: {
109             $runs_local_resolver = false
110         }
111     }
112     case getfromhash($nodeinfo, 'squeeze') {
113         true:  { include unbound }
114     }
115     include resolv
116
117     case $kernel {
118         Linux: {
119             include ferm
120             include ferm::per-host
121             case $rsyncd {
122                 "true": { include ferm::rsync }
123             }
124         }
125     }
126
127     case $hostname {
128         beethoven,ravel,spohr,stabile: {
129             include nfs-server
130         }
131     }
132
133     case $brokenhosts {
134         "true":    { include hosts }
135     }
136     case $portforwarder_user_exists {
137         "true":    { include portforwarder }
138     }
139
140     include samhain
141
142     case $hostname {
143         byrd,schuetz,tchaikovsky: {
144             include krb
145         }
146         draghi,quantz: {
147             include krb
148             include afs
149         }
150         lamb,locke,rautavaara,rietz: {
151             include krb
152             include afs::server
153         }
154     }
155
156     case $hostname {
157         chopin,geo3,soler,wieck: {
158             include debian-radvd
159         }
160    }
161 }
162
163 # vim:set et:
164 # vim:set sts=4 ts=4:
165 # vim:set shiftwidth=4: