xymon/manifests/client/install.pp

58 lines
2.0 KiB
Puppet

# == Class: xymon::client::install
#
# Install Xymon client
#
class xymon::client::install {
Exec {
path => [ '/bin', '/sbin', '/usr/bin', '/usr/sbin' ],
logoutput => 'on_failure',
}
## Package
# Download the latest Xymon client package
exec { 'Download Xymon Client':
command => "wget ${xymon::client::preconfig::dl_url}/${xymon::client::preconfig::pkg_name} -O ${xymon::client::preconfig::pkg_name}",
cwd => $xymon::client::download_dir,
creates => "${xymon::client::download_dir}/${xymon::client::preconfig::pkg_name}",
}
->
# Install Xymon client package
package { 'xymon-client':
ensure => $xymon::client::pkg_ensure,
provider => $xymon::client::pkg_provider,
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}",
require => Package['xymon-client'],
}
->
# Suggests packages
package { $xymon::client::plugin_sug_pkg_name:
ensure => $xymon::client::plugin_pkg_ensure,
}
} # Private class: xymon::client::install