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