node default {
$localinfo = yamlinfo('*', "/etc/puppet/modules/debian-org/misc/local.yaml")
$nodeinfo = nodeinfo($fqdn, "/etc/puppet/modules/debian-org/misc/local.yaml")
- $hoster = whohosts($nodeinfo, "/etc/puppet/modules/debian-org/misc/hoster.yaml")
- $keyinfo = allnodeinfo("sshRSAHostKey", "ipHostNumber")
- notice("hoster for ${fqdn} is ${hoster}")
-
- $mxinfo = allnodeinfo("mXRecord")
+ $hosterinfo = whohosts($nodeinfo, "/etc/puppet/modules/debian-org/misc/hoster.yaml")
+ $allnodeinfo = allnodeinfo(["sshRSAHostKey", "ipHostNumber"], ["purpose"])
+ $mxinfo = allnodeinfo("mXRecord")
+ notice("hoster for ${fqdn} is ${hosterinfo}")
include munin-node
+ include syslog-ng
include sudo
include ssh
include debian-org
include monit
include apt-keys
include ntp
+ include ssl
include motd
"true": { include debian-proliant }
}
case $kvmdomain {
- "true": { package { acpid: ensure => installed } }
+ "true": {
+ package { acpid: ensure => installed }
+ case getfromhash($nodeinfo, 'squeeze') {
+ true: { package { acpi-support-base: ensure => installed } }
+ }
+ }
}
case $mptraid {
"true": { include "raidmpt" }
case $mta {
"exim4": {
- case extractnodeinfo($nodeinfo, 'heavy_exim') {
- true: { include exim::mx }
+ case getfromhash($nodeinfo, 'heavy_exim') {
+ true: { include exim::mx }
default: { include exim }
}
}
}
- case extractnodeinfo($nodeinfo, 'muninmaster') {
+ case getfromhash($nodeinfo, 'puppetmaster') {
+ true: { include puppetmaster }
+ }
+
+ case getfromhash($nodeinfo, 'muninmaster') {
true: { include munin-node::master }
}
- case extractnodeinfo($nodeinfo, 'nagiosmaster') {
+ case getfromhash($nodeinfo, 'nagiosmaster') {
true: { include nagios::server }
default: { include nagios::client }
}
case $apache2 {
"true": {
- case extractnodeinfo($nodeinfo, 'apache2_security_mirror') {
+ case getfromhash($nodeinfo, 'apache2_security_mirror') {
true: { include apache2::security_mirror }
- default: { include apache2 }
}
+ case getfromhash($nodeinfo, 'apache2_www_mirror') {
+ true: { include apache2::www_mirror }
+ }
+ include apache2
}
}
- case extractnodeinfo($nodeinfo, 'buildd') {
- true: { include buildd }
+ case $rsyncd {
+ "true": { include rsyncd-log }
}
- case $hostname {
- klecker,ravel,senfl,orff: { include named::secondary }
- geo1,geo2,geo3: { include named::geodns }
- bartok: { include named::recursor }
+
+ case getfromhash($nodeinfo, 'buildd') {
+ true: {
+ include buildd
+ }
}
case $hostname {
- logtest01,geo1,geo2,geo3,bartok,senfl,beethoven,piatti,saens,villa,lobos,raff,gluck: { include ferm }
+ klecker,ravel,senfl,orff,draghi: { include named::authoritative }
+ geo1,geo2,geo3: { include named::geodns }
+ franck,liszt,master,samosa,spohr,widor: { include named::recursor }
}
case $hostname {
- piatti: {
- @ferm::rule { "dsa-udd-stunnel":
- description => "port 8080 for udd stunnel",
- rule => "&SERVICE_RANGE(tcp, http-alt, ( 192.25.206.16 70.103.162.29 217.196.43.134 ))"
- }
+ ries: {
+ include unbound
+ $runs_local_resolver = true
}
- senfl: {
- @ferm::rule { "dsa-rsync":
- domain => "(ip ip6)",
- description => "Allow rsync access",
- rule => "&SERVICE(tcp, 873)"
- }
+ default: {
+ $runs_local_resolver = false
}
- saens,villa,lobos,raff,gluck: {
- @ferm::rule { "dsa-ftp":
- domain => "(ip ip6)",
- description => "Allow ftp access",
- rule => "&SERVICE(tcp, 21)"
- }
- @ferm::rule { "dsa-rsync":
- domain => "(ip ip6)",
- description => "Allow rsync access",
- rule => "&SERVICE(tcp, 873)"
- }
+ }
+ case getfromhash($hosterinfo, 'nameservers') {
+ false: {}
+ default: { include resolv }
+ }
+
+ case $kernel {
+ Linux: {
+ include ferm
+ include ferm::per-host
+ case $rsyncd {
+ "true": { include ferm::rsync }
+ }
}
+ }
+ case $hostname {
+ beethoven,ravel,spohr,stabile: {
+ include nfs-server
+ }
}
+
case $brokenhosts {
"true": { include hosts }
}
- case $hoster {
- "ubcece", "darmstadt", "ftcollins", "grnet": { include resolv }
- }
case $portforwarder_user_exists {
"true": { include portforwarder }
}
+
include samhain
+
+ case $hostname {
+ byrd,schuetz,tchaikovsky: {
+ include krb
+ }
+ draghi,quantz: {
+ include krb
+ include afs
+ }
+ lamb,locke,rautavaara,rietz: {
+ include krb
+ include afs::server
+ }
+ }
+
+ case $hostname {
+ chopin,geo3,soler,wieck: {
+ include debian-radvd
+ }
+ }
}
+
+# vim:set et:
+# vim:set sts=4 ts=4:
+# vim:set shiftwidth=4: