58 lines
2.0 KiB
Puppet
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
|