nginx-formula/nginx/ng/files/nginx.conf
Gilles Dartiguelongue 294a775b98 Workaround for include being defined too early
This is crap but configuration for http scope cannot be both ordered and
merged from map.jinja it seems, see issue #40.
2015-11-13 00:18:57 +01:00

38 lines
1.2 KiB
Nginx Configuration File

{% set indent_increment = 4 %}
{%- macro nginx_block(value, key=None, operator=' ', delim=';', ind=0) -%}
{%- if value != None -%}
{%- if value is number or value is string -%}
{{ key|indent(ind, True) }}{{ operator }}{{ value }}{{ delim }}
{%- elif value is mapping -%}
{{ key|indent(ind, True) }}{{ operator }}{{ '{' }}
{%- for k, v in value.items() %}
{%- if k != 'include' %}
{{ nginx_block(v, k, operator, delim, (ind + indent_increment)) }}
{%- endif %}
{%- endfor %}
{%- if 'include' in value.keys() %}
{{ nginx_block(value['include'], 'include', operator, delim, (ind + indent_increment)) }}
{%- endif %}
{{ '}'|indent(ind, True) }}
{%- elif value is iterable -%}
{%- for v in value %}
{{ nginx_block(v, key, operator, delim, ind) }}
{%- endfor -%}
{%- else -%}
{{ key|indent(ind, True) }}{{ operator }}{{ value }}{{ delim }}
{%- endif -%}
{%- else -%}
{%- endif -%}
{%- endmacro -%}
# Default nginx server configuration
#
# **** DO NOT EDIT THIS FILE ****
#
# This file is managed by Salt.
{% for key, value in config.items() %}
{{ nginx_block(value, key) }}
{%- endfor -%}