From db3629904c02fffe5b3d3cb913664aff0aa06c0d Mon Sep 17 00:00:00 2001 From: Mark Gomersbach Date: Mon, 15 Oct 2018 16:45:15 +0200 Subject: [PATCH] Move os_family and os mapping to yaml files - Add Gentoo support - Add FreeBSD support --- logrotate/map.jinja | 63 ++++++++++---------------------------- logrotate/osfamilymap.yaml | 27 ++++++++++++++++ logrotate/osmap.yaml | 3 ++ 3 files changed, 47 insertions(+), 46 deletions(-) create mode 100644 logrotate/osfamilymap.yaml create mode 100644 logrotate/osmap.yaml diff --git a/logrotate/map.jinja b/logrotate/map.jinja index 46eb595..8de9ccc 100644 --- a/logrotate/map.jinja +++ b/logrotate/map.jinja @@ -2,52 +2,23 @@ # 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 %} -{% set os_family_map = salt['grains.filter_by']({ - 'Arch': { - 'service': 'logrotate.timer', - 'default_config': { - 'tabooext': '+ .pacorig .pacnew .pacsave', - }, - }, - 'Debian': { - 'default_config': { - 'compress': True, - }, - }, - 'RedHat': { - 'service': 'crond', - 'default_config': { - 'dateext': True, - }, - }, - 'Suse': { - 'login_records_jobs': False, - 'default_config': { - 'dateext': True, - 'compresscmd': '/usr/bin/xz', - 'uncompresscmd': '/usr/bin/xzdec', - }, - }, - }, - grain="os_family", - merge=salt['pillar.get']('logrotate:lookup')) or {} -%} +{% set osfam = salt['grains.filter_by']( + os_family_map, + grain='os_family', + ) or {} %} +{% set os = salt['grains.filter_by']( + os_map, + grain='os', + ) or {} %} -{% set os_map = salt['grains.filter_by']({ - 'Ubuntu': { - 'default_config': { - 'su': 'root syslog' - }, - }, - }, - grain="os", - merge=os_family_map) or {} -%} +{% do salt['defaults.merge'](default_settings['logrotate'], osfam) %} +{% do salt['defaults.merge'](default_settings['logrotate'], os) %} -{% set logrotate = salt['grains.filter_by']( - default_settings, - merge=os_map, - base='logrotate', - ) -%} +{% set logrotate = salt['pillar.get']( + 'logrotate:lookup', + default=default_settings['logrotate'], + merge=True, + ) %} diff --git a/logrotate/osfamilymap.yaml b/logrotate/osfamilymap.yaml new file mode 100644 index 0000000..1a104a7 --- /dev/null +++ b/logrotate/osfamilymap.yaml @@ -0,0 +1,27 @@ +Arch: + service: logrotate.timer + default_config: + tabooext: + .pacorig .pacnew .pacsave +Debian: + default_config: + compress: True +RedHat: + service: crond + default_config: + dateext: True +Suse: + login_records_jobs: False + default_config: + dateext: True + compresscmd: /usr/bin/xz + uncompresscmd: /usr/bin/xzdec +Gentoo: + pkg: app-admin/logrotate + service: cronie + default_config: + tabooext: + .keep + dateext: True +FreeBSD: + conf_file: /usr/local/etc/logrotate.conf + include_dir: /usr/local/etc/logrotate.d + group: wheel \ No newline at end of file diff --git a/logrotate/osmap.yaml b/logrotate/osmap.yaml new file mode 100644 index 0000000..4089684 --- /dev/null +++ b/logrotate/osmap.yaml @@ -0,0 +1,3 @@ +Ubuntu: + default_config: + su: root syslog