20 lines
895 B
Django/Jinja
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 %}
|