Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

init.pp: Add default data from hiera #686

Merged
merged 1 commit into from
Aug 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,8 @@ Data type: `String`

User running prometheus

Default value: `'prometheus'`

##### <a name="-prometheus--manage_group"></a>`manage_group`

Data type: `Boolean`
Expand All @@ -221,6 +223,8 @@ Data type: `String`

Group under which prometheus is running

Default value: `'prometheus'`

##### <a name="-prometheus--bin_dir"></a>`bin_dir`

Data type: `Stdlib::Absolutepath`
Expand All @@ -235,6 +239,8 @@ Data type: `Stdlib::Absolutepath`

Directory where shared files are located

Default value: `'/usr/local/share/prometheus'`

##### <a name="-prometheus--arch"></a>`arch`

Data type: `String[1]`
Expand Down Expand Up @@ -281,36 +287,48 @@ Data type: `Prometheus::Uri`

Base URL for prometheus

Default value: `'https://github.com/prometheus/prometheus/releases'`

##### <a name="-prometheus--download_extension"></a>`download_extension`

Data type: `String`

Extension of Prometheus binaries archive

Default value: `'tar.gz'`

##### <a name="-prometheus--package_name"></a>`package_name`

Data type: `String`

Prometheus package name - not available yet

Default value: `'prometheus'`

##### <a name="-prometheus--package_ensure"></a>`package_ensure`

Data type: `String`

If package, then use this for package ensurel default 'latest'

Default value: `'latest'`

##### <a name="-prometheus--config_dir"></a>`config_dir`

Data type: `String`

Prometheus configuration directory (default /etc/prometheus)

Default value: `'/etc/prometheus'`

##### <a name="-prometheus--localstorage"></a>`localstorage`

Data type: `Stdlib::Absolutepath`

Location of prometheus local storage (storage.local argument)

Default value: `'/var/lib/prometheus'`

##### <a name="-prometheus--extra_options"></a>`extra_options`

Data type: `Optional[String[1]]`
Expand Down Expand Up @@ -341,12 +359,16 @@ Data type: `String`

Configuration template to use (template/prometheus.yaml.erb)

Default value: `'prometheus/prometheus.yaml.erb'`

##### <a name="-prometheus--config_mode"></a>`config_mode`

Data type: `String`

Configuration file mode (default 0660)

Default value: `'0640'`

##### <a name="-prometheus--service_enable"></a>`service_enable`

Data type: `Boolean`
Expand Down Expand Up @@ -403,18 +425,24 @@ Data type: `Hash`

Prometheus global configuration variables

Default value: `{ 'scrape_interval' => '15s', 'evaluation_interval' => '15s', 'external_labels' => { 'monitor' => 'master' } }`

##### <a name="-prometheus--rule_files"></a>`rule_files`

Data type: `Array`

Prometheus rule files

Default value: `[]`

##### <a name="-prometheus--scrape_configs"></a>`scrape_configs`

Data type: `Array`

Prometheus scrape configs

Default value: `[]`

##### <a name="-prometheus--include_default_scrape_configs"></a>`include_default_scrape_configs`

Data type: `Boolean`
Expand All @@ -429,18 +457,24 @@ Data type: `Array`

Prometheus remote_read config to scrape prometheus 1.8+ instances

Default value: `[]`

##### <a name="-prometheus--remote_write_configs"></a>`remote_write_configs`

Data type: `Array`

Prometheus remote_write config to scrape prometheus 1.8+ instances

Default value: `[]`

##### <a name="-prometheus--alerts"></a>`alerts`

Data type: `Variant[Array,Hash]`

alert rules to put in alerts.rules

Default value: `{}`

##### <a name="-prometheus--extra_alerts"></a>`extra_alerts`

Data type: `Hash`
Expand All @@ -455,12 +489,16 @@ Data type: `Array`

Prometheus alert relabel config under alerting

Default value: `[]`

##### <a name="-prometheus--alertmanagers_config"></a>`alertmanagers_config`

Data type: `Array`

Prometheus managers config under alerting

Default value: `[]`

##### <a name="-prometheus--storage_retention"></a>`storage_retention`

Data type: `String`
Expand All @@ -469,6 +507,8 @@ How long to keep timeseries data. This is given as a duration like "100h" or "14
prometheus 1.8.*, only durations understood by golang's time.ParseDuration are supported. Starting
with prometheus 2, durations can also be given in days, weeks and years.

Default value: `'360h'`

##### <a name="-prometheus--external_url"></a>`external_url`

Data type: `Optional[Variant[Stdlib::HTTPUrl, Stdlib::Unixpath, String[1]]]`
Expand Down Expand Up @@ -839,6 +879,8 @@ Data type: `Array`

Extra groups of which the user should be a part

Default value: `[]`

##### <a name="-prometheus--proxy_server"></a>`proxy_server`

Data type: `Optional[String[1]]`
Expand Down Expand Up @@ -867,6 +909,8 @@ Data type: `Boolean`



Default value: `true`

##### <a name="-prometheus--manage_prometheus_server"></a>`manage_prometheus_server`

