ansible-role-nginx/templates/upstreams.conf.j2

20 lines
895 B
Django/Jinja

{% macro upstream_attribute(upstream, attr) %}{% if attr in upstream %} {{attr}}{% endif %}{% endmacro %}
{% macro upstream_attribute_value(upstream, attr) %}{% if attr in upstream %} {{attr}}={{ upstream[attr] }}{% endif %}{% endmacro %}
{% macro upstream_attributes(upstream) -%}
{%- for attr in ["resolve", "backup", "down", "drain"] -%}
{{- upstream_attribute(upstream, attr) -}}
{%- endfor -%}
{%- for attr in ["weight", "fail_timeout", "max_fails", "max_conns", "route", "service", "slow_start"] -%}
{{- upstream_attribute_value(upstream, attr) -}}
{%- endfor -%}
{%- endmacro %}
{% for upstreamname in nginx.upstreams %}
{% set upstream = nginx.upstreams[upstreamname] %}
upstream {{ upstreamname }} {
{% for s in upstream.server %}
server {{ s.address }}{{ upstream_attributes(s) }};
{% endfor %}
}
{% endfor %}