]> git.donarmstrong.com Git - dsa-puppet.git/blob - manifests/site.pp
make new syslog-ng module
[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     $hoster    = whohosts($nodeinfo, "/etc/puppet/modules/debian-org/misc/hoster.yaml")
20     $keyinfo   = allnodeinfo("sshRSAHostKey", "ipHostNumber")
21     $mxinfo    = allnodeinfo("mXRecord")
22     notice("hoster for ${fqdn} is ${hoster}")
23
24     include munin-node
25     include syslog-ng
26     include sudo
27     include ssh
28     include debian-org
29     include monit
30     include apt-keys
31     include ntp
32     include ssl
33
34     include motd
35
36     case $hostname {
37         finzi,fano,fasch,field:    { include kfreebsd }
38     }
39
40     case $smartarraycontroller {
41         "true":    { include debian-proliant }
42     }
43     case $kvmdomain {
44         "true":    { package { acpid: ensure => installed } }
45     }
46     case $mptraid {
47         "true":    { include "raidmpt" }
48     }
49
50     case $mta {
51         "exim4":   {
52              case extractnodeinfo($nodeinfo, 'heavy_exim') {
53                   'true':  { include exim::mx }
54                   default: { include exim }
55              }
56         }
57     }
58
59     case extractnodeinfo($nodeinfo, 'muninmaster') {
60         true: { include munin-node::master }
61     }
62
63     case extractnodeinfo($nodeinfo, 'nagiosmaster') {
64         true:    { include nagios::server }
65         default: { include nagios::client }
66     }
67
68     case $apache2 {
69          "true":  {
70               case extractnodeinfo($nodeinfo, 'apache2_security_mirror') {
71                      true:    { include apache2::security_mirror }
72                      default: { include apache2 }
73               }
74          }
75     }
76
77     case extractnodeinfo($nodeinfo, 'buildd') {
78          'true':  {
79              include buildd
80          }
81     }
82
83     case $hostname {
84         klecker,ravel,senfl,orff,draghi: { include named::authoritative }
85         geo1,geo2,geo3:                  { include named::geodns }
86         bartok,franck,liszt,master,samosa,schein,spohr,steffani:   { include named::recursor }
87     }
88
89     case $kernel {
90         Linux: {
91             include ferm
92             include ferm::per-host
93         }
94     }
95
96     case $hostname {
97         beethoven,ravel,spohr: {
98             include nfs-server
99         }
100     }
101
102     case $brokenhosts {
103         "true":    { include hosts }
104     }
105     case $hoster {
106         "ubcece", "darmstadt", "ftcollins", "grnet":  { include resolv }
107     }
108     case $portforwarder_user_exists {
109         "true":    { include portforwarder }
110     }
111
112     include samhain
113
114     case $hostname {
115         byrd,schuetz,draghi,lamb,locke,rautavaara:    { include krb }
116     }
117     case $hostname {
118         lamb,locke,rautavaara:    { include afs::server }
119     }
120 }
121
122 # vim:set et:
123 # vim:set sts=4 ts=4:
124 # vim:set shiftwidth=4: