|
- {% from "logrotate/map.jinja" import logrotate with context %}
-
- include:
- - logrotate
-
- {% set ns = namespace(hourly=False) %}
- {% for key, value in logrotate.jobs.items() %}
- {% set contents = value.get('contents', False) %}
- {% if 'hourly' in (contents or value.config) %}
- {% set ns.hourly = True %}
- {% break %}
- {% endif %}
- {% endfor %}
-
- logrotate-config:
- file.managed:
- - name: {{ logrotate.conf_file }}
- - source: salt://logrotate/templates/logrotate.conf.tmpl
- - template: jinja
- - user: {{ salt['config.get']('logrotate:config:user', logrotate.user) }}
- - group: {{ salt['config.get']('logrotate:config:group', logrotate.group) }}
- - mode: {{ salt['config.get']('logrotate:config:mode', '0644') }}
- - context:
- logrotate: {{ logrotate|tojson }}
-
- logrotate-directory:
- file.directory:
- - name: {{ logrotate.include_dir }}
- - user: {{ salt['config.get']('logrotate:config:user', logrotate.user) }}
- - group: {{ salt['config.get']('logrotate:config:group', logrotate.group) }}
- - mode: '0755'
- - makedirs: True
-
- {%- if ns.hourly %}
- logrotate-hourly-config:
- file.managed:
- - name: {{ logrotate.hourly_conf_file }}
- - user: {{ salt['config.get']('logrotate:config:user', logrotate.user) }}
- - group: {{ salt['config.get']('logrotate:config:group', logrotate.group) }}
- - mode: {{ salt['config.get']('logrotate:config:mode', '0644') }}
- - contents:
- - include {{ logrotate.hourly_include_dir }}
-
- logrotate-hourly-directory:
- file.directory:
- - name: {{ logrotate.hourly_include_dir }}
- - user: {{ logrotate.user }}
- - group: {{ logrotate.group }}
- - mode: '0755'
- - makedirs: True
-
- logrotate-hourly-cron:
- file.managed:
- - name: "/etc/cron.hourly/logrotate"
- - source: salt://logrotate/templates/logrotate.hourly.tmpl
- - template: jinja
- - user: {{ salt['config.get']('logrotate:config:user', logrotate.user) }}
- - group: {{ salt['config.get']('logrotate:config:group', logrotate.group) }}
- - mode: '0775'
- - context:
- logrotate: {{ logrotate|tojson }}
-
- {%- endif %}
|