Blob Blame History Raw
/var/spool/prometheus:
  file.directory

/usr/local/libexec/systemd:
  file.directory:
    - mode: '0750'

{%- set roles_map = {
      'base': [
        'postfix-queue-size',
        'zypper',
      ],
    }
%}
{%- set collectors = roles_map['base'] %}
{%- for role in pillar.get('roles', []) %}
{%- if role in roles_map.keys() %}
{%- do collectors.extend(roles_map[role]) %}
{%- endif %}
{%- endfor %}

textfile_files:
  file.managed:
    - names:
        {%- for collector in collectors %}
        {%- set script = collector ~ '-metrics' %}
        - /usr/local/libexec/systemd/{{ script }}.sh:
            - source: salt://{{ slspath }}/files/textfile/scripts/{{ script }}.sh.jinja
            - mode: '0750'
        - /etc/systemd/system/{{ script }}.service:
            - source: salt://{{ slspath }}/files/textfile/systemd/{{ script }}.service.jinja
        - /etc/systemd/system/{{ script }}.timer:
            - source: salt://{{ slspath }}/files/textfile/systemd/{{ script }}.timer.jinja
        {%- endfor %}
    - template: jinja
    - require:
        - file: /usr/local/libexec/systemd

textfile_timers:
  service.running:
    - names:
        {%- for collector in collectors %}
        {%- set script = collector ~ '-metrics' %}
        - {{ script }}.timer:
            - watch:
                - file: /etc/systemd/system/{{ script }}.service
                - file: /etc/systemd/system/{{ script }}.timer
        {%- endfor %}
    - enable: True
    - require:
        - file: /var/spool/prometheus
        - file: /usr/local/libexec/systemd