Remove wheezy-supporting cruft
[mirror/dsa-puppet.git] / modules / ferm / manifests / init.pp
1 # = Class: ferm
2 #
3 # This class installs ferm and sets up rules
4 #
5 # == Sample Usage:
6 #
7 #   include ferm
8 #
9 class ferm {
10         # realize (i.e. enable) all @ferm::rule virtual resources
11         Ferm::Rule <| |>
12         Ferm::Conf <| |>
13
14         File { mode => '0400' }
15
16         package { 'ferm':
17                 ensure => installed
18         }
19         package { 'ulogd2':
20                 ensure => installed
21         }
22         package { 'ulogd':
23                 # Remove instead of purge ulogd because it deletes log files on purge.
24                 ensure => absent
25         }
26
27         service { 'ferm':
28                 hasstatus   => false,
29                 status      => '/bin/true',
30         }
31
32         $munin_ips = split(regsubst($::v4ips, '([^,]+)', 'ip_\1', 'G'), ',')
33
34         munin::check { $munin_ips: script => 'ip_', }
35
36         if $v6ips {
37                 $munin6_ips = split(regsubst($::v6ips, '([^,]+)', 'ip_\1', 'G'), ',')
38                 munin::ipv6check { $munin6_ips: }
39         }
40
41         # get rid of old stuff
42         $munin6_ip6s = split(regsubst($::v6ips, '([^,]+)', 'ip6_\1', 'G'), ',')
43         munin::check { $munin6_ip6s: ensure => absent }
44
45         file { '/etc/ferm':
46                 ensure  => directory,
47                 notify  => Service['ferm'],
48                 require => Package['ferm'],
49                 mode    => '0755'
50         }
51         file { '/etc/ferm/dsa.d':
52                 ensure => directory,
53                 mode   => '0555',
54                 purge   => true,
55                 force   => true,
56                 recurse => true,
57                 source  => 'puppet:///files/empty/',
58         }
59         file { '/etc/ferm/conf.d':
60                 ensure => directory,
61                 mode   => '0555',
62                 purge   => true,
63                 force   => true,
64                 recurse => true,
65                 source  => 'puppet:///files/empty/',
66         }
67         file { '/etc/default/ferm':
68                 source  => 'puppet:///modules/ferm/ferm.default',
69                 require => Package['ferm'],
70                 notify  => Service['ferm'],
71                 mode    => '0444',
72         }
73         file { '/etc/ferm/ferm.conf':
74                 content => template('ferm/ferm.conf.erb'),
75                 notify  => Service['ferm'],
76         }
77         file { '/etc/ferm/conf.d/00-init.conf':
78                 content => template('ferm/00-init.conf.erb'),
79                 notify  => Service['ferm'],
80         }
81         file { '/etc/ferm/conf.d/me.conf':
82                 content => template('ferm/me.conf.erb'),
83                 notify  => Service['ferm'],
84         }
85         file { '/etc/ferm/conf.d/defs.conf':
86                 content => template('ferm/defs.conf.erb'),
87                 notify  => Service['ferm'],
88         }
89         file { '/etc/ferm/conf.d/interfaces.conf':
90                 content => template('ferm/interfaces.conf.erb'),
91                 notify  => Service['ferm'],
92         }
93         augeas { 'logrotate_ulogd2':
94                 context => '/files/etc/logrotate.d/ulogd2',
95                 changes => [
96                         'set rule/schedule daily',
97                         'set rule/delaycompress delaycompress',
98                         'set rule/rotate 10',
99                         'set rule/ifempty notifempty',
100                 ],
101         }
102         file { '/etc/logrotate.d/ulogd':
103                 ensure  => absent,
104         }
105         file { '/etc/logrotate.d/ulogd.dpkg-bak':
106                 ensure  => absent,
107         }
108         file { '/etc/logrotate.d/ulogd.dpkg-dist':
109                 ensure  => absent,
110         }
111
112 }