package haproxy const haproxyConfigTemplate = `global daemon #chroot /var/lib/haproxy chroot /usr/share/haproxy pidfile /run/haproxy.pid user haproxy group haproxy maxconn 20000 defaults mode tcp log global retries 2 timeout connect 3000ms timeout server 5000ms timeout client 5000ms timeout tunnel 3600s timeout check 10s frontend stats mode http bind 127.0.0.1:8404 stats enable stats uri /stats stats refresh 10s stats admin if LOCALHOST {{ range $item := .LoadBalancers -}} {{ range $port := $item.Ports -}} frontend fr_{{ $item.Name }}_{{ $port.Port }} bind {{ $item.IP }}:{{ $port.Port }} {{- range $opt := $item.Options.Frontend }} option {{ $opt }} {{- end }} # option tcplog # option splice-request default_backend ba_{{ $item.Name }}_{{ $port.Port }} backend ba_{{ $item.Name }}_{{ $port.Port }} balance roundrobin {{- range $opt := $item.Options.Backend }} option {{ $opt }} {{- end }} # option splice-response # option httpchk GET / default-server inter 3s downinter 10s fall 2 rise 2 on-marked-down shutdown-sessions {{ $item.Options.DefaultServer }} # send-proxy-v2 # check-send-proxy # port {{- range $srv := $port.Servers }} server {{ $srv.Name }} {{ $srv.IP }}:{{ $srv.Port }} check {{- end }} {{ end -}} {{ end -}} `