]> git.donarmstrong.com Git - dsa-puppet.git/blob - manifests/site.pp
Revert "We use "keyinfo" in all kinda of places. Rename it to something more generic"
[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 sudo
26     include ssh
27     include debian-org
28     include monit
29     include apt-keys
30     include ntp
31     include ssl
32
33     include motd
34
35     case $hostname {
36         finzi,fano,fasch,field:    { include kfreebsd }
37     }
38
39     case $smartarraycontroller {
40         "true":    { include debian-proliant }
41     }
42     case $kvmdomain {
43         "true":    { package { acpid: ensure => installed } }
44     }
45     case $mptraid {
46         "true":    { include "raidmpt" }
47     }
48
49     case $mta {
50         "exim4":   {
51              case extractnodeinfo($nodeinfo, 'heavy_exim') {
52                   'true':  { include exim::mx }
53                   default: { include exim }
54              }
55         }
56     }
57
58     case extractnodeinfo($nodeinfo, 'muninmaster') {
59         true: { include munin-node::master }
60     }
61
62     case extractnodeinfo($nodeinfo, 'nagiosmaster') {
63         true:    { include nagios::server }
64         default: { include nagios::client }
65     }
66
67     case $apache2 {
68          "true":  {
69               case extractnodeinfo($nodeinfo, 'apache2_security_mirror') {
70                      true:    { include apache2::security_mirror }
71                      default: { include apache2 }
72               }
73          }
74     }
75
76     case extractnodeinfo($nodeinfo, 'buildd') {
77          'true':  {
78              include buildd
79          }
80     }
81
82     case $hostname {
83         klecker,ravel,senfl,orff: { include named::secondary }
84         geo1,geo2,geo3:           { include named::geodns }
85         bartok,franck,liszt,master,samosa,schein,spohr,steffani:   { include named::recursor }
86     }
87
88     case $kernel {
89         Linux: {
90             include ferm
91             include ferm::per-host
92         }
93     }
94
95     case $hostname {
96         beethoven,ravel,spohr: {
97             include nfs-server
98         }
99     }
100
101     case $brokenhosts {
102         "true":    { include hosts }
103     }
104     case $hoster {
105         "ubcece", "darmstadt", "ftcollins", "grnet":  { include resolv }
106     }
107     case $portforwarder_user_exists {
108         "true":    { include portforwarder }
109     }
110     include samhain
111 }
112
113 # vim:set et:
114 # vim:set sts=4 ts=4:
115 # vim:set shiftwidth=4: