X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=manifests%2Fsite.pp;h=3cb7b30ba6951ce9e02669782c64bec049d69be8;hb=247d0420a7d4f86809c6c7d49c7ba2b76f9ca8f3;hp=2055338533a5f67d1072416e5dfff5ae05ffd147;hpb=d06eeb85f848f2951494a4904c0afd2d3f29e693;p=dsa-puppet.git diff --git a/manifests/site.pp b/manifests/site.pp index 20553385..5b95b0c6 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -1,159 +1,139 @@ 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") - $allnodeinfo = allnodeinfo("sshRSAHostKey ipHostNumber", "purpose mXRecord") - notice( sprintf("hoster for %s is %s", $fqdn, getfromhash($nodeinfo, 'hoster', 'name') ) ) - - include munin-node - include syslog-ng - 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 getfromhash($nodeinfo, 'squeeze') { - true: { package { acpi-support-base: ensure => installed } } - } - } - } - case $mptraid { - "true": { include "raidmpt" } - } - - case $mta { - "exim4": { - case getfromhash($nodeinfo, 'heavy_exim') { - true: { include exim::mx } - default: { include exim } - } - } - } - - case getfromhash($nodeinfo, 'puppetmaster') { - true: { include puppetmaster } - } - - case getfromhash($nodeinfo, 'muninmaster') { - true: { include munin-node::master } - } - - case getfromhash($nodeinfo, 'nagiosmaster') { - true: { include nagios::server } - default: { include nagios::client } - } - - case $apache2 { - "true": { - case getfromhash($nodeinfo, 'apache2_security_mirror') { - true: { include apache2::security_mirror } - } - case getfromhash($nodeinfo, 'apache2_www_mirror') { - true: { include apache2::www_mirror } - } - include apache2 - } - } - - case $rsyncd { - "true": { include rsyncd-log } - } - - - case getfromhash($nodeinfo, 'buildd') { - true: { - include buildd - } - } - - case $hostname { - klecker,ravel,senfl,orff,draghi: { include named::authoritative } - geo1,geo2,geo3: { include named::geodns } - liszt,widor: { include named::recursor } - } - case $hostname { - franck,master,lobos,ries,samosa,smetana,spohr: { include unbound } - } - case getfromhash($nodeinfo, 'squeeze') { - true: { include unbound } - } - 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 $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 - } - } + include site + include munin + include syslog-ng + include sudo + include ssh + include debian-org + include monit + include ntp + include ntpdate + include ssl + include hardware + include nagios::client + include resolv + include roles + include motd + include unbound + include bacula::client + include autofs + include lvm + include grub + include multipath + if $::lsbdistcodename == squeeze { + include roles::udldap::client + } else { + include roles::pubsub::client + class { 'roles::udldap::client': + ensure => absent + } + } + + if $::hostname in [ubc-bl7,ubc-bl3,ubc-bl2,ubc-bl6,ubc-bl8,ubc-bl4,byrd,clementi,czerny,bm-bl1,bm-bl2,bm-bl3,bm-bl4,bm-bl5,bm-bl6,bm-bl7,bm-bl8,csail-node01,csail-node02,grnet-node01,grnet-node02] { + include ganeti2 + } + + if $::hostname == 'dinis' { + include bacula::director + } else { + package { 'bacula-console': + ensure => purged; + } + + file { '/etc/bacula/bconsole.conf': + ensure => absent; + } + } + + if $::hostname == 'storace' { + include bacula::storage + } + + if $::kernel == Linux { + include linux + 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 { + if !($::hostname in [oyens]) { + include apache2 + } + } + + if $::hostname in [geo1,geo2,geo3] { + include named::geodns + } + + #if $::hostname in [diabelli,nono,tchaikovsky] { + # include dacs + #} + + if $::hostname in [beach,glinka,milanollo,lw01,lw02,lw03,lw04] { + include nfs-server + } + + if $::brokenhosts { + include hosts + } + + if $::portforwarder_user_exists { + include portforwarder + } + + if $::samhain { + include samhain + } + + if $::hostname in [chopin,geo3,wieck] { + include debian-org::radvd + } + + if ($::postgres) { + include postgres + } + + if $::spamd { + munin::check { 'spamassassin': } + } + + if $::hoster { + if $::hoster in [ynic] { + include lldp + } + } } -# vim:set et: -# vim:set sts=4 ts=4: -# vim:set shiftwidth=4: