86 lines
2.1 KiB
Django/Jinja
86 lines
2.1 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 frontend, config in haproxy_frontends.items() %}
|
|
frontend {{ frontend }}
|
|
{% for key, value in config.items()|sort if key != 'acl' and key != 'use_backend' %}
|
|
{% 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 %}
|
|
{% if 'acl' in config %}
|
|
{% for option in config['acl'] %}
|
|
acl {{ option }}
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% if 'use_backend' in config %}
|
|
{% for option in config['use_backend'] %}
|
|
use_backend {{ option }}
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% 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 %}
|