prometheus-formula/prometheus/archive/alternatives/install.sls
N ce5b7712c9 refactor(all): align to template-formula; add clientlibs feature
BREAKING CHANGE: The data dictionary is simplified and expanded.
Retest your states and update pillar data accordingly.
For developer convenience, clientlibs states were introduced.
See pillar.example, defaults.yaml, and docs/README.
2020-05-15 11:12:28 +01:00

59 lines
2.2 KiB
Plaintext

# -*- coding: utf-8 -*-
# vim: ft=sls
{%- set tplroot = tpldir.split('/')[0] %}
{%- from tplroot ~ "/map.jinja" import prometheus as p with context %}
{%- if grains.kernel|lower == 'linux' and p.linux.altpriority|int > 0 and grains.os_family != 'Arch' %}
{%- set sls_archive_install = tplroot ~ '.archive.install' %}
include:
- {{ sls_archive_install }}
{%- if 'wanted' in p and p.wanted and 'component' in p.wanted and p.wanted.component %}
{%- for name in p.wanted.component %}
{%- if 'commands' in p.pkg.component[name] and p.pkg.component[name]['commands'] is iterable %}
{%- set dir_symlink = p.dir.symlink ~ '/bin' %}
{%- if 'service' in p.pkg.component[name] %}
{%- set dir_symlink = p.dir.symlink ~ '/sbin' %}
{%- endif %}
{%- for cmd in p.pkg.component[name]['commands'] %}
prometheus-server-alternatives-install-{{ name }}-{{ cmd }}:
cmd.run:
- name: update-alternatives --install {{ dir_symlink }}/{{ cmd }} link-prometheus-{{ name }}-{{ cmd }} {{ p.pkg.component[name]['path'] }}/{{ cmd }} {{ p.linux.altpriority }} # noqa 204
- unless:
- {{ grains.os_family not in ('Suse',) }}
- {{ p.pkg.use_upstream_repo }}
- require:
- sls: {{ sls_archive_install }}
alternatives.install:
- name: link-prometheus-{{ name }}-{{ cmd }}
- link: {{ dir_symlink }}/{{ cmd }}
- path: {{ p.pkg.component[name]['path'] }}/{{ cmd }}
- priority: {{ p.linux.altpriority }}
- order: 10
- require:
- sls: {{ sls_archive_install }}
- unless:
- {{ grains.os_family in ('Suse',) }}
- {{ p.pkg.use_upstream_repo }}
prometheus-server-alternatives-set-{{ name }}-{{ cmd }}:
alternatives.set:
- name: link-prometheus-{{ name }}-{{ cmd }}
- path: {{ p.pkg.component[name]['path'] }}/{{ cmd }}
- require:
- alternatives: prometheus-server-alternatives-install-{{ name }}-{{ cmd }}
- sls: {{ sls_archive_install }}
- unless:
- {{ grains.os_family in ('Suse',) }}
- {{ p.pkg.use_upstream_repo }}
{%- endfor %}
{%- endif %}
{%- endfor %}
{%- endif %}
{%- endif %}