ansible-role-haproxy/templates/haproxy.cfg.j2

102 lines
2.4 KiB
Django/Jinja

# {{ ansible_managed }}
global
{% for key, value in haproxy_full_global.items() %}
{% if value is sameas true %}
{{ key }}
{% elif value is iterable and value is not string %}
{% for option in value %}
{{ key }} {{ option }}
{% endfor %}
{% else %}
{{ key }} {{ value }}
{% endif %}
{% endfor %}
defaults
{% for key, value in haproxy_full_defaults.items() %}
{% if value is sameas true %}
{{ key }}
{% elif value is iterable and value is not string %}
{% for option in value %}
{{ key }} {{ option }}
{% endfor %}
{% else %}
{{ key }} {{ value }}
{% endif %}
{% endfor %}
listen stats
{% for key, value in haproxy_full_listen_stats.items() %}
{% if key == "bind" %}
bind {{ value["ip"] }}:{{ value["port"] }}
{% elif value is sameas true %}
{{ key }}
{% elif value is iterable and value is not string %}
{% for option in value %}
{{ key }} {{ option }}
{% endfor %}
{% else %}
{{ key }} {{ value }}
{% endif %}
{% endfor %}
{% for resolver, config in haproxy_resolvers.items() %}
resolvers {{ resolver }}
{% for key, value in config.items() %}
{% if value is iterable and value is not string %}
{% for option in value %}
{{ key }} {{ option }}
{% endfor %}
{% else %}
{{ key }} {{ value }}
{% endif %}
{% endfor %}
{% endfor %}
{% for userlist, config in haproxy_userlists.items() %}
userlist {{ userlist }}
{% for key, value in config.items() %}
{% if value is iterable and value is not string %}
{% for option in value %}
{{ key }} {{ option }}
{% endfor %}
{% else %}
{{ key }} {{ value }}
{% endif %}
{% endfor %}
{% endfor %}
{% for frontend, config in haproxy_frontends.items() %}
frontend {{ frontend }}
{% for key, value in config.items() %}
{% if key == "bind" %}
bind {{ value["ip"] }}:{{ value["port"] }}{% if value["ssl"] is defined %} ssl{% if value["ssl"]["ciphers"] is defined %} ciphers {{ value["ssl"]["ciphers"]|join(':') }}{% endif %}{% if value["ssl"]["crt"]%} crt {{ value["ssl"]["crt"] }}{% endif %}
{% endif %}
{% elif value is iterable and value is not string %}
{% for option in value %}
{{ key }} {{ option }}
{% endfor %}
{% else %}
{{ key }} {{ value }}
{% endif %}
{% endfor %}
{% endfor %}
{% for backend, config in haproxy_backends.items() %}
backend {{ backend }}
{% for key, value in config.items() %}
{% if value is sameas true %}
{{ key }}
{% elif value is iterable and value is not string %}
{% for option in value %}
{{ key }} {{ option }}
{% endfor %}
{% else %}
{{ key }} {{ value }}
{% endif %}
{% endfor %}
{% endfor %}