haproxy-lb/pkg/haproxy/template.go
2020-11-22 12:59:12 +01:00

43 lines
1.1 KiB
Go

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 <healthCheckNodePort>
{{ range $srv := $port.Servers -}}
server {{ $srv.Name }} {{ $srv.IP }}:{{ $srv.Port }} check
{{ end -}}
{{ end -}}
{{ end -}}`