52 lines
1.9 KiB
Cheetah
52 lines
1.9 KiB
Cheetah
[backends]
|
|
{{range $index, $node := .Nodes}}
|
|
[backends."backend-{{getBackend $node}}".servers."{{getBackendName $node $index}}"]
|
|
url = "{{getAttribute "protocol" $node.Service.Tags "http"}}://{{getBackendAddress $node}}:{{$node.Service.Port}}"
|
|
{{$weight := getAttribute "backend.weight" $node.Service.Tags "0"}}
|
|
{{with $weight}}
|
|
weight = {{$weight}}
|
|
{{end}}
|
|
{{end}}
|
|
|
|
{{range .Services}}
|
|
{{$service := .ServiceName}}
|
|
{{$circuitBreaker := getAttribute "backend.circuitbreaker" .Attributes ""}}
|
|
{{with $circuitBreaker}}
|
|
[backends."backend-{{$service}}".circuitbreaker]
|
|
expression = "{{$circuitBreaker}}"
|
|
{{end}}
|
|
|
|
[backends."backend-{{$service}}".loadbalancer]
|
|
method = "{{getAttribute "backend.loadbalancer" .Attributes "wrr"}}"
|
|
sticky = {{getAttribute "backend.loadbalancer.sticky" .Attributes "false"}}
|
|
{{if hasStickinessLabel .Attributes}}
|
|
[Backends."backend-{{$service}}".LoadBalancer.Stickiness]
|
|
cookieName = {{getStickinessCookieName .Attributes}}
|
|
{{end}}
|
|
|
|
{{if hasMaxconnAttributes .Attributes}}
|
|
[backends."backend-{{$service}}".maxconn]
|
|
amount = {{getAttribute "backend.maxconn.amount" .Attributes "" }}
|
|
extractorfunc = "{{getAttribute "backend.maxconn.extractorfunc" .Attributes "" }}"
|
|
{{end}}
|
|
|
|
{{end}}
|
|
|
|
[frontends]
|
|
{{range .Services}}
|
|
[frontends."frontend-{{.ServiceName}}"]
|
|
backend = "backend-{{.ServiceName}}"
|
|
passHostHeader = {{getAttribute "frontend.passHostHeader" .Attributes "true"}}
|
|
priority = {{getAttribute "frontend.priority" .Attributes "0"}}
|
|
{{$entryPoints := getAttribute "frontend.entrypoints" .Attributes ""}}
|
|
{{with $entryPoints}}
|
|
entrypoints = [{{range getEntryPoints $entryPoints}}
|
|
"{{.}}",
|
|
{{end}}]
|
|
{{end}}
|
|
basicAuth = [{{range getBasicAuth .Attributes}}
|
|
"{{.}}",
|
|
{{end}}]
|
|
[frontends."frontend-{{.ServiceName}}".routes."route-host-{{.ServiceName}}"]
|
|
rule = "{{getFrontendRule .}}"
|
|
{{end}}
|