Data type: `Boolean`
Expand Down
28 changes: 0 additions & 28 deletions data/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ prometheus::pushprox_proxy::package_ensure: 'latest'
prometheus::pushprox_proxy::package_name: 'pushprox_proxy'
prometheus::pushprox_proxy::user: 'pushprox_proxy'
prometheus::pushprox_proxy::version: '0.1.0'
prometheus::alert_relabel_config: []
prometheus::alertmanagers_config: []
prometheus::alertmanager::config_dir: '/etc/alertmanager'
prometheus::alertmanager::manage_config: true
prometheus::alertmanager::config_file: "%{hiera('prometheus::alertmanager::config_dir')}/alertmanager.yaml"
Expand Down Expand Up @@ -57,11 +55,6 @@ prometheus::alertmanager::storage_path: '/var/lib/alertmanager'
prometheus::alertmanager::templates: [ "%{lookup('prometheus::alertmanager::config_dir')}/*.tmpl" ]
prometheus::alertmanager::user: 'alertmanager'
prometheus::alertmanager::version: '0.21.0'
prometheus::alerts: {}
prometheus::config_dir: '/etc/prometheus'
prometheus::config_mode: '0640'
prometheus::config_show_diff: true
prometheus::config_template: 'prometheus/prometheus.yaml.erb'
prometheus::consul_exporter::consul_health_summary: true
prometheus::consul_exporter::consul_server: 'localhost:8500'
prometheus::consul_exporter::download_extension: 'tar.gz'
Expand All @@ -76,8 +69,6 @@ prometheus::consul_exporter::user: 'consul-exporter'
prometheus::consul_exporter::version: '0.7.1'
prometheus::consul_exporter::web_listen_address: ':9107'
prometheus::consul_exporter::web_telemetry_path: '/metrics'
prometheus::download_extension: 'tar.gz'
prometheus::download_url_base: 'https://github.com/prometheus/prometheus/releases'
prometheus::elasticsearch_exporter::cnf_uri: 'http://localhost:9200'
prometheus::elasticsearch_exporter::cnf_timeout: '5s'
prometheus::elasticsearch_exporter::download_extension: 'tar.gz'
Expand All @@ -90,16 +81,6 @@ prometheus::elasticsearch_exporter::service_name: 'elasticsearch_exporter'
prometheus::elasticsearch_exporter::user: 'elasticsearch-exporter'
prometheus::elasticsearch_exporter::version: '1.1.0'
prometheus::elasticsearch_exporter::use_kingpin: true
prometheus::extra_groups: []
prometheus::global_config:
'scrape_interval': '15s'
'evaluation_interval': '15s'
'external_labels':
'monitor': 'master'
prometheus::group: 'prometheus'
prometheus::include_default_scrape_configs: true
prometheus::localstorage: '/var/lib/prometheus'
prometheus::manage_config: true
prometheus::mesos_exporter::server_type: 'master'
prometheus::mesos_exporter::cnf_scrape_uri: 'http://localhost:5050'
prometheus::mesos_exporter::download_extension: 'tar.gz'
Expand Down Expand Up @@ -199,13 +180,6 @@ prometheus::beanstalkd_exporter::user: 'beanstalkd-exporter'
prometheus::beanstalkd_exporter::version: '1.0.5'
prometheus::beanstalkd_exporter::mapping_config: '/etc/beanstalkd-exporter-mapping.conf'
prometheus::beanstalkd_exporter::config: '/etc/beanstalkd-exporter.conf'
prometheus::package_ensure: 'latest'
prometheus::package_name: 'prometheus'
prometheus::rule_files: []
prometheus::scrape_configs: []
prometheus::remote_read_configs: []
prometheus::remote_write_configs: []
prometheus::shared_dir: '/usr/local/share/prometheus'
prometheus::snmp_exporter::config_file: '/etc/snmp-exporter.yaml'
prometheus::snmp_exporter::config_template: ''
prometheus::snmp_exporter::download_extension: 'tar.gz'
Expand All @@ -228,5 +202,3 @@ prometheus::statsd_exporter::package_name: 'statsd_exporter'
prometheus::statsd_exporter::service_name: 'statsd_exporter'
prometheus::statsd_exporter::user: 'statsd-exporter'
prometheus::statsd_exporter::version: '0.17.0'
prometheus::storage_retention: '360h' # 15d; "d" suffix is only supported with prom >= 2.*
prometheus::user: 'prometheus'
44 changes: 22 additions & 22 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -221,29 +221,29 @@
# @param proxy_type
# Optional proxy server type (none|http|https|ftp)
class prometheus (
String $user,
String $group,
Array $extra_groups,
Stdlib::Absolutepath $shared_dir,
Prometheus::Uri $download_url_base,
String $download_extension,
String $package_name,
String $package_ensure,
String $config_dir,
Stdlib::Absolutepath $localstorage,
String $config_template,
String $config_mode,
Hash $global_config,
Array $rule_files,
Array $scrape_configs,
Array $remote_read_configs,
Array $remote_write_configs,
Variant[Array,Hash] $alerts,
Array $alert_relabel_config,
Array $alertmanagers_config,
String $storage_retention,
Stdlib::Absolutepath $env_file_path,
Boolean $manage_config,
Array $extra_groups = [],
Hash $global_config = { 'scrape_interval' => '15s', 'evaluation_interval' => '15s', 'external_labels' => { 'monitor' => 'master' } },
String $package_ensure = 'latest',
String $package_name = 'prometheus',
Array $rule_files = [],
Array $scrape_configs = [],
Array $remote_read_configs = [],
Array $remote_write_configs = [],
Stdlib::Absolutepath $shared_dir = '/usr/local/share/prometheus',
String $storage_retention = '360h',
String $user = 'prometheus',
Prometheus::Uri $download_url_base = 'https://github.com/prometheus/prometheus/releases',
Array $alertmanagers_config = [],
Array $alert_relabel_config = [],
String $download_extension = 'tar.gz',
String $config_template = 'prometheus/prometheus.yaml.erb',
String $config_mode = '0640',
String $config_dir = '/etc/prometheus',
Variant[Array,Hash] $alerts = {},
Boolean $manage_config = true,
String $group = 'prometheus',
Stdlib::Absolutepath $localstorage = '/var/lib/prometheus',
Stdlib::Absolutepath $bin_dir = '/usr/local/bin',
String $version = '2.30.3',
String $install_method = 'url',
Expand Down
Loading