diff --git a/files/client/hobbit-plugins_20141201_all.deb b/files/client/hobbit-plugins_20141201_all.deb new file mode 100644 index 0000000..d7b1a98 Binary files /dev/null and b/files/client/hobbit-plugins_20141201_all.deb differ diff --git a/manifests/client.pp b/manifests/client.pp index bc03dff..19b1a8c 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -38,6 +38,11 @@ class xymon::client ( $main_cfg_path = $xymon::params::cli_main_cfg_path, $main_cfg_tpl = $xymon::params::cli_main_cfg_tpl, $list_server = $xymon::params::list_server, + $plugin_download_url = $xymon::params::plugin_download_url, + $plugin_pkg_name = $xymon::params::plugin_pkg_name, + $plugin_pkg_source = $xymon::params::plugin_pkg_source, + $plugin_pkg_ensure = $xymon::params::plugin_pkg_ensure, + $plugin_pkg_provider = $xymon::params::plugin_pkg_provider, ) inherits xymon::params { validate_array($list_server) diff --git a/manifests/client/install.pp b/manifests/client/install.pp index 3c4ce18..60fef68 100644 --- a/manifests/client/install.pp +++ b/manifests/client/install.pp @@ -24,5 +24,28 @@ class xymon::client::install { source => "${xymon::client::download_dir}/${xymon::client::preconfig::pkg_name}", } + ## Plugin package + # Get the Xymon-plugin package + if $xymon::client::plugin_download_url == undef { + file { "${xymon::client::download_dir}/${xymon::client::plugin_pkg_name}": + ensure => $xymon::client::plugin_pkg_ensure, + source => $xymon::client::plugin_pkg_source, + before => Package[$xymon::client::plugin_pkg_name], + } + } else { + # Download the plugin package + exec { 'Download Xymon plugin package': + command => "wget ${xymon::client::plugin_download_url} -O ${xymon::client::plugin_pkg_name}", + cwd => $xymon::client::download_dir, + creates => "${xymon::client::download_dir}/${xymon::client::plugin_pkg_name}", + before => Package[$xymon::client::plugin_pkg_name], + } + } + # Install the package + package { $xymon::client::plugin_pkg_name: + ensure => $xymon::client::plugin_pkg_ensure, + provider => $xymon::client::plugin_pkg_provider, + source => "${xymon::client::download_dir}/${xymon::client::plugin_pkg_name}", + } } # Private class: xymon::client::install diff --git a/manifests/params.pp b/manifests/params.pp index 3646788..f02d7b1 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -25,6 +25,15 @@ class xymon::params { $cli_main_cfg_tpl = 'xymon/client/xymonclient.cfg.erb' $list_server = [ '127.0.0.1' ] + ## Plugin + # Package + $plugin_download_url = undef + $plugin_pkg_name = 'hobbit-plugins' + $plugin_pkg_source = 'puppet:///modules/xymon/client/hobbit-plugins_20141201_all.deb' + $plugin_pkg_ensure = 'present' + $plugin_pkg_provider = 'dpkg' + + } default: { fail('This Puppet module has been tested only on Debian OS family.')