Initial implementation: Force both to be present to trigger behavior. add ability to see rendered template in debug add support for loadbalancer and circuit breaker specification add documentation for new configuration
34 lines
1.2 KiB
Cheetah
34 lines
1.2 KiB
Cheetah
{{$apps := .Applications}}
|
|
[backends]{{range .Tasks}}
|
|
[backends.backend{{getBackend . $apps}}.servers.server-{{.ID | replace "." "-"}}]
|
|
url = "{{getProtocol . $apps}}://{{.Host}}:{{getPort . $apps}}"
|
|
weight = {{getWeight . $apps}}
|
|
{{end}}
|
|
|
|
{{range .Applications}}
|
|
{{ if hasMaxConnLabels . }}
|
|
[backends.backend{{getFrontendBackend . }}.maxconn]
|
|
amount = {{getMaxConnAmount . }}
|
|
extractorfunc = "{{getMaxConnExtractorFunc . }}"
|
|
{{end}}
|
|
{{ if hasLoadBalancerLabels . }}
|
|
[backends.backend{{getFrontendBackend . }}.loadbalancer]
|
|
method = "{{getLoadBalancerMethod . }}"
|
|
{{end}}
|
|
{{ if hasCircuitBreakerLabels . }}
|
|
[backends.backend{{getFrontendBackend . }}.circuitbreaker]
|
|
expression = "{{getCircuitBreakerExpression . }}"
|
|
{{end}}
|
|
{{end}}
|
|
|
|
[frontends]{{range .Applications}}
|
|
[frontends.frontend{{.ID | replace "/" "-"}}]
|
|
backend = "backend{{getFrontendBackend .}}"
|
|
passHostHeader = {{getPassHostHeader .}}
|
|
priority = {{getPriority .}}
|
|
entryPoints = [{{range getEntryPoints .}}
|
|
"{{.}}",
|
|
{{end}}]
|
|
[frontends.frontend{{.ID | replace "/" "-"}}.routes.route-host{{.ID | replace "/" "-"}}]
|
|
rule = "{{getFrontendRule .}}"
|
|
{{end}}
|