set correct labels for munin plugins
[puppet_munin.git] / manifests / plugin / deploy.pp
1 define munin::plugin::deploy($source = '', $ensure = 'present', $config = '') {
2     $plugin_src = $ensure ? {
3         'present' => $name,
4         'absent' => $name,
5         default => $ensure
6     }
7     $real_source = $source ? {
8         ''  =>  "munin/plugins/$plugin_src",
9         default => $source
10     }
11     include munin::plugin::scriptpaths
12     file { "munin_plugin_${name}":
13             path => "$munin::plugin::scriptpaths::script_path/${name}",
14             source => "puppet:///modules/$real_source",
15             mode => 0755, owner => root, group => 0;
16     }
17
18
19     if $::selinux == 'true' {
20       File["munin_plugin_${name}"]{
21         seltype =>  'munin_exec_t',
22       }
23     }
24
25     case $::kernel {
26         openbsd: { $basic_require = File['/var/run/munin'] }
27         default: { $basic_require = Package['munin-node'] }
28     }
29     if $require {
30         File["munin_plugin_${name}"]{
31             require => [ $basic_require, $require ],
32         }
33     } else {
34         File["munin_plugin_${name}"]{
35             require => $basic_require,
36         }
37     }
38     # register the plugin
39     if $require {
40         munin::plugin{$name: ensure => $ensure, config => $config, require => $require }
41     } else {
42         munin::plugin{$name: ensure => $ensure, config => $config }
43     }
44 }