# -*- coding: utf-8 -*- # vim: ft=jinja {## Start with default values from defaults.yaml ##} {% import_yaml 'munin/defaults.yaml' as default_settings %} {## Set OS-specific values for each of the states ##} {% set munin_master_osmap = salt['grains.filter_by']({ 'Arch': { 'cron_service': '/etc/systemd/system/munin-cron.service', 'cron_timer': '/etc/systemd/system/munin-cron.timer', }, 'Gentoo': { 'package': 'net-analyzer/munin', }, 'FreeBSD': { 'package': 'munin-master', 'config': '/usr/local/etc/munin/munin.conf', 'file_group': 'wheel', }, }, grain='os_family', salt['pillar.get']('munin:lookup:munin_master')) %} {% set munin_node_osmap = salt['grains.filter_by']({ 'Arch': { 'plugin_target_dir': '/usr/lib/munin/plugins', }, 'Gentoo': { 'package': 'net-analyzer/munin', 'plugin_target_dir': '/usr/libexec/munin/plugins', }, 'FreeBSD': { 'config': '/usr/local/etc/munin/munin-node.conf', 'plugin_dir': '/usr/local/etc/munin/plugins', 'plugin_target_dir': '/usr/local/share/munin/plugins', 'file_group': 'wheel', }, }, grain='os_family', salt['pillar.get']('munin:lookup:munin_node')) %} {% set net_ssleay_osmap = salt['grains.filter_by']({ 'Debian': { 'package': 'libnet-ssleay-perl', }, 'Arch': { 'package': 'perl-net-ssleay', }, 'Gentoo': { 'package': 'dev-perl/Net-SSLeay', }, }, grain='os_family', salt['pillar.get']('munin:lookup:net_ssleay')) %} {% set munin_tls_osmap = salt['grains.filter_by']({ 'FreeBSD': { 'private_key': '/usr/local/etc/munin/tls/key.pem', 'certificate': '/usr/local/etc/munin/tls/crt.pem', 'ca_certificate': '/usr/local/etc/munin/tls/cacert.pem', }, }, grain='os_family', salt['pillar.get']('munin:lookup:munin_tls')) %} {## Merge osmaps into defaults, then marge in pillar ##} {% set munin_master = default_settings.munin_master.update(munin_master_osmap) %} {% set munin_node = default_settings.munin_node.update(munin_node_osmap) %} {% set net_ssleay = default_settings.net_ssleay.update(net_ssleay_osmap) %} {% set munin_tls = default_settings.munin_tls.update(munin_tls_osmap) %}