]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/ferm/manifests/init.pp
some more ferm fixups
[dsa-puppet.git] / modules / ferm / manifests / init.pp
index 0fa60634d3f0004f8d33a099b60b24b212e23418..5f63ea7c1af47174de7ecbb540e141494704ade8 100644 (file)
@@ -10,15 +10,56 @@ class ferm {
                }
        }
 
+        # realize (i.e. enable) all @ferm::rule virtual resources
+        Ferm::Rule <| |>
+
+        package { ferm: ensure => installed }
+
         file { 
-                "/etc/ferm": 
-                        ensure => directory;
-                "/etc/ferm/dsa.d": 
-                        ensure => directory;
+                "/etc/ferm/dsa.d":
+                        ensure => directory,
+                        purge   => true,
+                        force   => true,
+                        recurse => true,
+                        source  => "puppet:///files/empty/",
+                        require => Package["ferm"];
+                "/etc/ferm/conf.d":
+                        ensure => directory,
+                        require => Package["ferm"];
+                "/etc/default/ferm":
+                        source  => "puppet:///ferm/ferm.default",
+                        require => Package["ferm"],
+                        notify  => Exec["ferm restart"];
+                "/etc/ferm/ferm.conf":
+                        source  => "puppet:///ferm/ferm.conf",
+                        require => Package["ferm"],
+                        mode    => 0400,
+                        notify  => Exec["ferm restart"];
+                "/etc/ferm/conf.d/me.conf":
+                        content => template("ferm/me.conf.erb"),
+                        require => Package["ferm"],
+                        mode    => 0400,
+                        notify  => Exec["ferm restart"];
+                "/etc/ferm/conf.d/defs.conf":
+                        content => template("ferm/defs.conf.erb"),
+                        require => Package["ferm"],
+                        mode    => 0400,
+                        notify  => Exec["ferm restart"];
+                "/etc/ferm/conf.d/interfaces.conf":
+                        content => template("ferm/interfaces.conf.erb"),
+                        require => Package["ferm"],
+                        mode    => 0400,
+                        notify  => Exec["ferm restart"];
+        }
+
+        $munin_ips = split(regsubst($v4ips, '([^,]+)', 'ip_\1', 'G'), ',')
+
+        activate_munin_check {
+            $munin_ips: script => "ip_";
         }
 
         exec { "ferm restart":
-                command     => "/bin/true",
+                command     => "/etc/init.d/ferm restart",
                 refreshonly => true,
         }