49 lines
1.6 KiB
Django/Jinja
49 lines
1.6 KiB
Django/Jinja
# -*- 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 %}
|