muninmaster has an apache
[mirror/dsa-puppet.git] / modules / munin / manifests / master.pp
1 # munin master node
2 class munin::master {
3   include apache2
4
5   package { 'munin':
6     ensure => installed
7   }
8
9   ssh::keygen { 'munin' : }
10   ssh::authorized_key_add { 'munin-async-fetcher':
11     target_user => 'munin-async',
12     key         => dig($facts, 'ssh_keys_users', 'munin', 'id_rsa.pub', 'line'),
13     command     => '/usr/share/munin/munin-async --spoolfetch',
14     from        => $base::public_addresses,
15     collect_tag => 'munin::munin-async-fetch'
16   }
17
18   file { '/etc/munin/munin.conf':
19     content => template('munin/munin.conf.erb'),
20     require => Package['munin'];
21   }
22
23   ssl::service { 'munin.debian.org':
24     notify => Exec['service apache2 reload'],
25     key    => true,
26   }
27   file { '/etc/munin/munin-conf.d':
28     ensure  => directory,
29     mode    => '0755',
30     purge   => true,
31     force   => true,
32     recurse => true,
33     source  => 'puppet:///files/empty/',
34   }
35
36   Munin::Master_per_node<<| |>>
37
38   file { '/etc/cron.d/puppet-munin-cleanup': ensure => absent; }
39
40   concat::fragment { 'puppet-crontab--munin-master':
41     target => '/etc/cron.d/puppet-crontab',
42     source => 'puppet:///modules/munin/master-cleanup-cron',
43   }
44 }