aboutsummaryrefslogtreecommitdiff
path: root/manifests/base.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/base.pp')
-rw-r--r--manifests/base.pp48
1 files changed, 48 insertions, 0 deletions
diff --git a/manifests/base.pp b/manifests/base.pp
new file mode 100644
index 0000000..58b753e
--- /dev/null
+++ b/manifests/base.pp
@@ -0,0 +1,48 @@
+class shorewall::base {
+ package { 'shorewall':
+ ensure => $shorewall_ensure_version,
+ }
+
+ # 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:///modules/site-shorewall/${fqdn}/shorewall.conf.$operatingsystem",
+ "puppet:///modules/site-shorewall/${fqdn}/shorewall.conf",
+ "puppet:///modules/site-shorewall/shorewall.conf.$operatingsystem.$lsbdistcodename",
+ "puppet:///modules/site-shorewall/shorewall.conf.$operatingsystem",
+ "puppet:///modules/site-shorewall/shorewall.conf",
+ "puppet:///modules/shorewall/shorewall.conf.$operatingsystem.$lsbdistcodename",
+ "puppet:///modules/shorewall/shorewall.conf.$operatingsystem",
+ "puppet:///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"],
+ File["/var/lib/puppet/modules/shorewall/tcdevices"],
+ File["/var/lib/puppet/modules/shorewall/tcrules"],
+ File["/var/lib/puppet/modules/shorewall/tcclasses"],
+ ],
+ require => Package[shorewall],
+ }
+}