# -*- coding: utf-8 -*- # vim: ft=jinja {#- Get the `tplroot` from `tpldir` #} {%- set tplroot = tpldir.split('/')[0] %} {#- Start imports as #} {%- import_yaml tplroot ~ "/defaults.yaml" as default_settings %} {%- import_yaml tplroot ~ "/osarchmap.yaml" as osarchmap %} {%- import_yaml tplroot ~ "/osfamilymap.yaml" as osfamilymap %} {%- set defaults = salt['grains.filter_by'](default_settings, default='prometheus', merge=salt['grains.filter_by'](osarchmap, grain='osarch', merge=salt['grains.filter_by'](osfamilymap, grain='os_family', merge=salt['pillar.get']('prometheus:lookup', default={}) ) ) ) %} {#- Merge the prometheus pillar #} {%- set prometheus = salt['pillar.get']('prometheus', default=defaults, merge=True) %} {#- Post-processing for specific non-YAML customisations #} {%- if grains.os == 'MacOS' %} {%- set macos_user = salt['cmd.run']("stat -f '%Su' /dev/console") %} {%- set macos_group = salt['cmd.run']("stat -f '%Sg' /dev/console") %} {%- do prometheus.update({'rootuser': macos_user}) %} {%- do prometheus.update({'rootgroup': macos_group}) %} {%- endif %} {#- Contactenate arguments #} {%- macro concat_args(args) %} {%- set args = args|dictsort %} {%- if args|length > 0 %} {%- for k,v in args -%} {%- if not k or not v %}{% continue %}{% endif -%} {%- if v == True -%} --{{ k }} {%- elif v == False -%} --no-{{ k }} {%- else -%} --{{ k }}={{ v }} {%- endif -%} {%- if not loop.last %} {% endif -%} {%- endfor -%} {%- endif -%} {%- endmacro %}