54 lines
1.7 KiB
Plaintext
54 lines
1.7 KiB
Plaintext
{%
|
|
set has_promexporter = salt['pillar.get'](
|
|
'chaos-role',
|
|
default={}
|
|
)
|
|
%}
|
|
{% set orig_prom_path = '/var/lib/prometheus/node-exporter' %}
|
|
# This has to be here, otherwise:
|
|
# https://stackoverflow.com/questions/59268721/saltstack-use-include-twice-in-one-sls-file
|
|
#
|
|
{%- if 'prometheus-node_exporter' in has_promexporter %}
|
|
include:
|
|
- prometheus
|
|
- systemd.reload
|
|
{%- endif %}
|
|
|
|
{%- if 'prometheus-node_exporter' in has_promexporter %}
|
|
systemd-prometheus-node-exporter-service-override:
|
|
file.managed:
|
|
- name: /etc/systemd/system/prometheus-node-exporter.service.d/override.conf
|
|
- user: node_exporter
|
|
- group: node_exporter
|
|
- makedirs: True
|
|
- contents: |
|
|
[Service]
|
|
ExecStartPre=mkdir -p {{ salt['pillar.get']('prometheus:service:node_exporter:args:collector.textfile.directory') }}
|
|
ExecStartPre=chown prometheus:prometheus {{ salt['pillar.get']('prometheus:service:node_exporter:args:collector.textfile.directory') }}
|
|
ExecStartPre=chmod 755 {{ salt['pillar.get']('prometheus:service:node_exporter:args:collector.textfile.directory') }}
|
|
- watch_in:
|
|
- cmd: reload_systemd_configuration
|
|
|
|
{% if salt['file.directory_exists' ](orig_prom_path) %}
|
|
delete-orig-prom-path:
|
|
file.absent:
|
|
- name: {{ orig_prom_path }}
|
|
{% endif %}
|
|
|
|
link-orig-prom-path:
|
|
file.symlink:
|
|
- name: {{ orig_prom_path }}
|
|
- target: {{ salt['pillar.get']('prometheus:service:node_exporter:args:collector.textfile.directory') }}
|
|
- require:
|
|
- file: delete-orig-prom-path
|
|
|
|
{% if grains['oscodename'] != 'bullseye' %}
|
|
patch-smartmon.sh:
|
|
file.managed:
|
|
- name: /usr/share/prometheus-node-exporter/smartmon.sh
|
|
- source: salt://base/packages/prometheus/files/smartmon.sh
|
|
- mode: 0755
|
|
{% endif %}
|
|
|
|
{%- endif %}
|