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