aboutsummaryrefslogtreecommitdiff
path: root/manifests/base.pp
blob: 406aa80ae4b8d4e63bce5f2dbc64171db5b66be1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
class shorewall::base {
    package { 'shorewall':
        ensure => present,
    }

    # This file has to be managed in place, so shorewall can find it
    file { "/etc/shorewall/shorewall.conf":
      # use OS specific defaults, but use Default if no other is found
      source => [
            "puppet://$server/modules/site-shorewall/${fqdn}/shorewall.conf.$operatingsystem",
            "puppet://$server/modules/site-shorewall/${fqdn}/shorewall.conf",
            "puppet://$server/modules/site-shorewall/shorewall.conf.$operatingsystem.$lsbdistcodename",
            "puppet://$server/modules/site-shorewall/shorewall.conf.$operatingsystem",
            "puppet://$server/modules/site-shorewall/shorewall.conf",
            "puppet://$server/modules/shorewall/shorewall.conf.$operatingsystem.$lsbdistcodename",
            "puppet://$server/modules/shorewall/shorewall.conf.$operatingsystem",
            "puppet://$server/modules/shorewall/shorewall.conf"
        ],
        require => Package[shorewall],
        notify => Service[shorewall],
        owner => root, group => 0, mode => 0644;
    }

    service{shorewall:
        ensure  => running,
        enable  => true,
        hasstatus => true,
        hasrestart => true,
        subscribe => [
            File["/var/lib/puppet/modules/shorewall/zones"],
            File["/var/lib/puppet/modules/shorewall/interfaces"],
            File["/var/lib/puppet/modules/shorewall/hosts"],
            File["/var/lib/puppet/modules/shorewall/policy"],
            File["/var/lib/puppet/modules/shorewall/rules"],
            File["/var/lib/puppet/modules/shorewall/masq"],
            File["/var/lib/puppet/modules/shorewall/proxyarp"],
            File["/var/lib/puppet/modules/shorewall/nat"],
            File["/var/lib/puppet/modules/shorewall/blacklist"],
            File["/var/lib/puppet/modules/shorewall/rfc1918"],
            File["/var/lib/puppet/modules/shorewall/routestopped"],
            File["/var/lib/puppet/modules/shorewall/params"]
        ],
        require => Package[shorewall],
    }
}