module-icingaweb2/manifests/mod/nagvis.pp
2015-04-27 10:52:44 +02:00

67 lines
1.6 KiB
Puppet

# == Class icingaweb2::mod::nagvis
#
class icingaweb2::mod::nagvis (
$git_repo = 'https://github.com/divetoh/icingaweb2-module-nagvis.git',
$git_revision = undef,
$nagvis_url = 'http://example.org/nagvis/',
$install_method = 'git',
$pkg_deps = undef,
$pkg_ensure = 'present',
$web_root = $::icingaweb2::params::web_root,
) {
require ::icingaweb2
validate_absolute_path($web_root)
validate_re($install_method,
[
'git',
]
)
File {
require => Class['::icingaweb2::config'],
owner => $::icingaweb2::config_user,
group => $::icingaweb2::config_group,
mode => $::icingaweb2::config_file_mode,
}
file {
"${web_root}/modules/nagvis":
ensure => directory,
mode => $::icingaweb2::config_dir_mode;
"${::icingaweb2::config_dir}/modules/nagvis":
ensure => directory,
mode => $::icingaweb2::config_dir_mode;
}
Ini_Setting {
ensure => present,
require => File["${::icingaweb2::config_dir}/modules/nagvis"],
path => "${::icingaweb2::config_dir}/modules/nagvis/config.ini",
}
ini_setting { 'nagvis_url':
section => 'nagvis',
setting => 'nagvis_url',
value => $nagvis_url,
}
if $install_method == 'git' {
if $pkg_deps {
package { $pkg_deps:
ensure => $pkg_ensure,
before => Vcsrepo['nagvis'],
}
}
vcsrepo { 'nagvis':
ensure => present,
path => "${web_root}/modules/nagvis",
provider => 'git',
revision => $git_revision,
source => $git_repo,
}
}
}