some readability cleanup
[mirror/dsa-puppet.git] / modules / ferm / manifests / init.pp
index 91074a1..2850c4a 100644 (file)
@@ -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,
@@ -26,19 +26,20 @@ class ferm {
             force   => true,
             recurse => true,
             source  => "puppet:///files/empty/",
+            notify  => Exec["ferm restart"],
             require => Package["ferm"];
         "/etc/ferm":
             ensure  => directory,
-            mode    => 0755,
+            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"];
@@ -58,8 +59,8 @@ class ferm {
             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"],
             ;
     }
 
@@ -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:///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"];
             }
         }
     }