42 lines
1.5 KiB
Cheetah
42 lines
1.5 KiB
Cheetah
[backends]
|
|
{{range $index, $node := .Nodes}}
|
|
{{if ne (getAttribute "enable" $node.Service.Tags "true") "false"}}
|
|
[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 ""}}
|
|
{{with $weight}}
|
|
weight = {{$weight}}
|
|
{{end}}
|
|
{{end}}
|
|
{{end}}
|
|
|
|
{{range .Services}}
|
|
{{$service := .ServiceName}}
|
|
{{$circuitBreaker := getAttribute "backend.circuitbreaker" .Attributes ""}}
|
|
{{with $circuitBreaker}}
|
|
[backends."backend-{{$service}}".circuitbreaker]
|
|
expression = "{{$circuitBreaker}}"
|
|
{{end}}
|
|
|
|
{{$loadBalancer := getAttribute "backend.loadbalancer" .Attributes ""}}
|
|
{{with $loadBalancer}}
|
|
[backends."backend-{{$service}}".loadbalancer]
|
|
method = "{{$loadBalancer}}"
|
|
{{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}}
|
|
[frontends."frontend-{{.ServiceName}}".routes."route-host-{{.ServiceName}}"]
|
|
rule = "{{getFrontendRule .}}"
|
|
{{end}}
|