]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/ferm/manifests/init.pp
some more ferm fixups
[dsa-puppet.git] / modules / ferm / manifests / init.pp
1 class ferm {
2         define rule($domain="ip", $chain="INPUT", $rule, $description="", $prio="00") {
3                 file { "/etc/ferm/dsa.d/${prio}_${name}":
4                         ensure  => present,
5                         owner   => root,
6                         group   => root,
7                         mode    => 0400,
8                         content => template("ferm/ferm-rule.erb"),
9                         notify  => Exec["ferm restart"],
10                 }
11         }
12
13         # realize (i.e. enable) all @ferm::rule virtual resources
14         Ferm::Rule <| |>
15
16         package { ferm: ensure => installed }
17
18         file { 
19                 "/etc/ferm/dsa.d":
20                         ensure => directory,
21                         purge   => true,
22                         force   => true,
23                         recurse => true,
24                         source  => "puppet:///files/empty/",
25                         require => Package["ferm"];
26                 "/etc/ferm/conf.d":
27                         ensure => directory,
28                         require => Package["ferm"];
29                 "/etc/default/ferm":
30                         source  => "puppet:///ferm/ferm.default",
31                         require => Package["ferm"],
32                         notify  => Exec["ferm restart"];
33                 "/etc/ferm/ferm.conf":
34                         source  => "puppet:///ferm/ferm.conf",
35                         require => Package["ferm"],
36                         mode    => 0400,
37                         notify  => Exec["ferm restart"];
38                 "/etc/ferm/conf.d/me.conf":
39                         content => template("ferm/me.conf.erb"),
40                         require => Package["ferm"],
41                         mode    => 0400,
42                         notify  => Exec["ferm restart"];
43                 "/etc/ferm/conf.d/defs.conf":
44                         content => template("ferm/defs.conf.erb"),
45                         require => Package["ferm"],
46                         mode    => 0400,
47                         notify  => Exec["ferm restart"];
48                 "/etc/ferm/conf.d/interfaces.conf":
49                         content => template("ferm/interfaces.conf.erb"),
50                         require => Package["ferm"],
51                         mode    => 0400,
52                         notify  => Exec["ferm restart"];
53         }
54
55         $munin_ips = split(regsubst($v4ips, '([^,]+)', 'ip_\1', 'G'), ',')
56
57         activate_munin_check {
58             $munin_ips: script => "ip_";
59         }
60
61         exec { "ferm restart":
62                 command     => "/etc/init.d/ferm restart",
63                 refreshonly => true,
64         }
65
66 }