X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fferm%2Fmanifests%2Finit.pp;h=8d063c87ece32d8a7b9c6e7e74df2d14b0f5391e;hb=1dcae3c99e63e204f5383fb30cbd532b7d09d89e;hp=9eec4b8ee480dd07089e7d7c294e668c1976ad5c;hpb=ced24f26ea3c69f21aa8f9c8c38b43c3ac21d9f4;p=mirror%2Fdsa-puppet.git diff --git a/modules/ferm/manifests/init.pp b/modules/ferm/manifests/init.pp index 9eec4b8ee..8d063c87e 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, @@ -60,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"], ; } @@ -70,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, '([^,]+)', 'ip_\1', 'G'), ',') + activate_munin_check { + $munin6_ips: 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"]; } } }