{{$frontends := List .Prefix "/frontends/" }} {{$backends := List .Prefix "/backends/"}} [backends]{{range $backends}} {{$backend := .}} {{$servers := List $backend "/servers/" }} {{$circuitBreaker := Get "" . "/circuitbreaker/" "expression"}} {{with $circuitBreaker}} [backends."{{Last $backend}}".circuitBreaker] expression = "{{$circuitBreaker}}" {{end}} {{$loadBalancer := Get "" . "/loadbalancer/" "method"}} {{with $loadBalancer}} [backends."{{Last $backend}}".loadBalancer] method = "{{$loadBalancer}}" {{end}} {{$maxConnAmt := Get "" . "/maxconn/" "amount"}} {{$maxConnExtractorFunc := Get "" . "/maxconn/" "extractorfunc"}} {{with $maxConnAmt}} {{with $maxConnExtractorFunc}} [backends."{{Last $backend}}".maxConn] amount = {{$maxConnAmt}} extractorFunc = "{{$maxConnExtractorFunc}}" {{end}} {{end}} {{range $servers}} [backends."{{Last $backend}}".servers."{{Last .}}"] url = "{{Get "" . "/url"}}" weight = {{Get "" . "/weight"}} {{end}} {{end}} [frontends]{{range $frontends}} {{$frontend := Last .}} {{$entryPoints := SplitGet . "/entrypoints"}} [frontends."{{$frontend}}"] backend = "{{Get "" . "/backend"}}" passHostHeader = {{Get "false" . "/passHostHeader"}} entryPoints = [{{range $entryPoints}} "{{.}}", {{end}}] {{$routes := List . "/routes/"}} {{range $routes}} [frontends."{{$frontend}}".routes."{{Last .}}"] rule = "{{Get "" . "/rule"}}" {{end}} {{end}}