{% set node_exporter_enabled = salt['pillar.get']('pmg:node_exporter:enabled', True) %} {% set node_exporter_package = salt['pillar.get']('pmg:node_exporter:package', 'prometheus-node-exporter') %} {% set node_exporter_service = salt['pillar.get']('pmg:node_exporter:service', 'prometheus-node-exporter') %} {% set node_exporter_textfile_dir = salt['pillar.get']('pmg:node_exporter:textfile_directory', '/var/lib/prometheus/node-exporter') %} {% set node_exporter_args = salt['pillar.get']('pmg:node_exporter:args', '--collector.textfile.directory=' ~ node_exporter_textfile_dir) %} {% if node_exporter_enabled %} pmg-node-exporter-package: pkg.installed: - name: {{ node_exporter_package }} pmg-node-exporter-textfile-dir: file.directory: - name: {{ node_exporter_textfile_dir }} - user: root - group: root - mode: "0755" pmg-node-exporter-defaults: file.managed: - name: /etc/default/prometheus-node-exporter - user: root - group: root - mode: "0644" - contents: - "# Managed by Salt." - "ARGS=\"{{ node_exporter_args }}\"" pmg-node-exporter-service: service.running: - name: {{ node_exporter_service }} - enable: true - require: - pkg: pmg-node-exporter-package - file: pmg-node-exporter-textfile-dir - file: pmg-node-exporter-defaults - watch: - file: pmg-node-exporter-defaults {% endif %}