summaryrefslogtreecommitdiff
path: root/manifests/plugins/deploy.pp
blob: 24ac3d346f39160b94c13362954637a70614b8be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
define munin::plugin::deploy ($source = '', $ensure = 'present', $config = '') {
    $plugin_src = $ensure ? {
        'present' => $name,
        'absent' => $name,
        default => $ensure
    }
    $real_source = $source ? {
        ''  =>  "munin/plugins/$plugin_src",
        default => $source
    }
    include munin::plugin::scriptpaths
    file { "munin_plugin_${name}":
            path => "$munin::plugin::scriptpaths::script_path/${name}",
            source => "puppet://$server/$real_source",
            mode => 0755, owner => root, group => 0;
    }

    case $kernel {
        openbsd: { $basic_require = File['/var/run/munin'] }
        default: { $basic_require = Package['munin-node'] }
    }
    if $require {
        File["munin_plugin_${name}"]{
            require => [ $basic_require, $require ],
        }
    } else {
        File["munin_plugin_${name}"]{
            require => $basic_require,
        }
    }
    # register the plugin
    if $require {
        munin::plugin{$name: ensure => $ensure, config => $config, require => $require }
    } else {
        munin::plugin{$name: ensure => $ensure, config => $config }
    }
}