diff --git a/REFERENCE.md b/REFERENCE.md index 3e275f87..e4d8c85e 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -11613,6 +11613,8 @@ The following parameters are available in the `prometheus::server` class: * [`collect_tag`](#-prometheus--server--collect_tag) * [`max_open_files`](#-prometheus--server--max_open_files) * [`usershell`](#-prometheus--server--usershell) +* [`proxy_server`](#-prometheus--server--proxy_server) +* [`proxy_type`](#-prometheus--server--proxy_type) ##### `configname` @@ -12006,6 +12008,22 @@ Data type: `Stdlib::Absolutepath` Default value: `$prometheus::usershell` +##### `proxy_server` + +Data type: `Optional[String[1]]` + + + +Default value: `$prometheus::proxy_server` + +##### `proxy_type` + +Data type: `Optional[Enum['none', 'http', 'https', 'ftp']]` + + + +Default value: `$prometheus::proxy_type` + ### `prometheus::snmp_exporter` This module manages prometheus snmp_exporter diff --git a/manifests/install.pp b/manifests/install.pp index 0b1ec826..579fdda8 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -25,6 +25,8 @@ creates => "/opt/prometheus-${prometheus::server::version}.${prometheus::server::os}-${prometheus::server::real_arch}/prometheus", cleanup => true, extract_command => $prometheus::extract_command, + proxy_server => $prometheus::server::proxy_server, + proxy_type => $prometheus::server::proxy_type, } -> file { "/opt/prometheus-${prometheus::server::version}.${prometheus::server::os}-${prometheus::server::real_arch}/prometheus": diff --git a/manifests/server.pp b/manifests/server.pp index 98e0f318..28355243 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -49,6 +49,8 @@ Optional[String[1]] $collect_tag = $prometheus::collect_tag, Optional[Integer] $max_open_files = $prometheus::max_open_files, Stdlib::Absolutepath $usershell = $prometheus::usershell, + Optional[String[1]] $proxy_server = $prometheus::proxy_server, + Optional[Enum['none', 'http', 'https', 'ftp']] $proxy_type = $prometheus::proxy_type, ) inherits prometheus { if( versioncmp($version, '1.0.0') == -1 ) { $real_download_url = pick($download_url, diff --git a/spec/classes/prometheus_spec.rb b/spec/classes/prometheus_spec.rb index 2887474a..aedc616d 100644 --- a/spec/classes/prometheus_spec.rb +++ b/spec/classes/prometheus_spec.rb @@ -15,7 +15,7 @@ '/etc/prometheus/prometheus.yaml' end - [{ manage_prometheus_server: true, version: '2.0.0-rc.1', bin_dir: '/usr/local/bin', install_method: 'url', rule_files: ['/etc/prometheus/rules.d/*.rules'] }].each do |parameters| + [{ manage_prometheus_server: true, version: '2.0.0-rc.1', bin_dir: '/usr/local/bin', install_method: 'url', rule_files: ['/etc/prometheus/rules.d/*.rules'], proxy_server: 'proxy.test', proxy_type: 'https' }].each do |parameters| context "with parameters #{parameters}" do let(:params) do parameters @@ -51,7 +51,9 @@ 'source' => "https://github.com/prometheus/prometheus/releases/download/v#{prom_version}/prometheus-#{prom_version}.#{prom_os}-#{prom_arch}.tar.gz", 'checksum_verify' => false, 'creates' => "/opt/prometheus-#{prom_version}.#{prom_os}-#{prom_arch}/prometheus", - 'cleanup' => true + 'cleanup' => true, + 'proxy_server' => 'proxy.test', + 'proxy_type' => 'https' ).that_comes_before("File[/opt/prometheus-#{prom_version}.#{prom_os}-#{prom_arch}/prometheus]") }