1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- # == Class icingaweb2::mod::graphite
- #
- class icingaweb2::mod::graphite (
- $git_repo = 'https://github.com/philiphoy/icingaweb2-module-graphite.git',
- $git_revision = undef,
- $graphite_base_url = 'http://graphite.com/render?',
- $graphite_metric_prefix = undef,
- $service_name_template = undef,
- $host_name_template = undef,
- $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/graphite":
- ensure => directory,
- mode => $::icingaweb2::config_dir_mode;
- "${::icingaweb2::config_dir}/modules/graphite":
- ensure => directory,
- mode => $::icingaweb2::config_dir_mode;
- }
- Ini_Setting {
- ensure => present,
- require => File["${::icingaweb2::config_dir}/modules/graphite"],
- path => "${::icingaweb2::config_dir}/modules/graphite/config.ini",
- }
- ini_setting { 'base_url':
- section => 'graphite',
- setting => 'base_url',
- value => $graphite_base_url,
- }
- if $graphite_metric_prefix {
- ini_setting { 'metric_prefix':
- section => 'graphite',
- setting => 'metric_prefix',
- value => $graphite_metric_prefix,
- }
- }
- if $service_name_template {
- ini_setting { 'service_name_template':
- section => 'graphite',
- setting => 'service_name_template',
- value => $service_name_template,
- }
- }
- if $host_name_template {
- ini_setting { 'host_name_template':
- section => 'graphite',
- setting => 'host_name_template',
- value => $host_name_template,
- }
- }
- if $install_method == 'git' {
- if $pkg_deps {
- package { $pkg_deps:
- ensure => $pkg_ensure,
- before => Vcsrepo['graphite'],
- }
- }
- vcsrepo { 'graphite':
- ensure => latest,
- path => "${web_root}/modules/graphite",
- provider => 'git',
- revision => $git_revision,
- source => $git_repo,
- }
- }
- }
|