X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=manifests%2Fsite.pp;h=f57efd2daa95eeba2bb152474211f2fad8f76538;hb=7811a25710eabad9dbc08da2af115b080467b6e1;hp=f915913e387c1dbd8701c32d08160e011c04c706;hpb=a70a7f6207838fdccd07c2d5cf5369a5617d55cd;p=mirror%2Fdsa-puppet.git diff --git a/manifests/site.pp b/manifests/site.pp index f915913e3..f57efd2da 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -1,5 +1,92 @@ +Package { + require => File["/etc/apt/apt.conf.d/local-recommends"] +} + +File { + owner => root, + group => root, + mode => 444, + ensure => file, +} + +Exec { + path => "/usr/bin:/usr/sbin:/bin:/sbin" +} + 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 motd include samhain -} + case $smartarraycontroller { + "true": { include debian-proliant } + } + case $kvmdomain { + "true": { package { acpid: ensure => installed } } + } + + 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 $hostname { + klecker,ravel,senfl,orff: { include named::secondary } + geo1,geo2,geo3: { include named::geodns } + } + + case $hostname { + logtest01,geo1,geo2,geo3: { include ferm } + } + + case $brokenhosts { + "true": { include hosts } + } + case $hoster { + "ubcece", "darmstadt", "ftcollins", "grnet": { include resolv } + } + case $portforwarder_user_exists { + "true": { include portforwarder } + } +}