3 # This class installs ferm and sets up rules
10 # realize (i.e. enable) all @ferm::rule virtual resources
14 File { mode => '0400' }
23 # Remove instead of purge ulogd because it deletes log files on purge.
29 status => '/bin/true',
32 $munin_ips = getfromhash($site::nodeinfo, 'misc', 'v4addrs')
33 .map |$addr| { "ip_${addr}" }
35 munin::check { $munin_ips: script => 'ip_', }
37 if getfromhash($site::nodeinfo, 'misc', 'v6addrs') {
38 $munin6_ips = getfromhash($site::nodeinfo, 'misc', 'v6addrs')
39 .map |$addr| { "ip_${addr}" }
40 munin::ipv6check { $munin6_ips: }
43 # get rid of old stuff
44 $munin6_ip6s = split(regsubst($::v6ips, '([^,]+)', 'ip6_\1', 'G'), ',')
45 munin::check { $munin6_ip6s: ensure => absent }
49 notify => Service['ferm'],
50 require => Package['ferm'],
53 file { '/etc/ferm/dsa.d':
59 source => 'puppet:///files/empty/',
61 file { '/etc/ferm/conf.d':
67 source => 'puppet:///files/empty/',
69 file { '/etc/default/ferm':
70 source => 'puppet:///modules/ferm/ferm.default',
71 require => Package['ferm'],
72 notify => Service['ferm'],
75 file { '/etc/ferm/ferm.conf':
76 content => template('ferm/ferm.conf.erb'),
77 notify => Service['ferm'],
79 file { '/etc/ferm/conf.d/00-init.conf':
80 content => template('ferm/00-init.conf.erb'),
81 notify => Service['ferm'],
83 file { '/etc/ferm/conf.d/me.conf':
84 content => template('ferm/me.conf.erb'),
85 notify => Service['ferm'],
87 file { '/etc/ferm/conf.d/defs.conf':
88 content => template('ferm/defs.conf.erb'),
89 notify => Service['ferm'],
91 file { '/etc/ferm/conf.d/interfaces.conf':
92 content => template('ferm/interfaces.conf.erb'),
93 notify => Service['ferm'],
95 augeas { 'logrotate_ulogd2':
96 context => '/files/etc/logrotate.d/ulogd2',
98 'set rule/schedule daily',
99 'set rule/delaycompress delaycompress',
100 'set rule/rotate 10',
101 'set rule/ifempty notifempty',
104 file { '/etc/logrotate.d/ulogd':
107 file { '/etc/logrotate.d/ulogd.dpkg-bak':
110 file { '/etc/logrotate.d/ulogd.dpkg-dist':