Puppet Class: prometheus::unbound_exporter
- Inherits:
- prometheus
- Defined in:
- manifests/unbound_exporter.pp
Summary
This module manages prometheus unbound exporter.Overview
Note:
The exporter needs to be compiled by hand! (github.com/kumina/unbound_exporter/issues/21)
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'manifests/unbound_exporter.pp', line 58
class prometheus::unbound_exporter (
String $download_extension = '', # lint:ignore:params_empty_string_assignment
Prometheus::Uri $download_url_base = 'https://github.com/kumina/unbound_exporter/releases',
Array[String] $extra_groups = ['unbound'],
String[1] $group = 'unbound-exporter',
String[1] $package_ensure = 'installed',
String[1] $package_name = 'unbound_exporter',
String[1] $user = 'unbound-exporter',
String[1] $version = '0.3',
Boolean $purge_config_dir = true,
Boolean $restart_on_change = true,
Boolean $service_enable = true,
Stdlib::Ensure::Service $service_ensure = 'running',
String[1] $service_name = 'unbound_exporter',
Prometheus::Initstyle $init_style = $prometheus::init_style,
Prometheus::Install $install_method = 'none',
Boolean $manage_group = true,
Boolean $manage_service = true,
Boolean $manage_user = true,
String[1] $os = downcase($facts['kernel']),
Optional[String[1]] $extra_options = undef,
Optional[Prometheus::Uri] $download_url = undef,
String[1] $arch = $prometheus::real_arch,
Stdlib::Absolutepath $bin_dir = '/usr/local/bin',
Boolean $export_scrape_job = false,
Stdlib::Port $scrape_port = 9167,
String[1] $scrape_job_name = 'unbound',
Optional[Hash] $scrape_job_labels = undef,
Optional[String[1]] $bin_name = undef,
Hash $env_vars = { 'GODEBUG' => 'x509ignoreCN=0' },
Optional[String[1]] $proxy_server = undef,
Optional[Enum['none', 'http', 'https', 'ftp']] $proxy_type = undef,
) inherits prometheus {
$real_download_url = pick($download_url,"${download_url_base}/download/${version}/${package_name}-${version}_${os}_${arch}")
$notify_service = $restart_on_change ? {
true => Service[$service_name],
default => undef,
}
prometheus::daemon { $service_name:
install_method => $install_method,
version => $version,
download_extension => $download_extension,
os => $os,
arch => $arch,
real_download_url => $real_download_url,
bin_dir => $bin_dir,
notify_service => $notify_service,
package_name => $package_name,
package_ensure => $package_ensure,
manage_user => $manage_user,
user => $user,
extra_groups => $extra_groups,
group => $group,
manage_group => $manage_group,
purge => $purge_config_dir,
options => $extra_options,
init_style => $init_style,
service_ensure => $service_ensure,
service_enable => $service_enable,
manage_service => $manage_service,
export_scrape_job => $export_scrape_job,
scrape_port => $scrape_port,
scrape_job_name => $scrape_job_name,
scrape_job_labels => $scrape_job_labels,
bin_name => $bin_name,
env_vars => $env_vars,
proxy_server => $proxy_server,
proxy_type => $proxy_type,
}
}
|