blob: 7affb9877866457d01747399c990c032fdd92707 [file] [log] [blame]
{%- from "collectd/map.jinja" import client with context %}
{%- if client.enabled %}
include:
- collectd._common
/etc/collectd:
file.directory:
- user: root
- mode: 750
- makedirs: true
- require:
- pkg: collectd_client_packages
{%- set service_grains = {'collectd': {'remote_plugin': {}, 'local_plugin': {}}} %}
{%- for service_name, service in pillar.items() %}
{%- if service.get('_support', {}).get('collectd', {}).get('enabled', False) %}
{%- set grains_fragment_file = service_name+'/meta/collectd.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={'collectd': grains_yaml}) %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- set plugins = service_grains.collectd.get('local_plugin', {}) %}
{%- include "collectd/_service.sls" %}
{%- endif %}