# -*- coding: utf-8 -*- # vim: ft=sls {#- Get the `tplroot` from `tpldir` #} {%- set tplroot = tpldir.split('/')[0] %} {%- from tplroot ~ "/map.jinja" import prometheus as p with context %} {%- from tplroot ~ "/libtofs.jinja" import files_switch with context %} {%- set sls_archive_install = tplroot ~ '.archive' %} {%- if grains.kernel|lower in ('linux',) and p.linux.altpriority|int > 0 %} include: - {{ sls_archive_install }} {%- for name in p.wanted %} {%- set bundle = name + '-%s.%s-%s'|format(p.pkg[name]['archive_version'], p.kernel, p.arch) %} prometheus-archive-alternatives-install-{{ name }}-home-cmd-run: cmd.run: - onlyif: {{ grains.os_family in ('Suse',) }} - name: update-alternatives --install {{ p.dir.basedir }}/{{ bundle }} prometheus-{{ name }}-home {{ p.dir.basedir }}/{{ bundle }} {{p.linux.altpriority}} - watch: - archive: prometheus-archive-install-{{ name }}-archive-extracted prometheus-archive-alternatives-install-{{ name }}-home-alternatives-install: alternatives.install: - name: prometheus-{{ name }}-home - link: {{ p.dir.basedir }}/{{ name }} - path: {{ p.dir.basedir }}/{{ bundle }} - priority: {{ p.linux.altpriority }} - order: 10 - watch: - archive: prometheus-archive-install-{{ name }}-archive-extracted - onlyif: {{ grains.os_family not in ('Suse',) }} prometheus-archive-alternatives-install-{{ name }}-home-alternatives-set: alternatives.set: - name: prometheus-{{ name }}-home - path: {{ p.dir.basedir }}/{{ bundle }} - require: - cmd: prometheus-archive-alternatives-install-{{ name }}-home-cmd-run - alternatives: prometheus-archive-alternatives-install-{{ name }}-home-alternatives-install - onlyif: {{ grains.os_family not in ('Suse',) }} {% for b in p.pkg[name]['binaries'] %} prometheus-archive-alternatives-install-{{ name }}-alternatives-install-{{ b }}: cmd.run: - onlyif: {{ grains.os_family in ('Suse',) }} - name: update-alternatives --install /usr/local/bin/{{ b }} prometheus-{{ name }}-{{ b }} {{ p.dir.basedir }}/{{ bundle }}/{{ b }} {{ p.linux.altpriority }} - require: - cmd: prometheus-archive-alternatives-install-{{ name }}-home-cmd-run alternatives.install: - name: prometheus-{{ name }}-{{ b }} - link: /usr/local/bin/{{ b }} - path: {{ p.dir.basedir }}/{{ bundle }}/{{ b }} - priority: {{ p.linux.altpriority }} - order: 10 - require: - alternatives: prometheus-archive-alternatives-install-{{ name }}-home-alternatives-install - onlyif: {{ grains.os_family not in ('Suse',) }} prometheus-archive-alternatives-install-{{ name }}-alternatives-set-{{ b }}: alternatives.set: - name: prometheus-{{ name }}-{{ b }} - path: {{ p.dir.basedir }}/{{ bundle }}/{{ b }} - require: - alternatives: prometheus-archive-alternatives-install-{{ name }}-alternatives-install-{{ b }} - onlyif: {{ grains.os_family not in ('Suse',) }} {% endfor %} {% endfor %} {%- endif %}