X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fmunin%2Fmanifests%2Finit.pp;h=87ba7488412da9bc8eb6d8081786fe3d7d207e41;hb=9e27d3f0aaa21b93d9d256414dcd6335b07c0f53;hp=1ba4477a02d789e81b57231892f6400915946eb6;hpb=3eb533e5499e66423bafdedaf6c7d08ead1772de;p=mirror%2Fdsa-puppet.git diff --git a/modules/munin/manifests/init.pp b/modules/munin/manifests/init.pp index 1ba4477a0..87ba74884 100644 --- a/modules/munin/manifests/init.pp +++ b/modules/munin/manifests/init.pp @@ -1,43 +1,80 @@ +# our munin class class munin { + package { 'munin-node': + ensure => installed + } - package { 'munin-node': - ensure => installed - } - - service { 'munin-node': - ensure => running, - require => Package['munin-node'], - } - - file { '/etc/munin/munin-node.conf': - content => template('munin/munin-node.conf.erb') - require => Package['munin-node'], - notify => Service['munin-node'], - } - - file { '/etc/munin/plugin-conf.d/munin-node': - content => template('munin/munin-node.plugin.conf.erb'), - require => Package['munin-node'], - notify => Service['munin-node'], - } - - file { [ '/etc/munin/plugins/df', '/etc/munin/plugins/df_abs', '/etc/munin/plugins/df_inode' ]: - source => 'puppet:///modules/munin/df-wrap', - mode => '0555', - require => Package['munin-node'], - notify => Service['munin-node'], - } - - @ferm::rule { 'dsa-munin-v4': - description => 'Allow munin from munin master', - rule => 'proto tcp mod state state (NEW) dport (munin) @subchain 'munin' { saddr (\$HOST_MUNIN_V4 \$HOST_NAGIOS_V4) ACCEPT; }', - notarule => true, - } - - @ferm::rule { 'dsa-munin-v6': - description => 'Allow munin from munin master', - domain => 'ip6', - rule => 'proto tcp mod state state (NEW) dport (munin) @subchain 'munin' { saddr (\$HOST_MUNIN_V6 \$HOST_NAGIOS_V6) ACCEPT; }', - notarule => true, - } + service { 'munin-node': + ensure => running, + require => Package['munin-node'], + } + + file { '/var/log/munin': + ensure => directory, + owner => root, + group => 'www-data', + mode => '0755', + } + + file { '/etc/munin/munin-node.conf': + content => template('munin/munin-node.conf.erb'), + require => Package['munin-node'], + notify => Service['munin-node'], + } + + file { '/etc/munin/plugin-conf.d/munin-node': + content => template('munin/munin-node.plugin.conf.erb'), + require => Package['munin-node'], + notify => Service['munin-node'], + } + + file { '/etc/logrotate.d/munin-node': + source => 'puppet:///modules/munin/logrotate', + require => Package['munin-node'], + } + + file { '/etc/munin/plugins/df': + ensure => link, + target => '/usr/share/munin/plugins/df', + require => Package['munin-node'], + notify => Service['munin-node'], + } + + file { '/etc/munin/plugins/df_abs': + ensure => file, + source => 'puppet:///modules/munin/df-wrap', + mode => '0555', + require => Package['munin-node'], + notify => Service['munin-node'], + } + + file { '/etc/munin/plugins/df_inode': + ensure => link, + target => '/usr/share/munin/plugins/df_inode', + require => Package['munin-node'], + notify => Service['munin-node'], + } + + @@munin::master_per_node { $::fqdn: } + + package { 'munin-async': + ensure => installed + } + service { 'munin-async': + ensure => running, + require => Package['munin-async'], + } + dsa_systemd::override { 'munin-async': + content => @("EOF"), + [Service] + RestartSec=10 + | EOF + } + file { '/etc/ssh/userkeys/munin-async': + ensure => 'absent', + } + ssh::authorized_key_collect { 'munin-async-fetcher': + target_user => 'munin-async', + collect_tag => 'munin::munin-async-fetch', + } }