global log /var/lib/haproxy/dev/log local0 log /var/lib/haproxy/dev/log local1 notice maxconn 20000 user haproxy group haproxy spread-checks 0 stats socket /var/run/haproxy/admin.sock mode 600 level admin stats timeout 2m defaults log global mode tcp option tcplog option dontlognull retries 3 {%- if haproxy_queue_timeout %} timeout queue {{ haproxy_queue_timeout }} {%- else %} timeout queue 9000 {%- endif %} {%- if haproxy_connect_timeout %} timeout connect {{ haproxy_connect_timeout }} {%- else %} timeout connect 9000 {%- endif %} {%- if haproxy_client_timeout %} timeout client {{ haproxy_client_timeout }} {%- else %} timeout client 90000 {%- endif %} {%- if haproxy_server_timeout %} timeout server {{ haproxy_server_timeout }} {%- else %} timeout server 90000 {%- endif %} listen stats bind {{ local_host }}:{{ stat_port }} mode http stats enable stats hide-version stats realm Haproxy\ Statistics stats uri / stats auth admin:{{ stat_password }} {% if frontends -%} {% for service, ports in service_ports.items() -%} frontend tcp-in_{{ service }} bind *:{{ ports[0] }} {% if ipv6_enabled -%} bind :::{{ ports[0] }} {% endif -%} {% for frontend in frontends -%} acl net_{{ frontend }} dst {{ frontends[frontend]['network'] }} use_backend {{ service }}_{{ frontend }} if net_{{ frontend }} {% endfor -%} default_backend {{ service }}_{{ default_backend }} {% for frontend in frontends -%} backend {{ service }}_{{ frontend }} balance leastconn {% if backend_options -%} {% if backend_options[service] -%} {% for option in backend_options[service] -%} {% for key, value in option.items() -%} {{ key }} {{ value }} {% endfor -%} {% endfor -%} {% endif -%} {% endif -%} {% for unit, address in frontends[frontend]['backends'].items() -%} server {{ unit }} {{ address }}:{{ ports[1] }} check {% endfor %} {% endfor -%} {% endfor -%} {% endif -%}