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