]> git.donarmstrong.com Git - dsa-puppet.git/blob - manifests/site.pp
Merge branch 'master' of ssh://handel.debian.org/srv/puppet.debian.org/git/dsa-puppet
[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     notice("hoster for ${fqdn} is ${hoster}")
22
23     $mxinfo   = allnodeinfo("mXRecord")
24
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
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 extractnodeinfo($nodeinfo, 'muninmaster') {
52         true: { include munin-node::master }
53     }
54
55     case extractnodeinfo($nodeinfo, 'nagiosmaster') {
56         true:    { include nagios::server }
57         default: { include nagios::client }
58     }
59
60     case $apache2 {
61          "true":  {
62               case extractnodeinfo($nodeinfo, 'apache2_security_mirror') {
63                      true:    { include apache2::security_mirror }
64                      default: { include apache2 }
65               }
66          }
67     }
68
69     case extractnodeinfo($nodeinfo, 'buildd') {
70          true:  { include buildd }
71     }
72
73     case $hostname {
74         klecker,ravel,senfl,orff: { include named::secondary }
75         geo1,geo2,geo3:           { include named::geodns }
76         bartok:                   { include named::recursor }
77     }
78
79     case $hostname {
80         logtest01,geo1,geo2,geo3,bartok: { include ferm }
81     }
82
83     case $brokenhosts {
84         "true":    { include hosts }
85     }
86     case $hoster {
87         "ubcece", "darmstadt", "ftcollins", "grnet":  { include resolv }
88     }
89     case $portforwarder_user_exists {
90         "true":    { include portforwarder }
91     }
92     include samhain
93 }