refactor: split default maps into separate files

While the default maps are mostly empty this sets the groundwork for
distribution specific defaults. The layout is based on the formula
template.

BREAKING CHANGE: `map.jinja` has been upgraded from using `pillar.get`
to `config.get`.
This commit is contained in:
Steven Daniele 2020-04-13 12:14:32 -04:00 committed by Imran Iqbal
parent 94d2b0b97c
commit afcf5e7700
No known key found for this signature in database
GPG Key ID: 6D8629439D2B7819
6 changed files with 176 additions and 34 deletions

View File

@ -1,19 +1,18 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
default:
firewalld:
enabled: true
package: firewalld
service: firewalld
config: /etc/firewalld.conf
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: {}

View File

@ -3,18 +3,28 @@
{#- Start with defaults from defaults.yaml #}
{% import_yaml "firewalld/defaults.yaml" as default_settings %}
{% import_yaml "firewalld/osarchmap.yaml" as osarchmap %}
{% import_yaml "firewalld/osfamilymap.yaml" as osfamilymap %}
{% import_yaml "firewalld/osmap.yaml" as osmap %}
{% import_yaml "firewalld/osfingermap.yaml" as osfingermap %}
{% 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')
{% set _config = salt['config.get']('firewalld', default={}) %}
{% set defaults = salt['grains.filter_by'](default_settings,
default='firewalld',
merge=salt['grains.filter_by'](osarchmap, grain='osarch',
merge=salt['grains.filter_by'](osfamilymap, grain='os_family',
merge=salt['grains.filter_by'](osmap, grain='os',
merge=salt['grains.filter_by'](osfingermap, grain='osfinger',
merge=salt['grains.filter_by'](_config, default='lookup')
)
)
)
)
) %}
{#- Merge in salt:lookup pillar #}
{% set firewalld = salt['pillar.get'](
'firewalld',
default=platform_defaults.firewalld,
merge=True)
%}
{% set firewalld = salt['grains.filter_by'](
{'defaults': defaults},
default='defaults',
merge=_config
) %}

35
firewalld/osarchmap.yaml Normal file
View File

@ -0,0 +1,35 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
#
# Setup variables using grains['osarch'] based logic.
# You just need to add the key:values for an `osarch` that differ
# from `defaults.yaml`.
# Only add an `osarch` which is/will be supported by the formula.
#
# If you do not need to provide defaults via the `osarch` grain,
# you will need to provide at least an empty dict in this file, e.g.
# osarch: {}
---
amd64:
arch: amd64
x86_64:
arch: amd64
386:
arch: 386
arm64:
arch: arm64
armv6l:
arch: armv6l
armv7l:
arch: armv7l
ppc64le:
arch: ppc64le
s390x:
arch: s390x

View File

@ -1,13 +1,33 @@
# -*- coding: utf-8 -*-
# # vim: ft=yaml
# os_family defaults
# only add key:values here that differ from whats in defaults.yaml
# vim: ft=yaml
#
# Setup variables using grains['os_family'] based logic.
# You just need to add the key:values for an `os_family` that differ
# from `defaults.yaml` + `osarch.yaml`.
# Only add an `os_family` which is/will be supported by the formula.
#
# If you do not need to provide defaults via the `os_family` grain,
# you will need to provide at least an empty dict in this file, e.g.
# osfamilymap: {}
---
Debian:
firewalld: {}
RedHat:
firewalld: {}
Arch:
firewalld: {}
Suse:
firewalld: {}
Debian: {}
RedHat: {}
Suse: {}
Gentoo: {}
Arch: {}
Alpine: {}
FreeBSD: {}
OpenBSD: {}
Solaris: {}
Windows: {}
MacOS: {}

View File

@ -0,0 +1,45 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
#
# Setup variables using grains['osfinger'] based logic.
# You just need to add the key:values for an `osfinger` that differ
# from `defaults.yaml` + `osarch.yaml` + `os_family.yaml` + `osmap.yaml`.
# Only add an `osfinger` which is/will be supported by the formula.
#
# If you do not need to provide defaults via the `os_finger` grain,
# you will need to provide at least an empty dict in this file, e.g.
# osfingermap: {}
---
# os: Debian
Debian-10: {}
Debian-9: {}
Debian-8: {}
# os: Ubuntu
Ubuntu-18.04: {}
Ubuntu-16.04: {}
# os: Fedora
Fedora-31: {}
Fedora-30: {}
# os: CentOS
CentOS Linux-8: {}
CentOS Linux-7: {}
CentOS-6: {}
# os: Amazon
Amazon Linux-2: {}
Amazon Linux AMI-2018: {}
# os: SUSE
Leap-15: {}
# os: FreeBSD
FreeBSD-12: {}
# os: Windows
Windows-8.1: {}
# os: Gentoo
Gentoo-2: {}

33
firewalld/osmap.yaml Normal file
View File

@ -0,0 +1,33 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
#
# Setup variables using grains['os'] based logic.
# You just need to add the key:values for an `os` that differ
# from `defaults.yaml` + `osarch.yaml` + `os_family.yaml`.
# Only add an `os` which is/will be supported by the formula.
#
# If you do not need to provide defaults via the `os` grain,
# you will need to provide at least an empty dict in this file, e.g.
# osmap: {}
---
# os_family: Debian
Ubuntu: {}
Raspbian: {}
# os_family: RedHat
Fedora: {}
CentOS: {}
Amazon: {}
# os_family: Suse
SUSE: {}
openSUSE: {}
# os_family: Gentoo
Funtoo: {}
# os_family: Arch
Manjaro: {}
# os_family: Solaris
SmartOS: {}