diff --git a/prometheus/archive/install.sls b/prometheus/archive/install.sls index 439b9a3..9187f63 100644 --- a/prometheus/archive/install.sls +++ b/prometheus/archive/install.sls @@ -99,12 +99,14 @@ prometheus-archive-install-{{ name }}-file-directory: - name: {{ p.dir.var }}{{ p.div }}{{ name }} - makedirs: True {%- if grains.os != 'Windows' %} + - mode: '0755' + {%- if p.manage_user_group != false %} - user: {{ name }} - group: {{ name }} - - mode: '0755' - require: - user: prometheus-config-users-install-{{ name }}-user-present - group: prometheus-config-users-install-{{ name }}-group-present + {%- endif %} {%- endif %} {%- if grains.kernel|lower == 'linux' %} @@ -124,8 +126,10 @@ prometheus-archive-install-{{ name }}-managed-service: - context: desc: prometheus - {{ name }} service name: {{ name }} + {%- if p.manage_user_group != false %} user: {{ name }} group: {{ name }} + {%- endif %} env: {{ p.pkg.component[name]['service'].get('env', [])|tojson }} workdir: {{ p.dir.var }}/{{ name }} stop: '' @@ -158,8 +162,10 @@ prometheus-archive-install-{{ name }}-managed-service: {% else %} - file: prometheus-archive-install-{{ name }} {% endif %} + {%- if p.manage_user_group != false %} - user: prometheus-config-users-install-{{ name }}-user-present - group: prometheus-config-users-install-{{ name }}-group-present + {%- endif %} cmd.run: - name: systemctl daemon-reload - onchanges: diff --git a/prometheus/config/file.sls b/prometheus/config/file.sls index ccd3abd..1d27536 100644 --- a/prometheus/config/file.sls +++ b/prometheus/config/file.sls @@ -40,15 +40,19 @@ prometheus-config-file-{{ name }}-file-managed: - template: jinja {%- if grains.os != 'Windows' %} - mode: 644 + {%- if p.manage_user_group != false %} - 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 != false %} - user: prometheus-config-users-install-{{ name }}-user-present - group: prometheus-config-users-install-{{ name }}-group-present + {%- endif %} - watch_in: - service: prometheus-service-running-{{ name }} @@ -78,8 +82,10 @@ prometheus-config-file-{{ ef }}-file-managed: config: {{ p.extra_files[ef]['config'] }} - require: - file: prometheus-config-file-etc-file-directory + {%- if p.manage_user_group != false %} - user: prometheus-config-users-install-{{ component }}-user-present - group: prometheus-config-users-install-{{ component }}-group-present + {%- endif %} - watch_in: - service: prometheus-service-running-{{ component }} diff --git a/prometheus/config/storage.sls b/prometheus/config/storage.sls index 2674106..9c2a663 100644 --- a/prometheus/config/storage.sls +++ b/prometheus/config/storage.sls @@ -24,9 +24,11 @@ prometheus-service-args-{{ name }}-data-dir: - makedirs: True - watch_in: - service: prometheus-service-running-{{ name }} + {%- if p.manage_user_group != false %} - require: - user: prometheus-config-users-install-{{ name }}-user-present - group: prometheus-config-users-install-{{ name }}-group-present + {%- endif %} {%- endif %} {% endif %} diff --git a/prometheus/config/users.sls b/prometheus/config/users.sls index 2938adb..50cb07e 100644 --- a/prometheus/config/users.sls +++ b/prometheus/config/users.sls @@ -4,6 +4,7 @@ {%- set tplroot = tpldir.split('/')[0] %} {%- from tplroot ~ "/map.jinja" import prometheus as p with context %} + {%- if p.manage_user_group != false %} {%- for name in p.wanted.component %} prometheus-config-users-install-{{ name }}-group-present: @@ -29,3 +30,4 @@ prometheus-config-users-install-{{ name }}-user-present: {%- endif %} {%- endfor %} + {%- endif %} diff --git a/prometheus/defaults.yaml b/prometheus/defaults.yaml index 1f2a70a..645822d 100644 --- a/prometheus/defaults.yaml +++ b/prometheus/defaults.yaml @@ -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 diff --git a/prometheus/exporters/node_exporter/textfile_collectors/init.sls b/prometheus/exporters/node_exporter/textfile_collectors/init.sls index 4ea4f71..c1d6649 100644 --- a/prometheus/exporters/node_exporter/textfile_collectors/init.sls +++ b/prometheus/exporters/node_exporter/textfile_collectors/init.sls @@ -22,9 +22,11 @@ prometheus-exporters-{{ name }}-collector-textfile-dir: - group: {{ name }} {%- endif %} - makedirs: True + {%- if p.manage_user_group != false %} - 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() %} diff --git a/prometheus/osfamilymap.yaml b/prometheus/osfamilymap.yaml index 9525d2a..7873c93 100644 --- a/prometheus/osfamilymap.yaml +++ b/prometheus/osfamilymap.yaml @@ -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: diff --git a/prometheus/service/args/install.sls b/prometheus/service/args/install.sls index 71e364e..730b867 100644 --- a/prometheus/service/args/install.sls +++ b/prometheus/service/args/install.sls @@ -30,9 +30,11 @@ prometheus-service-args-{{ name }}-data-dir: - makedirs: True - watch_in: - service: prometheus-service-running-{{ name }} + {%- if p.manage_user_group != false %} - require: - user: prometheus-config-users-install-{{ name }}-user-present - group: prometheus-config-users-install-{{ name }}-group-present + {%- endif %} {%- endif %} {%- if grains.os_family == 'FreeBSD' %}