X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fferm%2Fmanifests%2Finit.pp;h=a8798c82a49654ebf0e68c78d4f61a79f2588f25;hb=1cff95615ab0baf6f5e8f6db3a5611ab0a232256;hp=adf1fc88a16996e030953779abdf48c1c723616d;hpb=37c25196ed4a77a0668117354622e6740659359e;p=mirror%2Fdsa-puppet.git diff --git a/modules/ferm/manifests/init.pp b/modules/ferm/manifests/init.pp index adf1fc88a..a8798c82a 100644 --- a/modules/ferm/manifests/init.pp +++ b/modules/ferm/manifests/init.pp @@ -1,63 +1,37 @@ -# - class ferm { - package { "ferm" : - ensure => installed, + define rule($domain="ip", $chain="INPUT", $rule, $description="", $prio="00") { + file { "/etc/ferm/dsa.d/${prio}_${name}": + ensure => present, + owner => root, + group => root, + mode => 0600, + content => template("ferm/ferm-rule.erb"), + } } - file { "/etc/ferm/dsa.d" : - ensure => directory, - owner => root, - group => root, - mode => 0700, - require => Package["ferm"], - } + package { ferm: ensure => installed } - file { "/etc/ferm/conf.d" : - ensure =>directory, - owner => root, - group => root, - mode => 0700, - require => Package["ferm"], - } + file { + "/etc/ferm/dsa.d": + ensure => directory, + require => Package["ferm"]; + "/etc/ferm/conf.d": + ensure => directory, + require => Package["ferm"]; + "/etc/ferm/conf.d/me.conf": + content => template("ferm/me.conf.erb"), + require => Package["ferm"], + notify => Exec["ferm restart"]; + } - file { "/etc/ferm/ferm.conf" : - ensure => present, - owner => root, - group => root, - mode => 0600, - require => Package["ferm"], - notify => Exec["ferm reload"], - source => "puppet:///ferm/ferm.conf", - } + ferm::rule { "dsa-ssh": + description => "Allow SSH from DSA", + rule => "proto tcp dport ssh ACCEPT" + } - file { "/etc/ferm/defs.conf" : - ensure => present, - owner => root, - group => root, - mode => 0600, - require => Package["ferm"], - notify => Exec["ferm reload"], - source => "puppet:///ferm/defs.conf", - } - - exec { "ferm reload": - path => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin", - refreshonly => true, - } - - # used as, e.g.: - # ferm::rule { "dsa-ssh": - # description => "Allow SSH from DSA", - # rule => "proto tcp dport ssh saddr 1.2.3.4 ACCEPT" - # } - define rule($domain="ip", $chain="INPUT", $rule, $description="", $prio="00") { - file { "/etc/ferm/dsa.d/${prio}_${name}": - ensure => present, - owner => root, - group => root, - mode => 0600, - content => template("ferm/ferm-rule.erb"), - } - } + ferm_rule( + exec { "ferm restart": + path => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin", + refreshonly => true, + } }