|
- # -*- 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 %}
-
- {# 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 %}
|