Skip to content
Open
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
15 changes: 14 additions & 1 deletion prometheus/config/file.sls
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,12 @@ prometheus-config-file-etc-file-directory:

prometheus-config-file-{{ name }}-file-managed:
file.managed:
- name: {{ p.dir.etc }}{{ p.div }}{{ name }}.yml
{%- if 'config_file' in p.pkg.component[name] %}
{%- set config_file = p.pkg.component[name]['config_file'] %}
{%- else %}
{%- set config_file = p.dir.etc ~ p.div ~ name ~ '.yml' %}
{%- endif %}
- name: {{ config_file }}
- source: {{ files_switch(['config.yml.jinja'],
lookup='prometheus-config-file-' ~ name ~ '-file-managed'
)
Expand All @@ -40,15 +45,19 @@ prometheus-config-file-{{ name }}-file-managed:
- template: jinja
{%- if grains.os != 'Windows' %}
- mode: 644
{%- if p.manage_user_group %}
- user: {{ name }}
- group: {{ name }}
{%- endif %}
{%- endif %}
- context:
config: {{ p.pkg.component[name]['config']|json }}
- require:
- file: prometheus-config-file-etc-file-directory
{%- if p.manage_user_group %}
- user: prometheus-config-users-install-{{ name }}-user-present
- group: prometheus-config-users-install-{{ name }}-group-present
{%- endif %}
- watch_in:
- service: prometheus-service-running-{{ name }}

Expand All @@ -71,15 +80,19 @@ prometheus-config-file-{{ ef }}-file-managed:
- template: jinja
{%- if grains.os != 'Windows' %}
- mode: 644
{%- if p.manage_user_group %}
- user: {{ component }}
- group: {{ component }}
{%- endif %}
{%- endif %}
- context:
config: {{ p.extra_files[ef]['config'] }}
- require:
- file: prometheus-config-file-etc-file-directory
{%- if p.manage_user_group %}
- user: prometheus-config-users-install-{{ component }}-user-present
- group: prometheus-config-users-install-{{ component }}-group-present
{%- endif %}
- watch_in:
- service: prometheus-service-running-{{ component }}

Expand Down
2 changes: 2 additions & 0 deletions prometheus/config/storage.sls
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,11 @@ prometheus-service-args-{{ name }}-data-dir:
- makedirs: True
- watch_in:
- service: prometheus-service-running-{{ name }}
{%- if p.manage_user_group %}
- require:
- user: prometheus-config-users-install-{{ name }}-user-present
- group: prometheus-config-users-install-{{ name }}-group-present
{%- endif %}

{%- endif %}
{% endif %}
Expand Down
2 changes: 2 additions & 0 deletions prometheus/config/users.sls
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
{%- set tplroot = tpldir.split('/')[0] %}
{%- from tplroot ~ "/map.jinja" import prometheus as p with context %}

{%- if p.manage_user_group or p.pkg.use_upstream_archive %}
{%- for name in p.wanted.component %}

prometheus-config-users-install-{{ name }}-group-present:
Expand All @@ -29,3 +30,4 @@ prometheus-config-users-install-{{ name }}-user-present:
{%- endif %}

{%- endfor %}
{%- endif %}
2 changes: 2 additions & 0 deletions prometheus/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ prometheus:
tmp: /tmp/prometheus
var: /var/lib/prometheus

manage_user_group: true

pkg:
uri: https://github.com/prometheus
use_upstream_repo: false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,11 @@ prometheus-exporters-{{ name }}-collector-textfile-dir:
- group: {{ name }}
{%- endif %}
- makedirs: True
{%- if p.manage_user_group %}
- require:
- user: prometheus-config-users-install-{{ name }}-user-present
- group: prometheus-config-users-install-{{ name }}-group-present
{%- endif %}
{%- endif %}

{%- for k, v in p.get('exporters', {}).get(name, {}).get('textfile_collectors', {}).items() %}
Expand Down
2 changes: 1 addition & 1 deletion prometheus/files/default/environ.sh.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# File managed by Salt at <{{ source }}>.
# Your changes may be overwritten.
########################################################################
# Set the command-line arguments to pass to the server.%}"
# Set the command-line arguments to pass to the server."
{{ arg_name }}="{{ args }}"


Expand Down
61 changes: 60 additions & 1 deletion prometheus/osfamilymap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,66 @@ RedHat:
sslcacert: /etc/pki/tls/certs/ca-bundle.crt
metadata_expire: 300

Suse: {}
Suse:
manage_user_group: false
pkg:
use_upstream_repo: false
use_upstream_package: false
use_upstream_archive: false
component:
alertmanager:
name: golang-github-prometheus-alertmanager
service:
name: prometheus-alertmanager
environ_file: /etc/sysconfig/prometheus-alertmanager
args:
config.file: /etc/prometheus/alertmanager.yml
config_file: /etc/prometheus/alertmanager.yml
prometheus:
name: golang-github-prometheus-prometheus
service:
name: prometheus
environ_file: /etc/sysconfig/prometheus
environ:
environ_arg_name: ARGS
config_file: /etc/prometheus/prometheus.yml
blackbox_exporter:
name: prometheus-blackbox_exporter
config_file: /etc/prometheus/blackbox.yml
service:
name: prometheus-blackbox_exporter
hacluster_exporter:
name: prometheus-ha_cluster_exporter
environ_file: /etc/sysconfig/prometheus-ha_cluster_exporter
environ:
environ_arg_name: ARGS
service:
name: prometheus-ha_cluster_exporter
node_exporter:
name: golang-github-prometheus-node_exporter
service:
name: prometheus-node_exporter
environ_file: /etc/sysconfig/prometheus-node_exporter
environ:
environ_arg_name: ARGS
postgres_exporter:
name: prometheus-postgres_exporter
service:
name: prometheus-postgres_exporter
environ_file: /etc/sysconfig/prometheus-postgres_exporter
environ:
environ_arg_name: POSTGRES_EXPORTER_PARAMS
saptune_exporter:
name: prometheus-saptune_exporter
service:
name: prometheus-saptune_exporter
webhook_snmp:
name: prometheus-webhook-snmp
service:
name: prometheus-webhook-snmp
environ_file: /etc/default/prometheus-webhook-snmp
environ:
environ_arg_name: PROMETHEUS_WEBHOOK_SNMP_OPTIONS

Gentoo:
pkg:
Expand Down
2 changes: 2 additions & 0 deletions prometheus/service/args/install.sls
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,11 @@ prometheus-service-args-{{ name }}-data-dir:
- makedirs: True
- watch_in:
- service: prometheus-service-running-{{ name }}
{%- if p.manage_user_group %}
- require:
- user: prometheus-config-users-install-{{ name }}-user-present
- group: prometheus-config-users-install-{{ name }}-group-present
{%- endif %}

{%- endif %}
{%- if grains.os_family == 'FreeBSD' %}
Expand Down
8 changes: 7 additions & 1 deletion test/salt/pillar/repo.sls
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ prometheus:
- alertmanager
- node_exporter
- blackbox_exporter
{%- if grains.os == 'SUSE' %}
- hacluster_exporter
- postgres_exporter
- saptune_exporter
- webhook_snmp
{%- endif %}

exporters:
node_exporter:
Expand All @@ -31,7 +37,7 @@ prometheus:

pkg:
# yamllint disable-line rule:braces rule:commas
use_upstream_repo: {{ false if grains.os_family|lower in ('debian',) else true }}
use_upstream_repo: {{ false if grains.os_family|lower in ('debian','suse',) else true }}
use_upstream_archive: false

clientlibs:
Expand Down