]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - manifests/site.pp
Actually install the bacula client on biber too
[dsa-puppet.git] / manifests / site.pp
index 76e48f6e4fdcd41534c54f9a738c1a5cd29511dc..a382663e76ced2230d4a80d25f572506f0fad569 100644 (file)
 Package {
-    require => File["/etc/apt/apt.conf.d/local-recommends"]
+       require => File['/etc/apt/apt.conf.d/local-recommends']
 }
 
 File {
-    owner   => root,
-    group   => root,
-    mode    => 444,
-    ensure  => file,
+       owner  => root,
+       group  => root,
+       mode   => '0444',
+       ensure => file,
 }
 
 Exec {
-    path => "/usr/bin:/usr/sbin:/bin:/sbin"
+       path => '/usr/bin:/usr/sbin:/bin:/sbin'
+}
+
+Service {
+       hasrestart => true,
+       hasstatus  => true,
 }
 
 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")
-
-    include munin-node
-    include sudo
-    include ssh
-    include debian-org
-    include monit
-    include apt-keys
-    include ntp
-    include ssl
-
-    include motd
-
-    case $hostname {
-        finzi,fano,fasch,field:    { include kfreebsd }
-    }
-
-    case $smartarraycontroller {
-        "true":    { include debian-proliant }
-    }
-    case $kvmdomain {
-        "true":    { package { acpid: ensure => installed } }
-    }
-    case $mptraid {
-        "true":    { include "raidmpt" }
-    }
-
-    case $mta {
-        "exim4":   {
-             case extractnodeinfo($nodeinfo, 'heavy_exim') {
-                  'true':  { include exim::mx }
-                  default: { include exim }
-             }
-        }
-    }
-
-    case extractnodeinfo($nodeinfo, 'muninmaster') {
-        true: { include munin-node::master }
-    }
-
-    case extractnodeinfo($nodeinfo, 'nagiosmaster') {
-        true:    { include nagios::server }
-        default: { include nagios::client }
-    }
-
-    case $apache2 {
-         "true":  {
-              case extractnodeinfo($nodeinfo, 'apache2_security_mirror') {
-                     true:    { include apache2::security_mirror }
-                     default: { include apache2 }
-              }
-         }
-    }
-
-    case extractnodeinfo($nodeinfo, 'buildd') {
-         'true':  {
-             include buildd
-             case $kernel {
-                 Linux: {
-                     include ferm
-                 }
-             }
-         }
-    }
-
-    case $hostname {
-        klecker,ravel,senfl,orff: { include named::secondary }
-        geo1,geo2,geo3:           { include named::geodns }
-        bartok,schein,steffani,ries,franck,liszt:   { include named::recursor }
-    }
-
-    case $hostname {
-        ries,franck,powell,logtest01,geo1,geo2,geo3,bartok,senfl,beethoven,piatti,saens,villa,lobos,raff,gluck,schein,wieck,steffani,ball,handel,tchaikovsky,heininen,nielsen,kokkonen,kaufmann: { include ferm }
-    }
-
-    case $hostname {
-        agricola,albeniz,gabrielli,merulo,paer,pergolesi,pescetti,smetana,sperger,zee,zelenka: { include ferm }
-    }
-    case $hostname {
-        busoni,englund,orff,duarte,grieg,soler,klecker,krenek,liszt,lindberg,master,morricone,respighi,scelsi,valente,vitry,vivaldi,wolkenstein,rietz,unger: { include ferm }
-    }
-
-    case $hostname {
-        ancina,zandonai,zelenka: {
-           @ferm::rule { "dsa-zivit-rrdcollect":
-               description  => "port 6666 for rrdcollect for zivit",
-               rule         => "&SERVICE_RANGE(tcp, 6666, ( 10.130.18.71 ))"
-           }
-           @ferm::rule { "dsa-zivit-zabbix":
-               description  => "port 10050 for zabbix for zivit",
-               rule         => "&SERVICE_RANGE(tcp, 10050, ( 10.130.18.76 ))"
-           }
-          @ferm::rule { "dsa-time":
-                   description     => "Allow time access",
-                   rule            => "&SERVICE_RANGE(tcp, time, \$HOST_NAGIOS_V4)"
-          }
-        }
-        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 ))"
-           }
-        }
-       senfl: {
-          @ferm::rule { "dsa-rsync":
-                   domain          => "(ip ip6)",
-                   description     => "Allow rsync access",
-                   rule            => "&SERVICE(tcp, 873)"
-          }
-        }
-        saens,villa,lobos,raff,gluck,schein,wieck,steffani,ries,rietz,franck,morricone,valente,klecker: {
-           @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)"
-          }
-        }
-        handel: {
-          @ferm::rule { "dsa-puppet":
-                   description     => "Allow puppet access",
-                   rule            => "&SERVICE_RANGE(tcp, 8140, \$HOST_DEBIAN_V4)"
-          }
-          @ferm::rule { "dsa-puppet-v6":
-                   domain          => 'ip6',
-                   description     => "Allow puppet access",
-                   rule            => "&SERVICE_RANGE(tcp, 8140, \$HOST_DEBIAN_V6)"
-          }
-        }
-       powell: {
-          @ferm::rule { "dsa-powell-v6-tunnel":
-                   description     => "Allow powell to use V6 tunnel broker",
-                   rule            => "proto ipv6 saddr 212.227.117.6 jump ACCEPT"
-          }
-          @ferm::rule { "dsa-powell-btseed":
-                    domain          => "(ip ip6)",
-                   description     => "Allow powell to seed BT",
-                   rule            => "proto tcp dport 8000:8100 jump ACCEPT"
-          }
-           @ferm::rule { "dsa-powell-rsync":
-                    description     => "Hoster wants to sync from here, and why not",
-                    rule            => "&SERVICE_RANGE(tcp, rsync, ( 195.20.242.90 192.25.206.33 82.195.75.106 206.12.19.118 ))"
-           }
+       include site
+       include munin
+       include syslog-ng
+       include sudo
+       include ssh
+       include debian-org
+       include monit
+       include ntp
+       include ntpdate
+       include ssl
+       include motd
+       include hardware
+       include nagios::client
+       include resolv
+       include roles
+       include unbound
+
+       if $::hostname in [pasquini,tristano,bertali,boito] {
+               include ganeti2
+       }
+
+       if $::hostname == 'dinis' {
+               include bacula::director
+       }
+
+       if $::hostname in [berlioz, biber] {
+               include bacula::client
+       }
+
+       if $::hostname == 'beethoven' {
+               include bacula::storage
        }
-       beethoven: {
-          @ferm::rule { "dsa-merikanto-beethoven":
-                   description     => "Allow merikanto",  # for nfs, and that uses all kind of ports by default.
-                   rule            => "source 172.22.127.147 interface bond0 jump ACCEPT",
-          }
+
+       if $::kernel == Linux {
+               include linux
+               if $::kvmdomain {
+                       include acpi
+               }
+       } elsif $::kernel == 'GNU/kFreeBSD' {
+               include kfreebsd
+       }
+
+       if $::mta == 'exim4' {
+               if getfromhash($site::nodeinfo, 'heavy_exim') {
+                       include exim::mx
+               } else {
+                       include exim
+               }
+       } elsif $::mta == 'postfix' {
+               include postfix
+       } else {
+               include exim
+       }
+
+       if $::apache2 {
+               include apache2
+       }
+
+       if $::hostname in [ravel,senfl,orff,draghi,diamond] {
+               include named::authoritative
+       } elsif $::hostname in [geo1,geo2,geo3] {
+               include named::geodns
        }
-       heininen: {
-          @ferm::rule { "dsa-syslog":
-                   description     => "Allow syslog access",
-                   rule            => "&SERVICE_RANGE(tcp, 5140, \$HOST_DEBIAN_V4)"
-          }
-          @ferm::rule { "dsa-syslog-v6":
-                   domain          => 'ip6',
-                   description     => "Allow syslog access",
-                   rule            => "&SERVICE_RANGE(tcp, 5140, \$HOST_DEBIAN_V6)"
-          }
-        }
-       kaufmann: {
-           @ferm::rule { "dsa-hkp":
-                   domain          => "(ip ip6)",
-                   description     => "Allow hkp access",
-                   rule            => "&SERVICE(tcp, 11371)"
-           }
-          @ferm::rule { "dsa-rsync":
-                   domain          => "(ip ip6)",
-                   description     => "Allow rsync access",
-                   rule            => "&SERVICE(tcp, 873)"
-          }
+
+       if $::hostname in [diabelli,nono,spohr] {
+               include dacs
+       }
+
+       if $::hostname in [beethoven,duarte,spohr,stabile,beach] {
+               include nfs-server
+       }
+
+       if $::brokenhosts {
+               include hosts
+       }
+
+       if $::portforwarder_user_exists {
+               include portforwarder
+       }
+
+       include samhain
+
+       if $::hostname in [chopin,geo3,soler,wieck] {
+               include debian-org::radvd
+       }
+
+       if ($::postgres84 or $::postgres90) {
+               include postgres
+       }
+
+       if $::spamd {
+               munin::check { 'spamassassin': }
        }
-       liszt: {
-           @ferm::rule { "smtp":
-                   domain          => "(ip ip6)",
-                   description     => "Allow smtp access",
-                   rule            => "&SERVICE(tcp, 25)"
-           }
-        }
-    }
-    case $brokenhosts {
-        "true":    { include hosts }
-    }
-    case $hoster {
-        "ubcece", "darmstadt", "ftcollins", "grnet":  { include resolv }
-    }
-    case $portforwarder_user_exists {
-        "true":    { include portforwarder }
-    }
-    include samhain
 }