apache-formula/apache/map.jinja

80 lines
2.6 KiB
Plaintext
Raw Permalink Normal View History

# -*- coding: utf-8 -*-
# vim: ft=jinja
{%- set tplroot = tpldir.split('/')[0] %}
{%- import_yaml tplroot ~ "/defaults.yaml" as default_settings %}
{%- import_yaml tplroot ~ "/osarchmap.yaml" as osarchmap %}
{%- import_yaml tplroot ~ "/osfamilymap.yaml" as osfamilymap %}
{%- import_yaml tplroot ~ "/osmap.yaml" as osmap %}
{%- import_yaml tplroot ~ "/osfingermap.yaml" as osfingermap %}
{%- import_yaml tplroot ~ "/oscodenamemap.yaml" as oscodename %}
{%- import_yaml tplroot ~ "/modsecurity.yaml" as modsec %}
{#- Retrieve the config dict only once #}
{%- set _config = salt['config.get'](tplroot, default={}) %}
{%- set defaults = salt['grains.filter_by'](
default_settings,
default=tplroot,
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'](
oscodename,
grain='oscodename',
merge=salt['grains.filter_by'](
osfingermap,
grain='osfinger',
merge=salt['grains.filter_by'](
modsec,
grain='os_family',
merge=salt['grains.filter_by'](
_config,
default='lookup'
)
)
)
)
)
)
)
)
%}
{%- set config = salt['grains.filter_by'](
{'defaults': defaults},
default='defaults',
merge=_config
)
%}
{%- set apache = config %}
{#- Post-processing for specific non-YAML customisations #}
{%- if grains.os_family == 'MacOS' %}
{%- set rootuser = salt['cmd.run']("stat -f '%Su' /dev/console") %}
{%- set rootgroup = salt['cmd.run']("stat -f '%Sg' /dev/console") %}
{%- do apache.update({'rootuser': rootgroup}) %}
{%- do apache.update({'rootgroup': rootgroup}) %}
{%- elif grains.os_family == 'Windows' %}
{%- set rootuser = salt['cmd.run']("id -un") %}
{%- do apache.update({'rootuser': rootuser}) %}
{%- endif %}
2017-11-03 17:47:20 +01:00
{# legacy pillar support #}
{%- if 'server' in apache.lookup and apache.lookup.server is string %}
{%- do apache.pkg.update({'name': apache.server}) %}
{%- endif %}
{%- if 'service' in apache.lookup and apache.lookup.service is string %}
{%- do apache.service.update({'name': apache.service}) %}
{%- endif %}
{%- if 'configfile' in apache and apache.configfile is string %}
{%- do apache.update({'config': apache.configfile}) %}
{%- endif %}