refactor(k8s): template readability.

This commit is contained in:
Fernandez Ludovic 2017-12-16 16:14:19 +01:00 committed by Traefiker
parent a81171d5f1
commit 7c0e557f84

View file

@ -1,16 +1,20 @@
[backends]{{range $backendName, $backend := .Backends}} [backends]
[backends."{{$backendName}}"] {{range $backendName, $backend := .Backends}}
[backends."{{$backendName}}"]
{{if $backend.CircuitBreaker}} {{if $backend.CircuitBreaker}}
[backends."{{$backendName}}".circuitbreaker] [backends."{{$backendName}}".circuitBreaker]
expression = "{{$backend.CircuitBreaker.Expression}}" expression = "{{$backend.CircuitBreaker.Expression}}"
{{end}} {{end}}
[backends."{{$backendName}}".loadbalancer]
[backends."{{$backendName}}".loadBalancer]
method = "{{$backend.LoadBalancer.Method}}" method = "{{$backend.LoadBalancer.Method}}"
{{if $backend.LoadBalancer.Sticky}} {{if $backend.LoadBalancer.Sticky}}
sticky = true sticky = true
{{end}} {{end}}
{{if $backend.LoadBalancer.Stickiness}} {{if $backend.LoadBalancer.Stickiness}}
[backends."{{$backendName}}".loadbalancer.stickiness] [backends."{{$backendName}}".loadBalancer.stickiness]
cookieName = "{{$backend.LoadBalancer.Stickiness.CookieName}}" cookieName = "{{$backend.LoadBalancer.Stickiness.CookieName}}"
{{end}} {{end}}
@ -25,91 +29,99 @@
{{range $serverName, $server := $backend.Servers}} {{range $serverName, $server := $backend.Servers}}
[backends."{{$backendName}}".servers."{{$serverName}}"] [backends."{{$backendName}}".servers."{{$serverName}}"]
url = "{{$server.URL}}" url = "{{$server.URL}}"
weight = {{$server.Weight}} weight = {{$server.Weight}}
{{end}} {{end}}
{{end}} {{end}}
[frontends]{{range $frontendName, $frontend := .Frontends}} [frontends]
[frontends."{{$frontendName}}"] {{range $frontendName, $frontend := .Frontends}}
backend = "{{$frontend.Backend}}"
priority = {{$frontend.Priority}}
passHostHeader = {{$frontend.PassHostHeader}}
entryPoints = [{{range $frontend.EntryPoints}}
"{{.}}",
{{end}}]
basicAuth = [{{range $frontend.BasicAuth}}
"{{.}}",
{{end}}]
whitelistSourceRange = [{{range $frontend.WhitelistSourceRange}}
"{{.}}",
{{end}}]
{{if $frontend.Redirect}} [frontends."{{$frontendName}}"]
[frontends."{{$frontendName}}".redirect] backend = "{{$frontend.Backend}}"
entryPoint = "{{$frontend.Redirect.EntryPoint}}" priority = {{$frontend.Priority}}
regex = "{{$frontend.Redirect.Regex}}" passHostHeader = {{$frontend.PassHostHeader}}
replacement = "{{$frontend.Redirect.Replacement}}"
{{end}} entryPoints = [{{range $frontend.EntryPoints}}
"{{.}}",
{{end}}]
basicAuth = [{{range $frontend.BasicAuth}}
"{{.}}",
{{end}}]
whitelistSourceRange = [{{range $frontend.WhitelistSourceRange}}
"{{.}}",
{{end}}]
{{if $frontend.Redirect}}
[frontends."{{$frontendName}}".redirect]
entryPoint = "{{$frontend.RedirectEntryPoint}}"
regex = "{{$frontend.RedirectRegex}}"
replacement = "{{$frontend.RedirectReplacement}}"
{{end}}
{{if $frontend.Headers }} {{if $frontend.Headers }}
[frontends."{{$frontendName}}".headers] [frontends."{{$frontendName}}".headers]
SSLRedirect = {{$frontend.Headers.SSLRedirect}} SSLRedirect = {{$frontend.Headers.SSLRedirect}}
SSLTemporaryRedirect = {{$frontend.Headers.SSLTemporaryRedirect}} SSLTemporaryRedirect = {{$frontend.Headers.SSLTemporaryRedirect}}
SSLHost = "{{$frontend.Headers.SSLHost}}" SSLHost = "{{$frontend.Headers.SSLHost}}"
STSSeconds = {{$frontend.Headers.STSSeconds}} STSSeconds = {{$frontend.Headers.STSSeconds}}
STSIncludeSubdomains = {{$frontend.Headers.STSIncludeSubdomains}} STSIncludeSubdomains = {{$frontend.Headers.STSIncludeSubdomains}}
STSPreload = {{$frontend.Headers.STSPreload}} STSPreload = {{$frontend.Headers.STSPreload}}
ForceSTSHeader = {{$frontend.Headers.ForceSTSHeader}} ForceSTSHeader = {{$frontend.Headers.ForceSTSHeader}}
FrameDeny = {{$frontend.Headers.FrameDeny}} FrameDeny = {{$frontend.Headers.FrameDeny}}
CustomFrameOptionsValue = "{{$frontend.Headers.CustomFrameOptionsValue}}" CustomFrameOptionsValue = "{{$frontend.Headers.CustomFrameOptionsValue}}"
ContentTypeNosniff = {{$frontend.Headers.ContentTypeNosniff}} ContentTypeNosniff = {{$frontend.Headers.ContentTypeNosniff}}
BrowserXSSFilter = {{$frontend.Headers.BrowserXSSFilter}} BrowserXSSFilter = {{$frontend.Headers.BrowserXSSFilter}}
ContentSecurityPolicy = "{{$frontend.Headers.ContentSecurityPolicy}}" ContentSecurityPolicy = "{{$frontend.Headers.ContentSecurityPolicy}}"
PublicKey = "{{$frontend.Headers.PublicKey}}" PublicKey = "{{$frontend.Headers.PublicKey}}"
ReferrerPolicy = "{{$frontend.Headers.ReferrerPolicy}}" ReferrerPolicy = "{{$frontend.Headers.ReferrerPolicy}}"
IsDevelopment = {{$frontend.Headers.IsDevelopment}} IsDevelopment = {{$frontend.Headers.IsDevelopment}}
{{if $frontend.Headers.AllowedHosts}} {{if $frontend.Headers.AllowedHosts}}
AllowedHosts = [{{range $frontend.Headers.AllowedHosts}} AllowedHosts = [{{range $frontend.Headers.AllowedHosts}}
"{{.}}", "{{.}}",
{{end}}] {{end}}]
{{end}} {{end}}
{{if $frontend.Headers.HostsProxyHeaders}} {{if $frontend.Headers.HostsProxyHeaders}}
HostsProxyHeaders = [{{range $frontend.Headers.HostsProxyHeaders}} HostsProxyHeaders = [{{range $frontend.Headers.HostsProxyHeaders}}
"{{.}}", "{{.}}",
{{end}}] {{end}}]
{{end}} {{end}}
{{if $frontend.Headers.CustomRequestHeaders}} {{if $frontend.Headers.CustomRequestHeaders}}
[frontends."{{$frontendName}}".headers.customrequestheaders] [frontends."{{$frontendName}}".headers.customrequestheaders]
{{range $k, $v := $frontend.Headers.CustomRequestHeaders}} {{range $k, $v := $frontend.Headers.CustomRequestHeaders}}
{{$k}} = "{{$v}}" {{$k}} = "{{$v}}"
{{end}}
{{end}} {{end}}
{{end}} {{if $frontend.Headers.CustomResponseHeaders}}
{{if $frontend.Headers.CustomResponseHeaders}}
[frontends."{{$frontendName}}".headers.customresponseheaders] [frontends."{{$frontendName}}".headers.customresponseheaders]
{{range $k, $v := $frontend.Headers.CustomResponseHeaders}} {{range $k, $v := $frontend.Headers.CustomResponseHeaders}}
{{$k}} = "{{$v}}" {{$k}} = "{{$v}}"
{{end}}
{{end}} {{end}}
{{end}} {{if $frontend.Headers.SSLProxyHeaders}}
{{if $frontend.Headers.SSLProxyHeaders}}
[frontends."{{$frontendName}}".headers.SSLProxyHeaders] [frontends."{{$frontendName}}".headers.SSLProxyHeaders]
{{range $k, $v := $frontend.Headers.SSLProxyHeaders}} {{range $k, $v := $frontend.Headers.SSLProxyHeaders}}
{{$k}} = "{{$v}}" {{$k}} = "{{$v}}"
{{end}}
{{end}} {{end}}
{{end}} {{end}}
{{end}}
{{range $routeName, $route := $frontend.Routes}} {{range $routeName, $route := $frontend.Routes}}
[frontends."{{$frontendName}}".routes."{{$routeName}}"] [frontends."{{$frontendName}}".routes."{{$routeName}}"]
rule = "{{$route.Rule}}" rule = "{{$route.Rule}}"
{{end}} {{end}}
{{end}} {{end}}
{{range $tls := .TLS}} {{range $tls := .TLS }}
[[tls]] [[tls]]
entryPoints = [{{range $tls.EntryPoints}} entryPoints = [{{range $tls.EntryPoints }}
"{{.}}", "{{.}}",
{{end}}] {{end}}]
[tls.certificate] [tls.certificate]
certFile = """{{$tls.Certificate.CertFile}}""" certFile = """{{ $tls.Certificate.CertFile }}"""
keyFile = """{{$tls.Certificate.KeyFile}}""" keyFile = """{{ $tls.Certificate.KeyFile }}"""
{{end}} {{end}}