From 90145b15f5869688ef108dd74e91bd5bc78ea246 Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Sun, 20 May 2018 12:30:52 +0200 Subject: [PATCH] migrate server related classes to private scope --- manifests/config.pp | 28 +++++++++++----------------- manifests/install.pp | 8 +++----- manifests/server.pp | 23 +++++++++-------------- 3 files changed, 23 insertions(+), 36 deletions(-) diff --git a/manifests/config.pp b/manifests/config.pp index 1ac1ff7a6..913660dd9 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -1,29 +1,23 @@ # Class prometheus::config # Configuration class for prometheus monitoring system -class prometheus::config ( - Hash $global_config, - Array $rule_files, - Array $scrape_configs, - Array $remote_read_configs, - Array $remote_write_configs, - String $config_template = $prometheus::server::config_template, - String $storage_retention = $prometheus::server::storage_retention, -) { +class prometheus::config { - if $prometheus::init_style { - if( versioncmp($prometheus::version, '2.0.0') < 0 ){ + assert_private() + + if $prometheus::server::init_style { + if( versioncmp($prometheus::server::version, '2.0.0') < 0 ){ # helper variable indicating prometheus version, so we can use on this information in the template $prometheus_v2 = false - if $remote_read_configs != [] { + if $prometheus::server::remote_read_configs != [] { fail('remote_read_configs requires prometheus 2.X') } - if $remote_write_configs != [] { + if $prometheus::server::remote_write_configs != [] { fail('remote_write_configs requires prometheus 2.X') } $daemon_flags = [ "-config.file=${prometheus::server::config_dir}/prometheus.yaml", "-storage.local.path=${prometheus::server::localstorage}", - "-storage.local.retention=${storage_retention}", + "-storage.local.retention=${prometheus::server::storage_retention}", "-web.console.templates=${prometheus::shared_dir}/consoles", "-web.console.libraries=${prometheus::shared_dir}/console_libraries", ] @@ -33,7 +27,7 @@ $daemon_flags = [ "--config.file=${prometheus::server::config_dir}/prometheus.yaml", "--storage.tsdb.path=${prometheus::server::localstorage}", - "--storage.tsdb.retention=${storage_retention}", + "--storage.tsdb.retention=${prometheus::server::storage_retention}", "--web.console.templates=${prometheus::server::shared_dir}/consoles", "--web.console.libraries=${prometheus::server::shared_dir}/console_libraries", ] @@ -41,7 +35,7 @@ # the vast majority of files here are init-files # so any change there should trigger a full service restart - if $prometheus::restart_on_change { + if $prometheus::server::restart_on_change { File { notify => [Class['prometheus::run_service']], } @@ -123,7 +117,7 @@ group => $prometheus::server::group, mode => $prometheus::server::config_mode, notify => Class['prometheus::service_reload'], - content => template($config_template), + content => template($prometheus::server::config_template), validate_cmd => "${prometheus::server::bin_dir}/promtool ${cfg_verify_cmd} %", } diff --git a/manifests/install.pp b/manifests/install.pp index 88d136c69..a8a0a953c 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -3,9 +3,7 @@ # Currently only the install from url is implemented, when Prometheus will deliver packages for some Linux distros I will # implement the package install method as well # The package method needs specific yum or apt repo settings which are not made yet by the module -class prometheus::install ( - Boolean $purge_config_dir = true, -) { +class prometheus::install { assert_private() @@ -89,7 +87,7 @@ ensure => 'directory', owner => $prometheus::server::user, group => $prometheus::server::group, - purge => $purge_config_dir, - recurse => $purge_config_dir, + purge => $prometheus::server::purge_config_dir, + recurse => $prometheus::server::purge_config_dir, } } diff --git a/manifests/server.pp b/manifests/server.pp index e3198315f..e7ad192ac 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -81,18 +81,13 @@ else { $_rule_files = $extra_rule_files } - class { 'prometheus::install': - purge_config_dir => $prometheus::purge_config_dir, - } - -> class { 'prometheus::config': - global_config => $global_config, - rule_files => $_rule_files, - scrape_configs => $scrape_configs, - remote_read_configs => $remote_read_configs, - remote_write_configs => $remote_write_configs, - config_template => $config_template, - storage_retention => $storage_retention, - } - -> class { 'prometheus::run_service': } - -> class { 'prometheus::service_reload': } + contain prometheus::install + contain prometheus::config + contain prometheus::run_service + contain prometheus::service_reload + + Class['prometheus::install'] + -> Class['prometheus::config'] + -> Class['prometheus::run_service'] + -> Class['prometheus::service_reload'] }