X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=manifests%2Fsite.pp;h=04bf3ba714fffe8509fce3b5eba5e8f9adebdfdb;hb=f79882c1f21927fcbbf8dea49db6a7ffaa8e53e8;hp=3eb7e00f7e0989e7f39a673a537c5daed7a96477;hpb=06b58837a172c84036e6897267f3f96c0923741b;p=mirror%2Fdsa-puppet.git diff --git a/manifests/site.pp b/manifests/site.pp index 3eb7e00f7..04bf3ba71 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -9,47 +9,153 @@ File { 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 samhain + include sudo + include ssh include debian-org + include monit + include apt-keys + include ntp + + include motd + + case $hostname { + finzi,fano,fasch,field: { include kfreebsd } + } case $smartarraycontroller { "true": { include debian-proliant } - default: {} + } + case $kvmdomain { + "true": { package { acpid: ensure => installed } } + } + case $mptraid { + "true": { include "raidmpt" } } case $mta { - "exim4": { include exim } - default: {} + "exim4": { + case extractnodeinfo($nodeinfo, 'heavy_exim') { + 'true': { include exim::mx } + default: { include exim } + } + } } - import "nagios" - include nagios-client + case extractnodeinfo($nodeinfo, 'muninmaster') { + true: { include munin-node::master } + } - case $hostname { - spohr: { - import "nagios" - include nagios-server - } - default: {} + case extractnodeinfo($nodeinfo, 'nagiosmaster') { + true: { include nagios::server } + default: { include nagios::client } } case $apache2 { - "true": { case $hostname { - "carver": { include apache2 } - default: {} - } } - default: {} + "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 + } + } + } } - # test here first case $hostname { - handel,geo1,geo2,geo3,wieck,brahms,bartok,spohr,sperger,carver,rore,malo,peri,penalosa,praetorius,schein,villa,lobos,steffani,kassia,pergolesi,lafayette,rem,albeniz,goetz,smetana,allegri,puccini,ball,argento,arcadelt,dijkstra,schumann,caballero,voltaire,pescetti,mundy,agricola,goedel,lebrun,mayer,mayr,merulo,morales,murphy,paer,saens,schroeder,spontini,widor,zelenka,agnesi,piatti,powell,samosa,gluck,rietz,unger,tartini,mahler,raff,chopin,ravel,ries: { include sudo } - default: {} + klecker,ravel,senfl,orff: { include named::secondary } + geo1,geo2,geo3: { include named::geodns } + bartok,schein,steffani: { include named::recursor } } -} -node penalosa inherits default { - include hosts + case $hostname { + logtest01,geo1,geo2,geo3,bartok,senfl,beethoven,piatti,saens,villa,lobos,raff,gluck,schein,wieck,steffani,ball,handel,tchaikovsky: { include ferm } + } + case $hostname { + 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 ))" + } + } + 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: { + @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)" + } + } + ancina,zelenka: { + @ferm::rule { "dsa-time": + description => "Allow time access", + rule => "&SERVICE_RANGE(tcp, time, \$HOST_NAGIOS_V4)" + } + } + 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)" + } + } + + } + case $brokenhosts { + "true": { include hosts } + } + case $hoster { + "ubcece", "darmstadt", "ftcollins", "grnet": { include resolv } + } + case $portforwarder_user_exists { + "true": { include portforwarder } + } + include samhain }