]> git.donarmstrong.com Git - dsa-puppet.git/blob - manifests/site.pp
Experimentally enable stunnel between heininen and unger
[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     $allnodeinfo = allnodeinfo("sshRSAHostKey ipHostNumber", "purpose mXRecord")
20     notice( sprintf("hoster for %s is %s", $fqdn, getfromhash($nodeinfo, 'hoster', 'name') ) )
21
22     include munin-node
23     include syslog-ng
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 $hostname {
39         heininen:    {
40             include "stunnel4"
41             stunnel4::stunnel_server {
42                 "ekeyd":
43                     accept => 18888,
44                     connect => "127.0.0.1:8888",
45                     ;
46             }
47         }
48         unger:    {
49             include "stunnel4"
50             stunnel4::stunnel_client {
51                 "ekeyd":
52                     accept => "127.0.0.1:8888",
53                     connecthost => "heininen.debian.org",
54                     connectport => 18888,
55                     ;
56             }
57         }
58     }
59
60     case $smartarraycontroller {
61         "true":    { include debian-proliant }
62     }
63     case $kvmdomain {
64         "true": {
65             package { acpid: ensure => installed }
66             case getfromhash($nodeinfo, 'squeeze') {
67                 true:  { package { acpi-support-base: ensure => installed } }
68             }
69         }
70     }
71     case $mptraid {
72         "true":    { include "raidmpt" }
73     }
74
75     case $mta {
76         "exim4":   {
77              case getfromhash($nodeinfo, 'heavy_exim') {
78                   true:  { include exim::mx }
79                   default: { include exim }
80              }
81         }
82     }
83
84     case getfromhash($nodeinfo, 'puppetmaster') {
85         true: { include puppetmaster }
86     }
87
88     case getfromhash($nodeinfo, 'muninmaster') {
89         true: { include munin-node::master }
90     }
91
92     case getfromhash($nodeinfo, 'nagiosmaster') {
93         true:    { include nagios::server }
94         default: { include nagios::client }
95     }
96
97     case $apache2 {
98          "true":  {
99               case getfromhash($nodeinfo, 'apache2_security_mirror') {
100                      true:    { include apache2::security_mirror }
101               }
102               case getfromhash($nodeinfo, 'apache2_www_mirror') {
103                      true:    { include apache2::www_mirror }
104               }
105               include apache2
106          }
107     }
108
109     case $rsyncd {
110          "true": { include rsyncd-log }
111     }
112
113
114     case getfromhash($nodeinfo, 'buildd') {
115          true:  {
116              include buildd
117          }
118     }
119
120     case $hostname {
121         klecker,ravel,senfl,orff,draghi: { include named::authoritative }
122         geo1,geo2,geo3:                  { include named::geodns }
123         liszt:                           { include named::recursor }
124     }
125     case $hostname {
126         franck,master,lobos,samosa,spohr,widor:   { include unbound }
127     }
128     case getfromhash($nodeinfo, 'squeeze') {
129         true:  { include unbound }
130     }
131     include resolv
132
133     case $kernel {
134         Linux: {
135             include ferm
136             include ferm::per-host
137             case $rsyncd {
138                 "true": { include ferm::rsync }
139             }
140         }
141     }
142
143     case $hostname {
144         beethoven,ravel,spohr,stabile: {
145             include nfs-server
146         }
147     }
148
149     case $brokenhosts {
150         "true":    { include hosts }
151     }
152     case $portforwarder_user_exists {
153         "true":    { include portforwarder }
154     }
155
156     include samhain
157
158     case $hostname {
159         byrd,schuetz,tchaikovsky: {
160             include krb
161         }
162         draghi,quantz: {
163             include krb
164             include afs
165         }
166         lamb,locke,rautavaara,rietz: {
167             include krb
168             include afs::server
169         }
170     }
171
172     case $hostname {
173         chopin,geo3,soler,wieck: {
174             include debian-radvd
175         }
176    }
177 }
178
179 # vim:set et:
180 # vim:set sts=4 ts=4:
181 # vim:set shiftwidth=4: