X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fferm%2Fmanifests%2Finit.pp;h=8d063c87ece32d8a7b9c6e7e74df2d14b0f5391e;hb=1dcae3c99e63e204f5383fb30cbd532b7d09d89e;hp=8ce448ec5abcf27bd1cac5bc6069dbffca2ed4e4;hpb=4e2186720c0ae90c5032b68e1f8f7bccfe3ac908;p=mirror%2Fdsa-puppet.git diff --git a/modules/ferm/manifests/init.pp b/modules/ferm/manifests/init.pp index 8ce448ec5..8d063c87e 100644 --- a/modules/ferm/manifests/init.pp +++ b/modules/ferm/manifests/init.pp @@ -1,5 +1,5 @@ class ferm { - define rule($domain="ip", $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, @@ -19,23 +19,27 @@ class ferm { ulogd: ensure => installed; } - file { + file { "/etc/ferm/dsa.d": ensure => directory, purge => true, force => true, recurse => true, source => "puppet:///files/empty/", + notify => Exec["ferm restart"], require => Package["ferm"]; + "/etc/ferm": + ensure => directory, + mode => 0755; "/etc/ferm/conf.d": ensure => directory, require => Package["ferm"]; "/etc/default/ferm": - source => "puppet:///ferm/ferm.default", + source => "puppet:///modules/ferm/ferm.default", require => Package["ferm"], notify => Exec["ferm restart"]; "/etc/ferm/ferm.conf": - source => "puppet:///ferm/ferm.conf", + source => "puppet:///modules/ferm/ferm.conf", require => Package["ferm"], mode => 0400, notify => Exec["ferm restart"]; @@ -54,6 +58,10 @@ class ferm { require => Package["ferm"], mode => 0400, notify => Exec["ferm restart"]; + "/etc/logrotate.d/ulogd": + source => "puppet:///modules/ferm/logrotate-ulogd", + require => Package["debian.org"], + ; } $munin_ips = split(regsubst($v4ips, '([^,]+)', 'ip_\1', 'G'), ',') @@ -62,12 +70,38 @@ class ferm { $munin_ips: script => "ip_"; } + 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"]; } } }