- ferm::rule { "dsa-ssh":
- description => "Allow SSH from DSA",
- rule => "proto tcp mod state state (NEW) dport (ssh) @subchain 'ssh' { saddr (\$SSH_SOURCES) ACCEPT; }"
- }
- ferm::rule { "dsa-ssh-v6":
- description => "Allow SSH from DSA",
- domain => "ip6",
- rule => "proto tcp mod state state (NEW) dport (ssh) @subchain 'ssh' { saddr (\$SSH_V6_SOURCES) ACCEPT; }"
- }
- ferm::rule { "dsa-munin":
- description => "Allow munin from munin master",
- rule => "proto tcp mod state state (NEW) dport (munin) @subchain 'munin' { saddr (\$HOST_MUNIN) ACCEPT; }"
- }
- ferm::rule { "dsa-nagios":
- description => "Allow nrpe from nagios master",
- rule => "proto tcp mod state state (NEW) dport (5666) @subchain 'nagios' { saddr (\$HOST_NAGIOS) ACCEPT; }"
+ # realize (i.e. enable) all @ferm::rule virtual resources
+ Ferm::Rule <| |>
+
+ package {
+ ferm: ensure => installed;
+ ulogd: ensure => installed;
+ }
+
+ file {
+ "/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"];
+ "/etc/logrotate.d/ulogd":
+ source => "puppet:///ferm/logrotate-ulogd",
+ require => Package["logrotate"],
+ ;
+ }
+
+ $munin_ips = split(regsubst($v4ips, '([^,]+)', 'ip_\1', 'G'), ',')
+
+ activate_munin_check {
+ $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"];
+ }