global log {{ local_host }} local0 log {{ local_host }} local1 notice maxconn 20000 user haproxy group haproxy spread-checks 0 defaults log global mode tcp option tcplog option dontlognull retries 3 timeout queue 1000 timeout connect 1000 {% if haproxy_client_timeout -%} timeout client {{ haproxy_client_timeout }} {% else -%} timeout client 30000 {% endif -%} {% if haproxy_server_timeout -%} timeout server {{ haproxy_server_timeout }} {% else -%} timeout server 30000 {% endif -%} listen stats {{ stat_port }} mode http stats enable stats hide-version stats realm Haproxy\ Statistics stats uri / stats auth admin:password {% if frontends -%} {% for service, ports in service_ports.items() -%} frontend tcp-in_{{ service }} bind *:{{ ports[0] }} {% if ipv6 -%} 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 {% for unit, address in frontends[frontend]['backends'].items() -%} server {{ unit }} {{ address }}:{{ ports[1] }} check {% endfor %} {% endfor -%} {% endfor -%} {% endif -%}