| grain: |
| {%- if pillar.get('prometheus', {}).get('collector') %} |
| {%- from "prometheus/map.jinja" import server as prometheus_server with context %} |
| prometheus: |
| {%- set service_grains = {'prometheus': {'server': {'alert': {}, 'recording': {}, 'target': {}}}} %} |
| {%- for service_name, service in pillar.items() %} |
| {%- if service.get('_support', {}).get('prometheus', {}).get('enabled', False) %} |
| {%- set grains_fragment_file = service_name+'/meta/prometheus.yml' %} |
| {%- macro load_grains_file() %}{% include grains_fragment_file ignore missing %}{% endmacro %} |
| {%- set grains_yaml = load_grains_file()|load_yaml %} |
| {%- if grains_yaml is mapping %} |
| {%- set service_grains = salt['grains.filter_by']({'default': service_grains}, merge={'prometheus': grains_yaml}) %} |
| {%- endif %} |
| {%- endif %} |
| {%- endfor %} |
| {{ service_grains|yaml(False)|indent(4) }} |
| {%- endif %} |
| |
| {#- |
| vim: syntax=jinja |
| -#} |