################################### # Generated by confd {{datetime}} # # ####### # # # k3d # # # ####### # ################################### {{- $servers := split (getenv "SERVERS") "," -}} {{- $ports := split (getenv "PORTS") "," -}} {{- $udp_ports := split (getenv "UDP_PORTS") "," -}} error_log stderr notice; worker_processes auto; events { multi_accept on; use epoll; worker_connections {{ add 1024 (len $ports) }}; } stream { {{- range $portstring := lsdir "/ports" }} {{- $portdir := printf "/ports/%s/*" $portstring -}} {{- $port := index (split $portstring ".") 0 -}} {{- $protocol := index (split $portstring ".") 1 -}} {{- $upstream := replace $portstring "." "_" -1 }} upstream {{ $upstream }} { {{- range $server := getvs $portdir }} server {{ $server }}:{{ $port }} max_fails=1 fail_timeout=10s; {{- end }} } server { listen {{ $port }} {{- if (eq $protocol "udp") }} udp{{- end -}}; proxy_pass {{ $upstream }}; proxy_timeout 600; proxy_connect_timeout 2s; } {{- end }} }