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