]> git.donarmstrong.com Git - dsa-puppet.git/blob - manifests/site.pp
Add a prototype whohosts function for grouping machines at a common
[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     $nodeinfo = nodeinfo($fqdn, "/etc/puppet/modules/debian-org/misc/local.yaml")
18     $hoster   = whohosts($nodeinfo, "/etc/puppet/modules/debian-org/misc/hoster.yaml")
19
20     include munin-node
21     include sudo
22     include ssh
23     include debian-org
24     include monit
25     include apt-keys
26     include ntp
27
28     include motd
29     include samhain
30
31     case $smartarraycontroller {
32         "true":    { include debian-proliant }
33         default: {}
34     }
35
36     case $mta {
37         "exim4":   {
38              case extractnodeinfo($nodeinfo, 'heavy_exim') {
39                   "true":  { include exim::mx }
40                   default: { include exim }
41              }
42         }
43         default:   {}
44     }
45
46
47     case $hostname {
48         spohr: {
49                       include nagios::server
50         }
51         default: {
52                       include nagios::client
53         }
54     }
55
56      case extractnodeinfo($nodeinfo, 'apache2_defaultconfig') {
57           "true":  { include apache2 }
58            default: { }
59      }
60
61      case extractnodeinfo($nodeinfo, 'buildd') {
62           "true":  { include buildd }
63            default: { }
64      }
65      case extractnodeinfo($nodeinfo, 'apache2_security_mirror') {
66           "true":  { include apache2::security_mirror }
67            default: { }
68      }
69
70
71 # maybe wait for rietz to be upgraded to lenny
72     case $hostname {
73         rietz,raff,klecker:
74                    { include named::secondary }
75         default:   {}
76     }
77
78      case $hostname {
79          geo1,geo2,geo3:
80                     {
81                       include named::geodns
82                     }
83          default:   {
84                     }
85      }
86      case $brokenhosts {
87          "true":    { include hosts }
88          default:   {}
89      }
90 }