[PATCH] Add support for adding more upstream attributes

This commit is contained in:
Fabian Freyer 2020-10-18 18:42:23 +02:00 committed by nd
parent 2935b69f77
commit fb6e4a91d1
No known key found for this signature in database
GPG key ID: 21B5CD4DEE3670E9

View file

@ -1,8 +1,19 @@
{% 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 %} {% for upstreamname in nginx.upstreams %}
{% set upstream = nginx.upstreams[upstreamname] %} {% set upstream = nginx.upstreams[upstreamname] %}
upstream {{ upstreamname }} { upstream {{ upstreamname }} {
{% for s in upstream.server %} {% for s in upstream.server %}
server {{ s.address }} {%if s.resolve|d(False) %}resolve{% endif %}; server {{ s.address }}{{ upstream_attributes(s) }};
{% endfor %} {% endfor %}
} }