diff --git a/firewalld/defaults.yaml b/firewalld/defaults.yaml index bbabd6e..5c00c0d 100644 --- a/firewalld/defaults.yaml +++ b/firewalld/defaults.yaml @@ -1,18 +1,19 @@ # -*- coding: utf-8 -*- # vim: ft=yaml --- -firewalld: - enabled: true - package: firewalld - service: firewalld - config: /etc/firewalld.conf +default: + firewalld: + enabled: true + package: firewalld + service: firewalld + config: /etc/firewalld.conf - ipset: - manage: false - pkg: ipset + ipset: + manage: false + pkg: ipset - backend: - manage: false - pkg: nftables + backend: + manage: false + pkg: nftables - ipsets: {} + ipsets: {} diff --git a/firewalld/map.jinja b/firewalld/map.jinja index 8a8a394..4b952f6 100644 --- a/firewalld/map.jinja +++ b/firewalld/map.jinja @@ -3,25 +3,18 @@ {#- Start with defaults from defaults.yaml #} {% import_yaml "firewalld/defaults.yaml" as default_settings %} +{% import_yaml "firewalld/osfamilymap.yaml" as osfamilymap %} -{#- -Setup variable using grains['os_family'] based logic, only add key:values here -that differ from whats in defaults.yaml -#} -{% set os_family_map = salt['grains.filter_by']({ - 'Debian': {}, - 'RedHat': {}, - 'Arch': {}, - 'Suse': {}, - }, grain='os_family', merge=salt['pillar.get']('firewalld:lookup')) -%} - -{#- Merge the flavor_map to the default settings #} -{% do default_settings.firewalld.update(os_family_map) %} +{% set platform_defaults = salt['grains.filter_by'](default_settings, + default='default', + merge=salt['grains.filter_by'](osfamilymap, grain='os_family', + merge=salt['pillar.get']('firewalld:lookup') + ) +) %} {#- Merge in salt:lookup pillar #} {% set firewalld = salt['pillar.get']( 'firewalld', - default=default_settings.firewalld, + default=platform_defaults.firewalld, merge=True) %} diff --git a/firewalld/osfamilymap.yaml b/firewalld/osfamilymap.yaml new file mode 100644 index 0000000..810a01c --- /dev/null +++ b/firewalld/osfamilymap.yaml @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- +# # vim: ft=yaml +# os_family defaults +# only add key:values here that differ from whats in defaults.yaml +--- +Debian: + firewalld: {} +RedHat: + firewalld: {} +Arch: + firewalld: {} +Suse: + firewalld: {}