]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/ferm/manifests/init.pp
oops
[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    => 0600,
8                         content => template("ferm/ferm-rule.erb"),
9                 }
10         }
11
12         package { ferm: ensure => installed }
13
14         file { 
15                 "/etc/ferm/dsa.d": 
16                         ensure => directory,
17                         require => Package["ferm"];
18                 "/etc/ferm/conf.d": 
19                         ensure => directory,
20                         require => Package["ferm"];
21                 "/etc/ferm/conf.d/me.conf":
22                         content => template("ferm/me.conf.erb"),
23                         require => Package["ferm"],
24                         notify  => Exec["ferm restart"];
25         }
26
27         ferm::rule { "dsa-ssh":
28                 description     => "Allow SSH from DSA",
29                 rule            => "proto tcp dport ssh ACCEPT"
30         }
31
32         exec { "ferm restart":
33                 path        => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
34                 refreshonly => true,
35         }
36 }