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,
force => true,
recurse => true,
source => "puppet:///files/empty/",
+ notify => Exec["ferm restart"],
require => Package["ferm"];
"/etc/ferm":
ensure => directory,
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"];
mode => 0400,
notify => Exec["ferm restart"];
"/etc/logrotate.d/ulogd":
- source => "puppet:///ferm/logrotate-ulogd",
- require => Package["logrotate"],
+ source => "puppet:///modules/ferm/logrotate-ulogd",
+ require => Package["debian.org"],
;
}
$munin_ips: script => "ip_";
}
- case extractnodeinfo($nodeinfo, 'buildd') {
- 'true': {
- file {
- "/etc/ferm/conf.d/load_ftp_conntrack.conf":
- source => "puppet:///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"];
}
}
}