X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;ds=sidebyside;f=modules%2Fferm%2Fmanifests%2Finit.pp;h=2850c4a96d0d72e09fef08751b4b6400f901efb4;hb=6047b4170980bbcad7f4015c954a9d061b5c4324;hp=d67f8fb65e74dcec106ebb0e845d6cc6f4074438;hpb=d29ac285630ce6574f36c14b08e4de57f74a71f0;p=mirror%2Fdsa-puppet.git diff --git a/modules/ferm/manifests/init.pp b/modules/ferm/manifests/init.pp index d67f8fb65..2850c4a96 100644 --- a/modules/ferm/manifests/init.pp +++ b/modules/ferm/manifests/init.pp @@ -1,5 +1,5 @@ class ferm { - define rule($domain="ip", $table="filter", $chain="INPUT", $rule, $description="", $prio="00") { + define rule($domain="ip", $table="filter", $chain="INPUT", $rule, $description="", $prio="00", $notarule=false) { file { "/etc/ferm/dsa.d/${prio}_${name}": ensure => present, @@ -26,6 +26,7 @@ class ferm { force => true, recurse => true, source => "puppet:///files/empty/", + notify => Exec["ferm restart"], require => Package["ferm"]; "/etc/ferm": ensure => directory, @@ -59,7 +60,7 @@ class ferm { notify => Exec["ferm restart"]; "/etc/logrotate.d/ulogd": source => "puppet:///modules/ferm/logrotate-ulogd", - require => Package["logrotate"], + require => Package["debian.org"], ; } @@ -69,23 +70,38 @@ class ferm { $munin_ips: script => "ip_"; } - case extractnodeinfo($nodeinfo, 'buildd') { - 'true': { - file { - "/etc/ferm/conf.d/load_ftp_conntrack.conf": - source => "puppet:///modules/ferm/conntrack_ftp.conf", - require => Package["ferm"], - notify => Exec["ferm restart"]; - } + define munin_ipv6_plugin() { + file { + "/etc/munin/plugins/$name": + content => "#!/bin/bash\n# This file is under puppet control\n. /usr/share/munin/plugins/ip_\n", + mode => 555, + notify => Exec["munin-node restart"], + ; } } - case $v6ips { 'no': {} default: { - $munin6_ips = split(regsubst($v6ips, '([^,]+)', 'ip6_\1', 'G'), ',') - activate_munin_check { - $munin6_ips: script => "ip6_"; + $munin6_ips = split(regsubst($v6ips, '([^,]+)', 'ip_\1', 'G'), ',') + munin_ipv6_plugin { + $munin6_ips: ; + } + # get rid of old stuff + $munin6_ip6s = split(regsubst($v6ips, '([^,]+)', 'ip6_\1', 'G'), ',') + activate_munin_check { + $munin6_ip6s: ensure => absent; + } + } + } + + + case getfromhash($nodeinfo, 'buildd') { + true: { + file { + "/etc/ferm/conf.d/load_ftp_conntrack.conf": + source => "puppet:///modules/ferm/conntrack_ftp.conf", + require => Package["ferm"], + notify => Exec["ferm restart"]; } } }