]> git.donarmstrong.com Git - dsa-puppet.git/blob - manifests/site.pp
fb85a46d4d4701c5c1a1f61740f473f431653e2a
[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     notice("hoster for ${fqdn} is ${hoster}")
21
22     $mxinfo   = allnodeinfo("mXRecord")
23
24     include ferm
25     include munin-node
26     include sudo
27     include ssh
28     include debian-org
29     include monit
30     include apt-keys
31     include ntp
32
33     include motd
34     include samhain
35
36     case $smartarraycontroller {
37         "true":    { include debian-proliant }
38     }
39     case $kvmdomain {
40         "true":    { package { acpid: ensure => installed } }
41     }
42
43     case $mta {
44         "exim4":   {
45              case extractnodeinfo($nodeinfo, 'heavy_exim') {
46                   "true":  { include exim::mx }
47                   default: { include exim }
48              }
49         }
50     }
51
52     case $hostname {
53         spohr: {
54                       include munin-node::master
55         }
56     }
57     case $hostname {
58         tchaikovsky: {
59                       include nagios::server
60         }
61         default: {
62                       include nagios::client
63         }
64     }
65
66     case $apache2 {
67          "true":  {
68               case extractnodeinfo($nodeinfo, 'apache2_security_mirror') {
69                      "true":  { include apache2::security_mirror }
70                      default: { include apache2 }
71               }
72          }
73     }
74
75     case extractnodeinfo($nodeinfo, 'buildd') {
76          "true":  { include buildd }
77     }
78
79     case $hostname {
80         klecker,ravel,senfl,orff: { include named::secondary }
81     }
82
83     case $hostname {
84         logtest01: { include ferm::real }
85     }
86     case $hostname {
87         geo1,geo2,geo3: { include named::geodns }
88     }
89     case $brokenhosts {
90         "true":    { include hosts }
91     }
92     case $hoster {
93         "ubcece", "darmstadt", "ftcollins", "grnet":  { include resolv }
94     }
95 }