|
- # vim: sts=2 ts=2 sw=2 et ai
- {% from "logrotate/map.jinja" import logrotate with context %}
- {% set jobs = salt['pillar.get']('logrotate:jobs', {}) %}
-
- include:
- - logrotate
-
- {% for key, value in jobs.items() %}
- {% set contents = value.get('contents', False) %}
-
- logrotate-{{ key }}:
- file.managed:
- {% if 'hourly' in (contents or value.config) %}
- - name: {{ logrotate.hourly_include_dir }}/{{ key.split("/")[-1] }}
- - require:
- - file: {{ logrotate.hourly_include_dir }}
- {% else %}
- - name: {{ logrotate.include_dir }}/{{ key.split("/")[-1] }}
- {% endif %}
- - 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') }}
- - require:
- - pkg: logrotate-pkg
- {% if contents %}
- - contents: {{ contents | yaml_encode }}
- {% else %}
- - source: salt://logrotate/templates/job.tmpl
- - template: jinja
- - context:
- {% if value is mapping %}
- path: {{ value.get('path', [key]) | json }}
- data: {{ value.get('config', []) | json }}
- {% else %}
- path: [ {{ key | json }} ]
- data: {{ value | json }}
- {% endif %}
- {% endif %}
-
- {% endfor %}
|