Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com> Co-authored-by: Jean-Baptiste Doumenjou <jb.doumenjou@gmail.com>
477 lines
14 KiB
TOML
477 lines
14 KiB
TOML
[global]
|
|
checkNewVersion = true
|
|
sendAnonymousUsage = true
|
|
|
|
[serversTransport]
|
|
insecureSkipVerify = true
|
|
rootCAs = ["foobar", "foobar"]
|
|
maxIdleConnsPerHost = 42
|
|
[serversTransport.forwardingTimeouts]
|
|
dialTimeout = 42
|
|
responseHeaderTimeout = 42
|
|
idleConnTimeout = 42
|
|
|
|
[entryPoints]
|
|
[entryPoints.EntryPoint0]
|
|
address = "foobar"
|
|
[entryPoints.EntryPoint0.transport]
|
|
[entryPoints.EntryPoint0.transport.lifeCycle]
|
|
requestAcceptGraceTimeout = 42
|
|
graceTimeOut = 42
|
|
[entryPoints.EntryPoint0.transport.respondingTimeouts]
|
|
readTimeout = 42
|
|
writeTimeout = 42
|
|
idleTimeout = 42
|
|
[entryPoints.EntryPoint0.proxyProtocol]
|
|
insecure = true
|
|
trustedIPs = ["foobar", "foobar"]
|
|
[entryPoints.EntryPoint0.forwardedHeaders]
|
|
insecure = true
|
|
trustedIPs = ["foobar", "foobar"]
|
|
|
|
[providers]
|
|
providersThrottleDuration = 42
|
|
[providers.docker]
|
|
constraints = "foobar"
|
|
watch = true
|
|
endpoint = "foobar"
|
|
defaultRule = "foobar"
|
|
exposedByDefault = true
|
|
useBindPortIP = true
|
|
swarmMode = true
|
|
network = "foobar"
|
|
swarmModeRefreshSeconds = 42
|
|
[providers.docker.tls]
|
|
ca = "foobar"
|
|
caOptional = true
|
|
cert = "foobar"
|
|
key = "foobar"
|
|
insecureSkipVerify = true
|
|
[providers.file]
|
|
directory = "foobar"
|
|
watch = true
|
|
filename = "foobar"
|
|
debugLogGeneratedTemplate = true
|
|
[providers.marathon]
|
|
constraints = "foobar"
|
|
trace = true
|
|
watch = true
|
|
endpoint = "foobar"
|
|
defaultRule = "foobar"
|
|
exposedByDefault = true
|
|
dcosToken = "foobar"
|
|
dialerTimeout = 42
|
|
responseHeaderTimeout = 42
|
|
tlsHandshakeTimeout = 42
|
|
keepAlive = 42
|
|
forceTaskHostname = true
|
|
respectReadinessChecks = true
|
|
[providers.marathon.tls]
|
|
ca = "foobar"
|
|
caOptional = true
|
|
cert = "foobar"
|
|
key = "foobar"
|
|
insecureSkipVerify = true
|
|
[providers.marathon.basic]
|
|
httpBasicAuthUser = "foobar"
|
|
httpBasicPassword = "foobar"
|
|
[providers.kubernetesIngress]
|
|
endpoint = "foobar"
|
|
token = "foobar"
|
|
certAuthFilePath = "foobar"
|
|
disablePassHostHeaders = true
|
|
namespaces = ["foobar", "foobar"]
|
|
labelSelector = "foobar"
|
|
ingressClass = "foobar"
|
|
[providers.kubernetesIngress.ingressEndpoint]
|
|
ip = "foobar"
|
|
hostname = "foobar"
|
|
publishedService = "foobar"
|
|
[providers.kubernetesCRD]
|
|
endpoint = "foobar"
|
|
token = "foobar"
|
|
certAuthFilePath = "foobar"
|
|
disablePassHostHeaders = true
|
|
namespaces = ["foobar", "foobar"]
|
|
labelSelector = "foobar"
|
|
ingressClass = "foobar"
|
|
[providers.rest]
|
|
entryPoint = "foobar"
|
|
[providers.rancher]
|
|
constraints = "foobar"
|
|
watch = true
|
|
defaultRule = "foobar"
|
|
exposedByDefault = true
|
|
enableServiceHealthFilter = true
|
|
refreshSeconds = 42
|
|
intervalPoll = true
|
|
prefix = "foobar"
|
|
|
|
[api]
|
|
entryPoint = "foobar"
|
|
dashboard = true
|
|
middlewares = ["foobar", "foobar"]
|
|
[api.statistics]
|
|
recentErrors = 42
|
|
|
|
[metrics]
|
|
[metrics.prometheus]
|
|
buckets = [42.0, 42.0]
|
|
entryPoint = "foobar"
|
|
middlewares = ["foobar", "foobar"]
|
|
[metrics.dataDog]
|
|
address = "foobar"
|
|
pushInterval = "10s"
|
|
[metrics.statsD]
|
|
address = "foobar"
|
|
pushInterval = "10s"
|
|
[metrics.influxDB]
|
|
address = "foobar"
|
|
protocol = "foobar"
|
|
pushInterval = "10s"
|
|
database = "foobar"
|
|
retentionPolicy = "foobar"
|
|
username = "foobar"
|
|
password = "foobar"
|
|
|
|
[ping]
|
|
entryPoint = "foobar"
|
|
middlewares = ["foobar", "foobar"]
|
|
|
|
[log]
|
|
level = "foobar"
|
|
filePath = "foobar"
|
|
format = "foobar"
|
|
|
|
[accessLog]
|
|
filePath = "foobar"
|
|
format = "foobar"
|
|
bufferingSize = 42
|
|
[accessLog.filters]
|
|
statusCodes = ["foobar", "foobar"]
|
|
retryAttempts = true
|
|
minDuration = 42
|
|
[accessLog.fields]
|
|
defaultMode = "foobar"
|
|
[accessLog.fields.names]
|
|
name0 = "foobar"
|
|
name1 = "foobar"
|
|
[accessLog.fields.headers]
|
|
defaultMode = "foobar"
|
|
[accessLog.fields.headers.names]
|
|
name0 = "foobar"
|
|
name1 = "foobar"
|
|
|
|
[tracing]
|
|
serviceName = "foobar"
|
|
spanNameLimit = 42
|
|
[tracing.jaeger]
|
|
samplingServerURL = "foobar"
|
|
samplingType = "foobar"
|
|
samplingParam = 42.0
|
|
localAgentHostPort = "foobar"
|
|
gen128Bit = true
|
|
propagation = "foobar"
|
|
traceContextHeaderName = "foobar"
|
|
[tracing.zipkin]
|
|
httpEndpoint = "foobar"
|
|
sameSpan = true
|
|
id128Bit = true
|
|
debug = true
|
|
sampleRate = 42.0
|
|
[tracing.dataDog]
|
|
localAgentHostPort = "foobar"
|
|
globalTag = "foobar"
|
|
debug = true
|
|
prioritySampling = true
|
|
traceIDHeaderName = "foobar"
|
|
parentIDHeaderName = "foobar"
|
|
samplingPriorityHeaderName = "foobar"
|
|
bagagePrefixHeaderName = "foobar"
|
|
[tracing.instana]
|
|
localAgentHost = "foobar"
|
|
localAgentPort = 42
|
|
logLevel = "foobar"
|
|
[tracing.haystack]
|
|
localAgentHost = "foobar"
|
|
localAgentPort = 42
|
|
globalTag = "foobar"
|
|
traceIDHeaderName = "foobar"
|
|
parentIDHeaderName = "foobar"
|
|
spanIDHeaderName = "foobar"
|
|
|
|
[hostResolver]
|
|
cnameFlattening = true
|
|
resolvConfig = "foobar"
|
|
resolvDepth = 42
|
|
|
|
[certificatesResolvers.default.acme]
|
|
email = "foobar"
|
|
acmeLogging = true
|
|
caServer = "foobar"
|
|
storage = "foobar"
|
|
entryPoint = "foobar"
|
|
keyType = "foobar"
|
|
[certificatesResolvers.default.acme.dnsChallenge]
|
|
provider = "foobar"
|
|
delayBeforeCheck = 42
|
|
resolvers = ["foobar", "foobar"]
|
|
disablePropagationCheck = true
|
|
[certificatesResolvers.default.acme.httpChallenge]
|
|
entryPoint = "foobar"
|
|
[certificatesResolvers.default.acme.tlsChallenge]
|
|
|
|
## Dynamic configuration
|
|
|
|
[http]
|
|
[http.routers]
|
|
[http.routers.Router0]
|
|
entryPoints = ["foobar", "foobar"]
|
|
middlewares = ["foobar", "foobar"]
|
|
service = "foobar"
|
|
rule = "foobar"
|
|
priority = 42
|
|
[http.routers.Router0.tls]
|
|
[http.middlewares]
|
|
[http.middlewares.Middleware0]
|
|
[http.middlewares.Middleware0.addPrefix]
|
|
prefix = "foobar"
|
|
[http.middlewares.Middleware1]
|
|
[http.middlewares.Middleware1.stripPrefix]
|
|
prefixes = ["foobar", "foobar"]
|
|
[http.middlewares.Middleware10]
|
|
[http.middlewares.Middleware10.rateLimit]
|
|
extractorFunc = "foobar"
|
|
[http.middlewares.Middleware10.rateLimit.rateSet]
|
|
[http.middlewares.Middleware10.rateLimit.rateSet.Rate0]
|
|
period = 42000000000
|
|
average = 42
|
|
burst = 42
|
|
[http.middlewares.Middleware10.rateLimit.rateSet.Rate1]
|
|
period = 42000000000
|
|
average = 42
|
|
burst = 42
|
|
[http.middlewares.Middleware11]
|
|
[http.middlewares.Middleware11.redirectRegex]
|
|
regex = "foobar"
|
|
replacement = "foobar"
|
|
permanent = true
|
|
[http.middlewares.Middleware12]
|
|
[http.middlewares.Middleware12.redirectScheme]
|
|
scheme = "foobar"
|
|
port = "foobar"
|
|
permanent = true
|
|
[http.middlewares.Middleware13]
|
|
[http.middlewares.Middleware13.basicAuth]
|
|
users = ["foobar", "foobar"]
|
|
usersFile = "foobar"
|
|
realm = "foobar"
|
|
removeHeader = true
|
|
headerField = "foobar"
|
|
[http.middlewares.Middleware14]
|
|
[http.middlewares.Middleware14.digestAuth]
|
|
users = ["foobar", "foobar"]
|
|
usersFile = "foobar"
|
|
removeHeader = true
|
|
realm = "foobar"
|
|
headerField = "foobar"
|
|
[http.middlewares.Middleware15]
|
|
[http.middlewares.Middleware15.forwardAuth]
|
|
address = "foobar"
|
|
trustForwardHeader = true
|
|
authResponseHeaders = ["foobar", "foobar"]
|
|
[http.middlewares.Middleware15.forwardAuth.tls]
|
|
ca = "foobar"
|
|
caOptional = true
|
|
cert = "foobar"
|
|
key = "foobar"
|
|
insecureSkipVerify = true
|
|
[http.middlewares.Middleware16]
|
|
[http.middlewares.Middleware16.inFlightReq]
|
|
amount = 42
|
|
[http.middlewares.Middleware16.inFlightReq.sourceCriterion]
|
|
requestHeaderName = "foobar"
|
|
requestHost = true
|
|
[http.middlewares.Middleware16.inFlightReq.sourceCriterion.ipStrategy]
|
|
depth = 42
|
|
excludedIPs = ["foobar", "foobar"]
|
|
[http.middlewares.Middleware17]
|
|
[http.middlewares.Middleware17.buffering]
|
|
maxRequestBodyBytes = 42
|
|
memRequestBodyBytes = 42
|
|
maxResponseBodyBytes = 42
|
|
memResponseBodyBytes = 42
|
|
retryExpression = "foobar"
|
|
[http.middlewares.Middleware18]
|
|
[http.middlewares.Middleware18.circuitBreaker]
|
|
expression = "foobar"
|
|
[http.middlewares.Middleware19]
|
|
[http.middlewares.Middleware19.compress]
|
|
[http.middlewares.Middleware2]
|
|
[http.middlewares.Middleware2.stripPrefixRegex]
|
|
regex = ["foobar", "foobar"]
|
|
[http.middlewares.Middleware20]
|
|
[http.middlewares.Middleware20.passTLSClientCert]
|
|
pem = true
|
|
[http.middlewares.Middleware20.passTLSClientCert.info]
|
|
notAfter = true
|
|
notBefore = true
|
|
sans = true
|
|
[http.middlewares.Middleware20.passTLSClientCert.info.subject]
|
|
country = true
|
|
province = true
|
|
locality = true
|
|
organization = true
|
|
commonName = true
|
|
serialNumber = true
|
|
domainComponent = true
|
|
[http.middlewares.Middleware20.passTLSClientCert.info.issuer]
|
|
country = true
|
|
province = true
|
|
locality = true
|
|
organization = true
|
|
commonName = true
|
|
serialNumber = true
|
|
domainComponent = true
|
|
[http.middlewares.Middleware21]
|
|
[http.middlewares.Middleware21.retry]
|
|
regex = 0
|
|
[http.middlewares.Middleware3]
|
|
[http.middlewares.Middleware3.replacePath]
|
|
path = "foobar"
|
|
[http.middlewares.Middleware4]
|
|
[http.middlewares.Middleware4.replacePathRegex]
|
|
regex = "foobar"
|
|
replacement = "foobar"
|
|
[http.middlewares.Middleware5]
|
|
[http.middlewares.Middleware5.chain]
|
|
middlewares = ["foobar", "foobar"]
|
|
[http.middlewares.Middleware6]
|
|
[http.middlewares.Middleware6.ipWhiteList]
|
|
sourceRange = ["foobar", "foobar"]
|
|
[http.middlewares.Middleware7]
|
|
[http.middlewares.Middleware7.ipWhiteList]
|
|
[http.middlewares.Middleware7.ipWhiteList.ipStrategy]
|
|
depth = 42
|
|
excludedIPs = ["foobar", "foobar"]
|
|
[http.middlewares.Middleware8]
|
|
[http.middlewares.Middleware8.headers]
|
|
accessControlAllowCredentials = true
|
|
accessControlAllowHeaders = ["foobar", "foobar"]
|
|
accessControlAllowMethods = ["foobar", "foobar"]
|
|
accessControlAllowOrigin = "foobar"
|
|
accessControlExposeHeaders = ["foobar", "foobar"]
|
|
accessControlMaxAge = 42
|
|
addVaryHeader = true
|
|
allowedHosts = ["foobar", "foobar"]
|
|
hostsProxyHeaders = ["foobar", "foobar"]
|
|
sslRedirect = true
|
|
sslTemporaryRedirect = true
|
|
sslHost = "foobar"
|
|
sslForceHost = true
|
|
stsSeconds = 42
|
|
stsIncludeSubdomains = true
|
|
stsPreload = true
|
|
forceSTSHeader = true
|
|
frameDeny = true
|
|
customFrameOptionsValue = "foobar"
|
|
contentTypeNosniff = true
|
|
browserXssFilter = true
|
|
customBrowserXSSValue = "foobar"
|
|
contentSecurityPolicy = "foobar"
|
|
publicKey = "foobar"
|
|
referrerPolicy = "foobar"
|
|
featurePolicy = "foobar"
|
|
isDevelopment = true
|
|
[http.middlewares.Middleware8.headers.customRequestHeaders]
|
|
name0 = "foobar"
|
|
name1 = "foobar"
|
|
[http.middlewares.Middleware8.headers.customResponseHeaders]
|
|
name0 = "foobar"
|
|
name1 = "foobar"
|
|
[http.middlewares.Middleware8.headers.sslProxyHeaders]
|
|
name0 = "foobar"
|
|
name1 = "foobar"
|
|
[http.middlewares.Middleware9]
|
|
[http.middlewares.Middleware9.errors]
|
|
status = ["foobar", "foobar"]
|
|
service = "foobar"
|
|
query = "foobar"
|
|
[http.services]
|
|
[http.services.Service0]
|
|
[http.services.Service0.loadBalancer]
|
|
passHostHeader = true
|
|
[http.services.Service0.loadBalancer.sticky.cookie]
|
|
name = "foobar"
|
|
|
|
[[http.services.Service0.loadBalancer.servers]]
|
|
url = "foobar"
|
|
|
|
[[http.services.Service0.loadBalancer.servers]]
|
|
url = "foobar"
|
|
[http.services.Service0.loadBalancer.healthCheck]
|
|
scheme = "foobar"
|
|
path = "foobar"
|
|
port = 42
|
|
interval = "foobar"
|
|
timeout = "foobar"
|
|
hostname = "foobar"
|
|
[http.services.Service0.loadBalancer.healthCheck.headers]
|
|
name0 = "foobar"
|
|
name1 = "foobar"
|
|
[http.services.Service0.loadBalancer.responseForwarding]
|
|
flushInterval = "foobar"
|
|
|
|
[tcp]
|
|
[tcp.routers]
|
|
[tcp.routers.TCPRouter0]
|
|
entryPoints = ["foobar", "foobar"]
|
|
service = "foobar"
|
|
rule = "foobar"
|
|
[tcp.routers.TCPRouter0.tls]
|
|
passthrough = true
|
|
[tcp.services]
|
|
[tcp.services.TCPService0]
|
|
[tcp.services.TCPService0.loadBalancer]
|
|
|
|
[[tcp.services.TCPService0.loadBalancer.servers]]
|
|
address = "foobar"
|
|
|
|
[[tcp.services.TCPService0.loadBalancer.servers]]
|
|
address = "foobar"
|
|
|
|
[tls]
|
|
|
|
[[tls.Certificates]]
|
|
certFile = "foobar"
|
|
keyFile = "foobar"
|
|
stores = ["foobar", "foobar"]
|
|
|
|
[[tls.Certificates]]
|
|
certFile = "foobar"
|
|
keyFile = "foobar"
|
|
stores = ["foobar", "foobar"]
|
|
[tls.options]
|
|
[tls.options.TLS0]
|
|
minVersion = "foobar"
|
|
cipherSuites = ["foobar", "foobar"]
|
|
sniStrict = true
|
|
[tls.options.TLS0.clientAuth]
|
|
caFiles = ["foobar", "foobar"]
|
|
clientAuthType = "VerifyClientCertIfGiven"
|
|
[tls.options.TLS1]
|
|
minVersion = "foobar"
|
|
cipherSuites = ["foobar", "foobar"]
|
|
sniStrict = true
|
|
[tls.options.TLS1.clientAuth]
|
|
caFiles = ["foobar", "foobar"]
|
|
clientAuthType = "VerifyClientCertIfGiven"
|
|
[tls.stores]
|
|
[tls.stores.Store0]
|
|
[tls.stores.Store0.defaultCertificate]
|
|
certFile = "foobar"
|
|
keyFile = "foobar"
|
|
[tls.stores.Store1]
|
|
[tls.stores.Store1.defaultCertificate]
|
|
certFile = "foobar"
|
|
keyFile = "foobar"
|