736fd0d21bc1bec1cdb19c248b4d4e5dea9de3da
[mirror/dsa-puppet.git] / modules / munin / manifests / init.pp
1 # our munin class
2 class munin {
3   package { 'munin-node':
4     ensure => installed
5   }
6
7   service { 'munin-node':
8     ensure  => running,
9     require => Package['munin-node'],
10   }
11
12   file { '/var/log/munin':
13     ensure => directory,
14     owner  => root,
15     group  => 'www-data',
16     mode   => '0755',
17   }
18
19   file { '/etc/munin/munin-node.conf':
20     content => template('munin/munin-node.conf.erb'),
21     require => Package['munin-node'],
22     notify  => Service['munin-node'],
23   }
24
25   file { '/etc/munin/plugin-conf.d/munin-node':
26     content => template('munin/munin-node.plugin.conf.erb'),
27     require => Package['munin-node'],
28     notify  => Service['munin-node'],
29   }
30
31   file { '/etc/logrotate.d/munin-node':
32     source  => 'puppet:///modules/munin/logrotate',
33     require => Package['munin-node'],
34   }
35
36   file { '/etc/munin/plugins/df':
37     ensure  => link,
38     target  => '/usr/share/munin/plugins/df',
39     require => Package['munin-node'],
40     notify  => Service['munin-node'],
41   }
42
43   file { '/etc/munin/plugins/df_abs':
44     ensure  => file,
45     source  => 'puppet:///modules/munin/df-wrap',
46     mode    => '0555',
47     require => Package['munin-node'],
48     notify  => Service['munin-node'],
49   }
50
51   file { '/etc/munin/plugins/df_inode':
52     ensure  => link,
53     target  => '/usr/share/munin/plugins/df_inode',
54     require => Package['munin-node'],
55     notify  => Service['munin-node'],
56   }
57
58   ferm::rule { 'dsa-munin-v4':
59     description => 'Allow munin from munin master',
60     rule        => 'proto tcp mod state state (NEW) dport (munin) @subchain \'munin\' { saddr ($HOST_MUNIN_V4 $HOST_NAGIOS_V4) ACCEPT; }',
61     notarule    => true,
62   }
63
64   ferm::rule { 'dsa-munin-v6':
65     description => 'Allow munin from munin master',
66     domain      => 'ip6',
67     rule        => 'proto tcp mod state state (NEW) dport (munin) @subchain \'munin\' { saddr ($HOST_MUNIN_V6 $HOST_NAGIOS_V6) ACCEPT; }',
68     notarule    => true,
69   }
70
71   @@munin::master_per_node { $::fqdn: }
72
73   package { 'munin-async':
74     ensure => installed
75   }
76   service { 'munin-async':
77     ensure  => running,
78     require => Package['munin-async'],
79   }
80   dsa_systemd::override { 'munin-async':
81     content  => @("EOF"),
82       [Service]
83       RestartSec=10
84       | EOF
85   }
86   file { '/etc/ssh/userkeys/munin-async':
87     source => 'puppet:///modules/munin/munin-async-authkeys',
88   }
89 }