diff --git a/logrotate/config.sls b/logrotate/config.sls index b24165f..e509c6b 100644 --- a/logrotate/config.sls +++ b/logrotate/config.sls @@ -11,6 +11,8 @@ logrotate-config: - user: {{ salt['pillar.get']('logrotate:config:user', logrotate.user) }} - group: {{ salt['pillar.get']('logrotate:config:group', logrotate.group) }} - mode: {{ salt['pillar.get']('logrotate:config:mode', '644') }} + - context: + logrotate: {{ logrotate|tojson }} logrotate-directory: file.directory: diff --git a/logrotate/map.jinja b/logrotate/map.jinja index 9c76dc0..5b80915 100644 --- a/logrotate/map.jinja +++ b/logrotate/map.jinja @@ -1,25 +1,28 @@ # -*- coding: utf-8 -*- # vim: ft=jinja -{% import_yaml 'logrotate/defaults.yaml' as default_settings %} -{% import_yaml "logrotate/osfamilymap.yaml" as os_family_map %} -{% import_yaml "logrotate/osmap.yaml" as os_map %} +{%- import_yaml "logrotate/defaults.yaml" as default_settings %} +{%- import_yaml "logrotate/osfamilymap.yaml" as osfamilymap %} +{%- import_yaml "logrotate/osmap.yaml" as osmap %} -{% set osfam = salt['grains.filter_by']( - os_family_map, - grain='os_family', - ) or {} %} -{% set os = salt['grains.filter_by']( - os_map, - grain='os', - ) or {} %} - -{% do salt['defaults.merge'](default_settings['logrotate'], osfam) %} -{% do salt['defaults.merge'](default_settings['logrotate'], os) %} - -{% set logrotate = salt['pillar.get']( - 'logrotate:lookup', - default=default_settings['logrotate'], - merge=True, - ) %} +{#- Retrieve the config dict only once #} +{%- set _config = salt['config.get']('logrotate', default={}) %} +{%- set defaults = salt['grains.filter_by']( + default_settings, + default='logrotate', + merge=salt['grains.filter_by']( + osfamilymap, + grain='os_family', + merge=salt['grains.filter_by']( + osmap, + grain='os', + merge=salt['grains.filter_by']( + _config, + default='lookup' + ) + ) + ) + ) +%} +{%- set logrotate = defaults %} diff --git a/logrotate/templates/logrotate.conf.tmpl b/logrotate/templates/logrotate.conf.tmpl index 49b183b..865e04c 100644 --- a/logrotate/templates/logrotate.conf.tmpl +++ b/logrotate/templates/logrotate.conf.tmpl @@ -1,4 +1,3 @@ -{%- from "logrotate/map.jinja" import logrotate with context -%} {%- set config = salt['pillar.get']('logrotate:default_config', logrotate.default_config) -%} {%- set processed_parameters = [] -%}