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