feat(map): generate a YAML file to validate map.jinja
We provide a new `_mapdata` state which generate a `/tmp/salt_mapdata_dump.yaml` to be validated by `Inspec`.
This commit is contained in:
parent
70389b5964
commit
e4ab335077
@ -230,6 +230,13 @@ To completely disable adding IP addresses::
|
|||||||
|
|
||||||
Manages the system wide ``/etc/ssh/moduli`` file.
|
Manages the system wide ``/etc/ssh/moduli`` file.
|
||||||
|
|
||||||
|
``openssh._mapdata``
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Testing state which dumps the ``map.jinja`` values in ``/tmp/salt_mapdata_dump.yaml``.
|
||||||
|
This state is not called by any include but is mostly used by kitchen and Inspec infrastructure to validate ``map.jinja``.
|
||||||
|
|
||||||
|
|
||||||
Testing
|
Testing
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
13
openssh/_mapdata/_mapdata.jinja
Normal file
13
openssh/_mapdata/_mapdata.jinja
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# yamllint disable rule:indentation rule:line-length
|
||||||
|
# {{ grains.get('osfinger', grains.os) }}
|
||||||
|
---
|
||||||
|
{#- use salt.slsutil.serialize to avoid encoding errors on some platforms #}
|
||||||
|
{{ salt['slsutil.serialize'](
|
||||||
|
'yaml',
|
||||||
|
map,
|
||||||
|
default_flow_style=False,
|
||||||
|
allow_unicode=True,
|
||||||
|
)
|
||||||
|
| regex_replace("^\s+'$", "'", multiline=True)
|
||||||
|
| trim
|
||||||
|
}}
|
25
openssh/_mapdata/init.sls
Normal file
25
openssh/_mapdata/init.sls
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ft=sls
|
||||||
|
---
|
||||||
|
{#- Get the `tplroot` from `tpldir` #}
|
||||||
|
{%- set tplroot = tpldir.split('/')[0] %}
|
||||||
|
{%- from tplroot ~ "/map.jinja" import openssh with context %}
|
||||||
|
{%- from tplroot ~ "/map.jinja" import ssh_config with context %}
|
||||||
|
{%- from tplroot ~ "/map.jinja" import sshd_config with context %}
|
||||||
|
|
||||||
|
{%- set output_file = '/tmp/salt_mapdata_dump.yaml' %}
|
||||||
|
{%- set map = {
|
||||||
|
'openssh': openssh,
|
||||||
|
'ssh_config': ssh_config,
|
||||||
|
'sshd_config': sshd_config,
|
||||||
|
} %}
|
||||||
|
|
||||||
|
{%- do salt['log.debug']( map | yaml(False) ) %}
|
||||||
|
|
||||||
|
{{ tplroot }}-mapdata-dump:
|
||||||
|
file.managed:
|
||||||
|
- name: {{ output_file }}
|
||||||
|
- source: salt://{{ tplroot }}/_mapdata/_mapdata.jinja
|
||||||
|
- template: jinja
|
||||||
|
- context:
|
||||||
|
map: {{ map | yaml }}
|
Loading…
Reference in New Issue
Block a user