package haproxy const haproxyConfigTemplate = `global daemon chroot /var/lib/haproxy user haproxy group haproxy maxconn 5000 defaults mode tcp log global retries 2 timeout connect 3000ms timeout server 5000ms timeout client 5000ms timeout tunnel 3600s timeout check 10s {{ range $item := . -}} {{ 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 -}}`