diff --git a/manifests/client.pp b/manifests/client.pp new file mode 100644 index 0000000..88f7383 --- /dev/null +++ b/manifests/client.pp @@ -0,0 +1,32 @@ +# == Class: xymon::client +# +# Manage installation and configuration of Xymon client. +# +# === Parameters +# +# +# === Variables +# +# +# === Examples +# +# class { 'xymon::client': +# } +# +# === Authors +# +# Gardouille +# +# === Copyright +# +# WTFPL +# +class xymon::client ( + $download_dir = $xymon::params::download_dir, + $cli_new_version = $xymon::params::cli_new_version, + $cli_old_version = $xymon::params::cli_old_version, +) inherits xymon::params { + + include '::xymon::client::install' + +} # Public class: xymon::client diff --git a/manifests/client/install.pp b/manifests/client/install.pp new file mode 100644 index 0000000..aa1b3e5 --- /dev/null +++ b/manifests/client/install.pp @@ -0,0 +1,20 @@ +# == Class: xymon::client::install +# +# Install Xymon client +# +class xymon::client::install { + + Exec { + path => [ '/bin', '/sbin', '/usr/bin', '/usr/sbin' ], + logoutput => 'on_failure', + } + + exec { 'Create download directory for Xymon client package': + command => "mkdir -p -- ${xymon::client::download_dir}", + creates => $xymon::client::download_dir, + } + + + + +} # Private class: xymon::client::install diff --git a/manifests/params.pp b/manifests/params.pp new file mode 100644 index 0000000..723ecbb --- /dev/null +++ b/manifests/params.pp @@ -0,0 +1,20 @@ +# == Class: xymon::params +# +class xymon::params { + case $::osfamily { + 'Debian': { + + # Client + $download_dir = '/opt/xymon/packages' + $cli_new_version = '4.3.18' + $cli_old_version = '4.3.17' + + } + default: { + fail('This Puppet module has been tested only on Debian OS family.') + } + + } + + +} # Private class: xymon::params