1
0
Fork 0

Use the same case everywhere

This commit is contained in:
Ludovic Fernandez 2019-07-01 11:30:05 +02:00 committed by Traefiker Bot
parent f6436663eb
commit c7d336f958
179 changed files with 5118 additions and 4436 deletions

View file

@ -67,267 +67,235 @@ func Test_decodeFileToNode_Toml(t *testing.T) {
expected := &parser.Node{
Name: "traefik",
Children: []*parser.Node{
{Name: "ACME",
Children: []*parser.Node{
{Name: "ACMELogging", Value: "true"},
{Name: "CAServer", Value: "foobar"},
{Name: "DNSChallenge", Children: []*parser.Node{
{Name: "DelayBeforeCheck", Value: "42"},
{Name: "DisablePropagationCheck", Value: "true"},
{Name: "Provider", Value: "foobar"},
{Name: "Resolvers", Value: "foobar,foobar"},
}},
{Name: "Domains", Children: []*parser.Node{
{Name: "[0]", Children: []*parser.Node{
{Name: "Main", Value: "foobar"},
{Name: "SANs", Value: "foobar,foobar"},
}},
{Name: "[1]", Children: []*parser.Node{
{Name: "Main", Value: "foobar"},
{Name: "SANs", Value: "foobar,foobar"},
}},
}},
{Name: "Email", Value: "foobar"},
{Name: "EntryPoint", Value: "foobar"},
{Name: "HTTPChallenge", Children: []*parser.Node{
{Name: "EntryPoint", Value: "foobar"}}},
{Name: "KeyType", Value: "foobar"},
{Name: "OnHostRule", Value: "true"},
{Name: "Storage", Value: "foobar"},
{Name: "TLSChallenge"},
},
},
{Name: "API", Children: []*parser.Node{
{Name: "Dashboard", Value: "true"},
{Name: "EntryPoint", Value: "foobar"},
{Name: "Middlewares", Value: "foobar,foobar"},
{Name: "Statistics", Children: []*parser.Node{
{Name: "RecentErrors", Value: "42"}}}}},
{Name: "AccessLog", Children: []*parser.Node{
{Name: "BufferingSize", Value: "42"},
{Name: "Fields", Children: []*parser.Node{
{Name: "DefaultMode", Value: "foobar"},
{Name: "Headers", Children: []*parser.Node{
{Name: "DefaultMode", Value: "foobar"},
{Name: "Names", Children: []*parser.Node{
{Name: "accessLog", Children: []*parser.Node{
{Name: "bufferingSize", Value: "42"},
{Name: "fields", Children: []*parser.Node{
{Name: "defaultMode", Value: "foobar"},
{Name: "headers", Children: []*parser.Node{
{Name: "defaultMode", Value: "foobar"},
{Name: "names", Children: []*parser.Node{
{Name: "name0", Value: "foobar"},
{Name: "name1", Value: "foobar"}}}}},
{Name: "Names", Children: []*parser.Node{
{Name: "names", Children: []*parser.Node{
{Name: "name0", Value: "foobar"},
{Name: "name1", Value: "foobar"}}}}},
{Name: "FilePath", Value: "foobar"},
{Name: "Filters", Children: []*parser.Node{
{Name: "MinDuration", Value: "42"},
{Name: "RetryAttempts", Value: "true"},
{Name: "StatusCodes", Value: "foobar,foobar"}}},
{Name: "Format", Value: "foobar"}}},
{Name: "EntryPoints", Children: []*parser.Node{
{Name: "filePath", Value: "foobar"},
{Name: "filters", Children: []*parser.Node{
{Name: "minDuration", Value: "42"},
{Name: "retryAttempts", Value: "true"},
{Name: "statusCodes", Value: "foobar,foobar"}}},
{Name: "format", Value: "foobar"}}},
{Name: "acme",
Children: []*parser.Node{
{Name: "acmeLogging", Value: "true"},
{Name: "caServer", Value: "foobar"},
{Name: "dnsChallenge", Children: []*parser.Node{
{Name: "delayBeforeCheck", Value: "42"},
{Name: "disablePropagationCheck", Value: "true"},
{Name: "provider", Value: "foobar"},
{Name: "resolvers", Value: "foobar,foobar"},
}},
{Name: "domains", Children: []*parser.Node{
{Name: "[0]", Children: []*parser.Node{
{Name: "main", Value: "foobar"},
{Name: "sans", Value: "foobar,foobar"},
}},
{Name: "[1]", Children: []*parser.Node{
{Name: "main", Value: "foobar"},
{Name: "sans", Value: "foobar,foobar"},
}},
}},
{Name: "email", Value: "foobar"},
{Name: "entryPoint", Value: "foobar"},
{Name: "httpChallenge", Children: []*parser.Node{
{Name: "entryPoint", Value: "foobar"}}},
{Name: "keyType", Value: "foobar"},
{Name: "onHostRule", Value: "true"},
{Name: "storage", Value: "foobar"},
{Name: "tlsChallenge"},
},
},
{Name: "api", Children: []*parser.Node{
{Name: "dashboard", Value: "true"},
{Name: "entryPoint", Value: "foobar"},
{Name: "middlewares", Value: "foobar,foobar"},
{Name: "statistics", Children: []*parser.Node{
{Name: "recentErrors", Value: "42"}}}}},
{Name: "entryPoints", Children: []*parser.Node{
{Name: "EntryPoint0", Children: []*parser.Node{
{Name: "Address", Value: "foobar"},
{Name: "ForwardedHeaders", Children: []*parser.Node{
{Name: "Insecure", Value: "true"},
{Name: "TrustedIPs", Value: "foobar,foobar"}}},
{Name: "ProxyProtocol", Children: []*parser.Node{
{Name: "Insecure", Value: "true"},
{Name: "TrustedIPs", Value: "foobar,foobar"}}},
{Name: "Transport", Children: []*parser.Node{
{Name: "LifeCycle", Children: []*parser.Node{
{Name: "GraceTimeOut", Value: "42"},
{Name: "RequestAcceptGraceTimeout", Value: "42"}}},
{Name: "RespondingTimeouts", Children: []*parser.Node{
{Name: "IdleTimeout", Value: "42"},
{Name: "ReadTimeout", Value: "42"},
{Name: "WriteTimeout", Value: "42"}}}}}}}}},
{Name: "Global", Children: []*parser.Node{
{Name: "CheckNewVersion", Value: "true"},
{Name: "Debug", Value: "true"},
{Name: "SendAnonymousUsage", Value: "true"}}},
{Name: "HostResolver", Children: []*parser.Node{
{Name: "CnameFlattening", Value: "true"},
{Name: "ResolvConfig", Value: "foobar"},
{Name: "ResolvDepth", Value: "42"}}},
{Name: "Log", Children: []*parser.Node{
{Name: "FilePath", Value: "foobar"},
{Name: "Format", Value: "foobar"},
{Name: "Level", Value: "foobar"}}},
{Name: "Metrics", Children: []*parser.Node{
{Name: "Datadog", Children: []*parser.Node{
{Name: "Address", Value: "foobar"},
{Name: "PushInterval", Value: "10s"}}},
{Name: "InfluxDB", Children: []*parser.Node{
{Name: "Address", Value: "foobar"},
{Name: "Database", Value: "foobar"},
{Name: "Password", Value: "foobar"},
{Name: "Protocol", Value: "foobar"},
{Name: "PushInterval", Value: "10s"},
{Name: "RetentionPolicy", Value: "foobar"},
{Name: "Username", Value: "foobar"}}},
{Name: "Prometheus", Children: []*parser.Node{
{Name: "Buckets", Value: "42,42"},
{Name: "EntryPoint", Value: "foobar"},
{Name: "Middlewares", Value: "foobar,foobar"}}},
{Name: "StatsD", Children: []*parser.Node{
{Name: "Address", Value: "foobar"},
{Name: "PushInterval", Value: "10s"}}}}},
{Name: "Ping", Children: []*parser.Node{
{Name: "EntryPoint", Value: "foobar"},
{Name: "Middlewares", Value: "foobar,foobar"}}},
{Name: "Providers", Children: []*parser.Node{
{Name: "Docker", Children: []*parser.Node{
{Name: "Constraints", Children: []*parser.Node{
{Name: "[0]", Children: []*parser.Node{
{Name: "Key", Value: "foobar"},
{Name: "MustMatch", Value: "true"},
{Name: "Value", Value: "foobar"},
}},
{Name: "[1]", Children: []*parser.Node{
{Name: "Key", Value: "foobar"},
{Name: "MustMatch", Value: "true"},
{Name: "Value", Value: "foobar"},
}},
}},
{Name: "DefaultRule", Value: "foobar"},
{Name: "Endpoint", Value: "foobar"},
{Name: "ExposedByDefault", Value: "true"},
{Name: "Network", Value: "foobar"},
{Name: "SwarmMode", Value: "true"},
{Name: "SwarmModeRefreshSeconds", Value: "42"},
{Name: "TLS", Children: []*parser.Node{
{Name: "CA", Value: "foobar"},
{Name: "CAOptional", Value: "true"},
{Name: "Cert", Value: "foobar"},
{Name: "InsecureSkipVerify", Value: "true"},
{Name: "Key", Value: "foobar"}}},
{Name: "UseBindPortIP", Value: "true"},
{Name: "Watch", Value: "true"}}},
{Name: "File", Children: []*parser.Node{
{Name: "DebugLogGeneratedTemplate", Value: "true"},
{Name: "Directory", Value: "foobar"},
{Name: "Filename", Value: "foobar"},
{Name: "TraefikFile", Value: "foobar"},
{Name: "Watch", Value: "true"}}},
{Name: "Kubernetes", Children: []*parser.Node{
{Name: "CertAuthFilePath", Value: "foobar"},
{Name: "DisablePassHostHeaders", Value: "true"},
{Name: "Endpoint", Value: "foobar"},
{Name: "IngressClass", Value: "foobar"},
{Name: "IngressEndpoint", Children: []*parser.Node{
{Name: "Hostname", Value: "foobar"},
{Name: "IP", Value: "foobar"},
{Name: "PublishedService", Value: "foobar"}}},
{Name: "LabelSelector", Value: "foobar"},
{Name: "Namespaces", Value: "foobar,foobar"},
{Name: "Token", Value: "foobar"}}},
{Name: "KubernetesCRD",
{Name: "address", Value: "foobar"},
{Name: "forwardedHeaders", Children: []*parser.Node{
{Name: "insecure", Value: "true"},
{Name: "trustedIPs", Value: "foobar,foobar"}}},
{Name: "proxyProtocol", Children: []*parser.Node{
{Name: "insecure", Value: "true"},
{Name: "trustedIPs", Value: "foobar,foobar"}}},
{Name: "transport", Children: []*parser.Node{
{Name: "lifeCycle", Children: []*parser.Node{
{Name: "graceTimeOut", Value: "42"},
{Name: "requestAcceptGraceTimeout", Value: "42"}}},
{Name: "respondingTimeouts", Children: []*parser.Node{
{Name: "idleTimeout", Value: "42"},
{Name: "readTimeout", Value: "42"},
{Name: "writeTimeout", Value: "42"}}}}}}}}},
{Name: "global", Children: []*parser.Node{
{Name: "checkNewVersion", Value: "true"},
{Name: "sendAnonymousUsage", Value: "true"}}},
{Name: "hostResolver", Children: []*parser.Node{
{Name: "cnameFlattening", Value: "true"},
{Name: "resolvConfig", Value: "foobar"},
{Name: "resolvDepth", Value: "42"}}},
{Name: "log", Children: []*parser.Node{
{Name: "filePath", Value: "foobar"},
{Name: "format", Value: "foobar"},
{Name: "level", Value: "foobar"}}},
{Name: "metrics", Children: []*parser.Node{
{Name: "dataDog", Children: []*parser.Node{
{Name: "address", Value: "foobar"},
{Name: "pushInterval", Value: "10s"}}},
{Name: "influxDB", Children: []*parser.Node{
{Name: "address", Value: "foobar"},
{Name: "database", Value: "foobar"},
{Name: "password", Value: "foobar"},
{Name: "protocol", Value: "foobar"},
{Name: "pushInterval", Value: "10s"},
{Name: "retentionPolicy", Value: "foobar"},
{Name: "username", Value: "foobar"}}},
{Name: "prometheus", Children: []*parser.Node{
{Name: "buckets", Value: "42,42"},
{Name: "entryPoint", Value: "foobar"},
{Name: "middlewares", Value: "foobar,foobar"}}},
{Name: "statsD", Children: []*parser.Node{
{Name: "address", Value: "foobar"},
{Name: "pushInterval", Value: "10s"}}}}},
{Name: "ping", Children: []*parser.Node{
{Name: "entryPoint", Value: "foobar"},
{Name: "middlewares", Value: "foobar,foobar"}}},
{Name: "providers", Children: []*parser.Node{
{Name: "docker", Children: []*parser.Node{
{Name: "constraints", Value: "foobar"},
{Name: "defaultRule", Value: "foobar"},
{Name: "endpoint", Value: "foobar"},
{Name: "exposedByDefault", Value: "true"},
{Name: "network", Value: "foobar"},
{Name: "swarmMode", Value: "true"},
{Name: "swarmModeRefreshSeconds", Value: "42"},
{Name: "tls", Children: []*parser.Node{
{Name: "ca", Value: "foobar"},
{Name: "caOptional", Value: "true"},
{Name: "cert", Value: "foobar"},
{Name: "insecureSkipVerify", Value: "true"},
{Name: "key", Value: "foobar"}}},
{Name: "useBindPortIP", Value: "true"},
{Name: "watch", Value: "true"}}},
{Name: "file", Children: []*parser.Node{
{Name: "debugLogGeneratedTemplate", Value: "true"},
{Name: "directory", Value: "foobar"},
{Name: "filename", Value: "foobar"},
{Name: "traefikFile", Value: "foobar"},
{Name: "watch", Value: "true"}}},
{Name: "kubernetes", Children: []*parser.Node{
{Name: "certAuthFilePath", Value: "foobar"},
{Name: "disablePassHostHeaders", Value: "true"},
{Name: "endpoint", Value: "foobar"},
{Name: "ingressClass", Value: "foobar"},
{Name: "ingressEndpoint", Children: []*parser.Node{
{Name: "hostname", Value: "foobar"},
{Name: "ip", Value: "foobar"},
{Name: "publishedService", Value: "foobar"}}},
{Name: "labelSelector", Value: "foobar"},
{Name: "namespaces", Value: "foobar,foobar"},
{Name: "token", Value: "foobar"}}},
{Name: "kubernetesCRD",
Children: []*parser.Node{
{Name: "CertAuthFilePath", Value: "foobar"},
{Name: "DisablePassHostHeaders", Value: "true"},
{Name: "Endpoint", Value: "foobar"},
{Name: "IngressClass", Value: "foobar"},
{Name: "LabelSelector", Value: "foobar"},
{Name: "Namespaces", Value: "foobar,foobar"},
{Name: "Token", Value: "foobar"}}},
{Name: "Marathon", Children: []*parser.Node{
{Name: "Basic", Children: []*parser.Node{
{Name: "HTTPBasicAuthUser", Value: "foobar"},
{Name: "HTTPBasicPassword", Value: "foobar"}}},
{Name: "Constraints", Children: []*parser.Node{
{Name: "[0]", Children: []*parser.Node{
{Name: "Key", Value: "foobar"},
{Name: "MustMatch", Value: "true"},
{Name: "Value", Value: "foobar"},
}},
{Name: "[1]", Children: []*parser.Node{
{Name: "Key", Value: "foobar"},
{Name: "MustMatch", Value: "true"},
{Name: "Value", Value: "foobar"},
}},
}},
{Name: "DCOSToken", Value: "foobar"},
{Name: "DefaultRule", Value: "foobar"},
{Name: "DialerTimeout", Value: "42"},
{Name: "Endpoint", Value: "foobar"},
{Name: "ExposedByDefault", Value: "true"},
{Name: "ForceTaskHostname", Value: "true"},
{Name: "KeepAlive", Value: "42"},
{Name: "RespectReadinessChecks", Value: "true"},
{Name: "ResponseHeaderTimeout", Value: "42"},
{Name: "TLS", Children: []*parser.Node{
{Name: "CA", Value: "foobar"},
{Name: "CAOptional", Value: "true"},
{Name: "Cert", Value: "foobar"},
{Name: "InsecureSkipVerify", Value: "true"},
{Name: "Key", Value: "foobar"}}},
{Name: "TLSHandshakeTimeout", Value: "42"},
{Name: "Trace", Value: "true"},
{Name: "Watch", Value: "true"}}},
{Name: "ProvidersThrottleDuration", Value: "42"},
{Name: "Rancher", Children: []*parser.Node{
{Name: "Constraints", Children: []*parser.Node{
{Name: "[0]", Children: []*parser.Node{
{Name: "Key", Value: "foobar"},
{Name: "MustMatch", Value: "true"},
{Name: "Value", Value: "foobar"},
}},
{Name: "[1]", Children: []*parser.Node{
{Name: "Key", Value: "foobar"},
{Name: "MustMatch", Value: "true"},
{Name: "Value", Value: "foobar"},
}},
}},
{Name: "DefaultRule", Value: "foobar"},
{Name: "EnableServiceHealthFilter", Value: "true"},
{Name: "ExposedByDefault", Value: "true"},
{Name: "IntervalPoll", Value: "true"},
{Name: "Prefix", Value: "foobar"},
{Name: "RefreshSeconds", Value: "42"},
{Name: "Watch", Value: "true"}}},
{Name: "Rest", Children: []*parser.Node{
{Name: "EntryPoint", Value: "foobar"}}}}},
{Name: "ServersTransport", Children: []*parser.Node{
{Name: "ForwardingTimeouts", Children: []*parser.Node{
{Name: "DialTimeout", Value: "42"},
{Name: "ResponseHeaderTimeout", Value: "42"}}},
{Name: "InsecureSkipVerify", Value: "true"},
{Name: "MaxIdleConnsPerHost", Value: "42"},
{Name: "RootCAs", Value: "foobar,foobar"}}},
{Name: "Tracing", Children: []*parser.Node{
{Name: "DataDog", Children: []*parser.Node{
{Name: "BagagePrefixHeaderName", Value: "foobar"},
{Name: "Debug", Value: "true"},
{Name: "GlobalTag", Value: "foobar"},
{Name: "LocalAgentHostPort", Value: "foobar"},
{Name: "ParentIDHeaderName", Value: "foobar"},
{Name: "PrioritySampling", Value: "true"},
{Name: "SamplingPriorityHeaderName", Value: "foobar"},
{Name: "TraceIDHeaderName", Value: "foobar"}}},
{Name: "Haystack", Children: []*parser.Node{
{Name: "GlobalTag", Value: "foobar"},
{Name: "LocalAgentHost", Value: "foobar"},
{Name: "LocalAgentPort", Value: "42"},
{Name: "ParentIDHeaderName", Value: "foobar"},
{Name: "SpanIDHeaderName", Value: "foobar"},
{Name: "TraceIDHeaderName", Value: "foobar"}}},
{Name: "Instana", Children: []*parser.Node{
{Name: "LocalAgentHost", Value: "foobar"},
{Name: "LocalAgentPort", Value: "42"},
{Name: "LogLevel", Value: "foobar"}}},
{Name: "Jaeger", Children: []*parser.Node{
{Name: "Gen128Bit", Value: "true"},
{Name: "LocalAgentHostPort", Value: "foobar"},
{Name: "Propagation", Value: "foobar"},
{Name: "SamplingParam", Value: "42"},
{Name: "SamplingServerURL", Value: "foobar"},
{Name: "SamplingType", Value: "foobar"},
{Name: "TraceContextHeaderName", Value: "foobar"}}},
{Name: "ServiceName", Value: "foobar"},
{Name: "SpanNameLimit", Value: "42"},
{Name: "Zipkin", Children: []*parser.Node{
{Name: "Debug", Value: "true"},
{Name: "HTTPEndpoint", Value: "foobar"},
{Name: "ID128Bit", Value: "true"},
{Name: "SameSpan", Value: "true"},
{Name: "SampleRate", Value: "42"}}}}}},
{Name: "certAuthFilePath", Value: "foobar"},
{Name: "disablePassHostHeaders", Value: "true"},
{Name: "endpoint", Value: "foobar"},
{Name: "ingressClass", Value: "foobar"},
{Name: "labelSelector", Value: "foobar"},
{Name: "namespaces", Value: "foobar,foobar"},
{Name: "token", Value: "foobar"}}},
{Name: "marathon", Children: []*parser.Node{
{Name: "basic", Children: []*parser.Node{
{Name: "httpBasicAuthUser", Value: "foobar"},
{Name: "httpBasicPassword", Value: "foobar"}}},
{Name: "constraints", Value: "foobar"},
{Name: "dcosToken", Value: "foobar"},
{Name: "defaultRule", Value: "foobar"},
{Name: "dialerTimeout", Value: "42"},
{Name: "endpoint", Value: "foobar"},
{Name: "exposedByDefault", Value: "true"},
{Name: "forceTaskHostname", Value: "true"},
{Name: "keepAlive", Value: "42"},
{Name: "respectReadinessChecks", Value: "true"},
{Name: "responseHeaderTimeout", Value: "42"},
{Name: "tls", Children: []*parser.Node{
{Name: "ca", Value: "foobar"},
{Name: "caOptional", Value: "true"},
{Name: "cert", Value: "foobar"},
{Name: "insecureSkipVerify", Value: "true"},
{Name: "key", Value: "foobar"}}},
{Name: "tlsHandshakeTimeout", Value: "42"},
{Name: "trace", Value: "true"},
{Name: "watch", Value: "true"}}},
{Name: "providersThrottleDuration", Value: "42"},
{Name: "rancher", Children: []*parser.Node{
{Name: "constraints", Value: "foobar"},
{Name: "defaultRule", Value: "foobar"},
{Name: "enableServiceHealthFilter", Value: "true"},
{Name: "exposedByDefault", Value: "true"},
{Name: "intervalPoll", Value: "true"},
{Name: "prefix", Value: "foobar"},
{Name: "refreshSeconds", Value: "42"},
{Name: "watch", Value: "true"}}},
{Name: "rest", Children: []*parser.Node{
{Name: "entryPoint", Value: "foobar"}}}}},
{Name: "serversTransport", Children: []*parser.Node{
{Name: "forwardingTimeouts", Children: []*parser.Node{
{Name: "dialTimeout", Value: "42"},
{Name: "idleConnTimeout", Value: "42"},
{Name: "responseHeaderTimeout", Value: "42"}}},
{Name: "insecureSkipVerify", Value: "true"},
{Name: "maxIdleConnsPerHost", Value: "42"},
{Name: "rootCAs", Value: "foobar,foobar"}}},
{Name: "tracing", Children: []*parser.Node{
{Name: "dataDog", Children: []*parser.Node{
{Name: "bagagePrefixHeaderName", Value: "foobar"},
{Name: "debug", Value: "true"},
{Name: "globalTag", Value: "foobar"},
{Name: "localAgentHostPort", Value: "foobar"},
{Name: "parentIDHeaderName", Value: "foobar"},
{Name: "prioritySampling", Value: "true"},
{Name: "samplingPriorityHeaderName", Value: "foobar"},
{Name: "traceIDHeaderName", Value: "foobar"}}},
{Name: "haystack", Children: []*parser.Node{
{Name: "globalTag", Value: "foobar"},
{Name: "localAgentHost", Value: "foobar"},
{Name: "localAgentPort", Value: "42"},
{Name: "parentIDHeaderName", Value: "foobar"},
{Name: "spanIDHeaderName", Value: "foobar"},
{Name: "traceIDHeaderName", Value: "foobar"}}},
{Name: "instana", Children: []*parser.Node{
{Name: "localAgentHost", Value: "foobar"},
{Name: "localAgentPort", Value: "42"},
{Name: "logLevel", Value: "foobar"}}},
{Name: "jaeger", Children: []*parser.Node{
{Name: "gen128Bit", Value: "true"},
{Name: "localAgentHostPort", Value: "foobar"},
{Name: "propagation", Value: "foobar"},
{Name: "samplingParam", Value: "42"},
{Name: "samplingServerURL", Value: "foobar"},
{Name: "samplingType", Value: "foobar"},
{Name: "traceContextHeaderName", Value: "foobar"}}},
{Name: "serviceName", Value: "foobar"},
{Name: "spanNameLimit", Value: "42"},
{Name: "zipkin", Children: []*parser.Node{
{Name: "debug", Value: "true"},
{Name: "httpEndpoint", Value: "foobar"},
{Name: "id128Bit", Value: "true"},
{Name: "sameSpan", Value: "true"},
{Name: "sampleRate", Value: "42"}}}}},
},
}
assert.Equal(t, expected, node)
@ -342,267 +310,235 @@ func Test_decodeFileToNode_Yaml(t *testing.T) {
expected := &parser.Node{
Name: "traefik",
Children: []*parser.Node{
{Name: "ACME",
Children: []*parser.Node{
{Name: "ACMELogging", Value: "true"},
{Name: "CAServer", Value: "foobar"},
{Name: "DNSChallenge", Children: []*parser.Node{
{Name: "DelayBeforeCheck", Value: "42"},
{Name: "DisablePropagationCheck", Value: "true"},
{Name: "Provider", Value: "foobar"},
{Name: "Resolvers", Value: "foobar,foobar"},
}},
{Name: "Domains", Children: []*parser.Node{
{Name: "[0]", Children: []*parser.Node{
{Name: "Main", Value: "foobar"},
{Name: "SANs", Value: "foobar,foobar"},
}},
{Name: "[1]", Children: []*parser.Node{
{Name: "Main", Value: "foobar"},
{Name: "SANs", Value: "foobar,foobar"},
}},
}},
{Name: "Email", Value: "foobar"},
{Name: "EntryPoint", Value: "foobar"},
{Name: "HTTPChallenge", Children: []*parser.Node{
{Name: "EntryPoint", Value: "foobar"}}},
{Name: "KeyType", Value: "foobar"},
{Name: "OnHostRule", Value: "true"},
{Name: "Storage", Value: "foobar"},
{Name: "TLSChallenge"},
},
},
{Name: "API", Children: []*parser.Node{
{Name: "Dashboard", Value: "true"},
{Name: "EntryPoint", Value: "foobar"},
{Name: "Middlewares", Value: "foobar,foobar"},
{Name: "Statistics", Children: []*parser.Node{
{Name: "RecentErrors", Value: "42"}}}}},
{Name: "AccessLog", Children: []*parser.Node{
{Name: "BufferingSize", Value: "42"},
{Name: "Fields", Children: []*parser.Node{
{Name: "DefaultMode", Value: "foobar"},
{Name: "Headers", Children: []*parser.Node{
{Name: "DefaultMode", Value: "foobar"},
{Name: "Names", Children: []*parser.Node{
{Name: "accessLog", Children: []*parser.Node{
{Name: "bufferingSize", Value: "42"},
{Name: "fields", Children: []*parser.Node{
{Name: "defaultMode", Value: "foobar"},
{Name: "headers", Children: []*parser.Node{
{Name: "defaultMode", Value: "foobar"},
{Name: "names", Children: []*parser.Node{
{Name: "name0", Value: "foobar"},
{Name: "name1", Value: "foobar"}}}}},
{Name: "Names", Children: []*parser.Node{
{Name: "names", Children: []*parser.Node{
{Name: "name0", Value: "foobar"},
{Name: "name1", Value: "foobar"}}}}},
{Name: "FilePath", Value: "foobar"},
{Name: "Filters", Children: []*parser.Node{
{Name: "MinDuration", Value: "42"},
{Name: "RetryAttempts", Value: "true"},
{Name: "StatusCodes", Value: "foobar,foobar"}}},
{Name: "Format", Value: "foobar"}}},
{Name: "EntryPoints", Children: []*parser.Node{
{Name: "filePath", Value: "foobar"},
{Name: "filters", Children: []*parser.Node{
{Name: "minDuration", Value: "42"},
{Name: "retryAttempts", Value: "true"},
{Name: "statusCodes", Value: "foobar,foobar"}}},
{Name: "format", Value: "foobar"}}},
{Name: "acme",
Children: []*parser.Node{
{Name: "acmeLogging", Value: "true"},
{Name: "caServer", Value: "foobar"},
{Name: "dnsChallenge", Children: []*parser.Node{
{Name: "delayBeforeCheck", Value: "42"},
{Name: "disablePropagationCheck", Value: "true"},
{Name: "provider", Value: "foobar"},
{Name: "resolvers", Value: "foobar,foobar"},
}},
{Name: "domains", Children: []*parser.Node{
{Name: "[0]", Children: []*parser.Node{
{Name: "main", Value: "foobar"},
{Name: "sans", Value: "foobar,foobar"},
}},
{Name: "[1]", Children: []*parser.Node{
{Name: "main", Value: "foobar"},
{Name: "sans", Value: "foobar,foobar"},
}},
}},
{Name: "email", Value: "foobar"},
{Name: "entryPoint", Value: "foobar"},
{Name: "httpChallenge", Children: []*parser.Node{
{Name: "entryPoint", Value: "foobar"}}},
{Name: "keyType", Value: "foobar"},
{Name: "onHostRule", Value: "true"},
{Name: "storage", Value: "foobar"},
{Name: "tlsChallenge"},
},
},
{Name: "api", Children: []*parser.Node{
{Name: "dashboard", Value: "true"},
{Name: "entryPoint", Value: "foobar"},
{Name: "middlewares", Value: "foobar,foobar"},
{Name: "statistics", Children: []*parser.Node{
{Name: "recentErrors", Value: "42"}}}}},
{Name: "entryPoints", Children: []*parser.Node{
{Name: "EntryPoint0", Children: []*parser.Node{
{Name: "Address", Value: "foobar"},
{Name: "ForwardedHeaders", Children: []*parser.Node{
{Name: "Insecure", Value: "true"},
{Name: "TrustedIPs", Value: "foobar,foobar"}}},
{Name: "ProxyProtocol", Children: []*parser.Node{
{Name: "Insecure", Value: "true"},
{Name: "TrustedIPs", Value: "foobar,foobar"}}},
{Name: "Transport", Children: []*parser.Node{
{Name: "LifeCycle", Children: []*parser.Node{
{Name: "GraceTimeOut", Value: "42"},
{Name: "RequestAcceptGraceTimeout", Value: "42"}}},
{Name: "RespondingTimeouts", Children: []*parser.Node{
{Name: "IdleTimeout", Value: "42"},
{Name: "ReadTimeout", Value: "42"},
{Name: "WriteTimeout", Value: "42"}}}}}}}}},
{Name: "Global", Children: []*parser.Node{
{Name: "CheckNewVersion", Value: "true"},
{Name: "Debug", Value: "true"},
{Name: "SendAnonymousUsage", Value: "true"}}},
{Name: "HostResolver", Children: []*parser.Node{
{Name: "CnameFlattening", Value: "true"},
{Name: "ResolvConfig", Value: "foobar"},
{Name: "ResolvDepth", Value: "42"}}},
{Name: "Log", Children: []*parser.Node{
{Name: "FilePath", Value: "foobar"},
{Name: "Format", Value: "foobar"},
{Name: "Level", Value: "foobar"}}},
{Name: "Metrics", Children: []*parser.Node{
{Name: "Datadog", Children: []*parser.Node{
{Name: "Address", Value: "foobar"},
{Name: "PushInterval", Value: "10s"}}},
{Name: "InfluxDB", Children: []*parser.Node{
{Name: "Address", Value: "foobar"},
{Name: "Database", Value: "foobar"},
{Name: "Password", Value: "foobar"},
{Name: "Protocol", Value: "foobar"},
{Name: "PushInterval", Value: "10s"},
{Name: "RetentionPolicy", Value: "foobar"},
{Name: "Username", Value: "foobar"}}},
{Name: "Prometheus", Children: []*parser.Node{
{Name: "Buckets", Value: "42,42"},
{Name: "EntryPoint", Value: "foobar"},
{Name: "Middlewares", Value: "foobar,foobar"}}},
{Name: "StatsD", Children: []*parser.Node{
{Name: "Address", Value: "foobar"},
{Name: "PushInterval", Value: "10s"}}}}},
{Name: "Ping", Children: []*parser.Node{
{Name: "EntryPoint", Value: "foobar"},
{Name: "Middlewares", Value: "foobar,foobar"}}},
{Name: "Providers", Children: []*parser.Node{
{Name: "Docker", Children: []*parser.Node{
{Name: "Constraints", Children: []*parser.Node{
{Name: "[0]", Children: []*parser.Node{
{Name: "Key", Value: "foobar"},
{Name: "MustMatch", Value: "true"},
{Name: "Value", Value: "foobar"},
}},
{Name: "[1]", Children: []*parser.Node{
{Name: "Key", Value: "foobar"},
{Name: "MustMatch", Value: "true"},
{Name: "Value", Value: "foobar"},
}},
}},
{Name: "DefaultRule", Value: "foobar"},
{Name: "Endpoint", Value: "foobar"},
{Name: "ExposedByDefault", Value: "true"},
{Name: "Network", Value: "foobar"},
{Name: "SwarmMode", Value: "true"},
{Name: "SwarmModeRefreshSeconds", Value: "42"},
{Name: "TLS", Children: []*parser.Node{
{Name: "CA", Value: "foobar"},
{Name: "CAOptional", Value: "true"},
{Name: "Cert", Value: "foobar"},
{Name: "InsecureSkipVerify", Value: "true"},
{Name: "Key", Value: "foobar"}}},
{Name: "UseBindPortIP", Value: "true"},
{Name: "Watch", Value: "true"}}},
{Name: "File", Children: []*parser.Node{
{Name: "DebugLogGeneratedTemplate", Value: "true"},
{Name: "Directory", Value: "foobar"},
{Name: "Filename", Value: "foobar"},
{Name: "TraefikFile", Value: "foobar"},
{Name: "Watch", Value: "true"}}},
{Name: "Kubernetes", Children: []*parser.Node{
{Name: "CertAuthFilePath", Value: "foobar"},
{Name: "DisablePassHostHeaders", Value: "true"},
{Name: "Endpoint", Value: "foobar"},
{Name: "IngressClass", Value: "foobar"},
{Name: "IngressEndpoint", Children: []*parser.Node{
{Name: "Hostname", Value: "foobar"},
{Name: "IP", Value: "foobar"},
{Name: "PublishedService", Value: "foobar"}}},
{Name: "LabelSelector", Value: "foobar"},
{Name: "Namespaces", Value: "foobar,foobar"},
{Name: "Token", Value: "foobar"}}},
{Name: "KubernetesCRD",
{Name: "address", Value: "foobar"},
{Name: "forwardedHeaders", Children: []*parser.Node{
{Name: "insecure", Value: "true"},
{Name: "trustedIPs", Value: "foobar,foobar"}}},
{Name: "proxyProtocol", Children: []*parser.Node{
{Name: "insecure", Value: "true"},
{Name: "trustedIPs", Value: "foobar,foobar"}}},
{Name: "transport", Children: []*parser.Node{
{Name: "lifeCycle", Children: []*parser.Node{
{Name: "graceTimeOut", Value: "42"},
{Name: "requestAcceptGraceTimeout", Value: "42"}}},
{Name: "respondingTimeouts", Children: []*parser.Node{
{Name: "idleTimeout", Value: "42"},
{Name: "readTimeout", Value: "42"},
{Name: "writeTimeout", Value: "42"}}}}}}}}},
{Name: "global", Children: []*parser.Node{
{Name: "checkNewVersion", Value: "true"},
{Name: "sendAnonymousUsage", Value: "true"}}},
{Name: "hostResolver", Children: []*parser.Node{
{Name: "cnameFlattening", Value: "true"},
{Name: "resolvConfig", Value: "foobar"},
{Name: "resolvDepth", Value: "42"}}},
{Name: "log", Children: []*parser.Node{
{Name: "filePath", Value: "foobar"},
{Name: "format", Value: "foobar"},
{Name: "level", Value: "foobar"}}},
{Name: "metrics", Children: []*parser.Node{
{Name: "dataDog", Children: []*parser.Node{
{Name: "address", Value: "foobar"},
{Name: "pushInterval", Value: "10s"}}},
{Name: "influxDB", Children: []*parser.Node{
{Name: "address", Value: "foobar"},
{Name: "database", Value: "foobar"},
{Name: "password", Value: "foobar"},
{Name: "protocol", Value: "foobar"},
{Name: "pushInterval", Value: "10s"},
{Name: "retentionPolicy", Value: "foobar"},
{Name: "username", Value: "foobar"}}},
{Name: "prometheus", Children: []*parser.Node{
{Name: "buckets", Value: "42,42"},
{Name: "entryPoint", Value: "foobar"},
{Name: "middlewares", Value: "foobar,foobar"}}},
{Name: "statsD", Children: []*parser.Node{
{Name: "address", Value: "foobar"},
{Name: "pushInterval", Value: "10s"}}}}},
{Name: "ping", Children: []*parser.Node{
{Name: "entryPoint", Value: "foobar"},
{Name: "middlewares", Value: "foobar,foobar"}}},
{Name: "providers", Children: []*parser.Node{
{Name: "docker", Children: []*parser.Node{
{Name: "constraints", Value: "foobar"},
{Name: "defaultRule", Value: "foobar"},
{Name: "endpoint", Value: "foobar"},
{Name: "exposedByDefault", Value: "true"},
{Name: "network", Value: "foobar"},
{Name: "swarmMode", Value: "true"},
{Name: "swarmModeRefreshSeconds", Value: "42"},
{Name: "tls", Children: []*parser.Node{
{Name: "ca", Value: "foobar"},
{Name: "caOptional", Value: "true"},
{Name: "cert", Value: "foobar"},
{Name: "insecureSkipVerify", Value: "true"},
{Name: "key", Value: "foobar"}}},
{Name: "useBindPortIP", Value: "true"},
{Name: "watch", Value: "true"}}},
{Name: "file", Children: []*parser.Node{
{Name: "debugLogGeneratedTemplate", Value: "true"},
{Name: "directory", Value: "foobar"},
{Name: "filename", Value: "foobar"},
{Name: "traefikFile", Value: "foobar"},
{Name: "watch", Value: "true"}}},
{Name: "kubernetes", Children: []*parser.Node{
{Name: "certAuthFilePath", Value: "foobar"},
{Name: "disablePassHostHeaders", Value: "true"},
{Name: "endpoint", Value: "foobar"},
{Name: "ingressClass", Value: "foobar"},
{Name: "ingressEndpoint", Children: []*parser.Node{
{Name: "hostname", Value: "foobar"},
{Name: "ip", Value: "foobar"},
{Name: "publishedService", Value: "foobar"}}},
{Name: "labelSelector", Value: "foobar"},
{Name: "namespaces", Value: "foobar,foobar"},
{Name: "token", Value: "foobar"}}},
{Name: "kubernetesCRD",
Children: []*parser.Node{
{Name: "CertAuthFilePath", Value: "foobar"},
{Name: "DisablePassHostHeaders", Value: "true"},
{Name: "Endpoint", Value: "foobar"},
{Name: "IngressClass", Value: "foobar"},
{Name: "LabelSelector", Value: "foobar"},
{Name: "Namespaces", Value: "foobar,foobar"},
{Name: "Token", Value: "foobar"}}},
{Name: "Marathon", Children: []*parser.Node{
{Name: "Basic", Children: []*parser.Node{
{Name: "HTTPBasicAuthUser", Value: "foobar"},
{Name: "HTTPBasicPassword", Value: "foobar"}}},
{Name: "Constraints", Children: []*parser.Node{
{Name: "[0]", Children: []*parser.Node{
{Name: "Key", Value: "foobar"},
{Name: "MustMatch", Value: "true"},
{Name: "Value", Value: "foobar"},
}},
{Name: "[1]", Children: []*parser.Node{
{Name: "Key", Value: "foobar"},
{Name: "MustMatch", Value: "true"},
{Name: "Value", Value: "foobar"},
}},
}},
{Name: "DCOSToken", Value: "foobar"},
{Name: "DefaultRule", Value: "foobar"},
{Name: "DialerTimeout", Value: "42"},
{Name: "Endpoint", Value: "foobar"},
{Name: "ExposedByDefault", Value: "true"},
{Name: "ForceTaskHostname", Value: "true"},
{Name: "KeepAlive", Value: "42"},
{Name: "RespectReadinessChecks", Value: "true"},
{Name: "ResponseHeaderTimeout", Value: "42"},
{Name: "TLS", Children: []*parser.Node{
{Name: "CA", Value: "foobar"},
{Name: "CAOptional", Value: "true"},
{Name: "Cert", Value: "foobar"},
{Name: "InsecureSkipVerify", Value: "true"},
{Name: "Key", Value: "foobar"}}},
{Name: "TLSHandshakeTimeout", Value: "42"},
{Name: "Trace", Value: "true"},
{Name: "Watch", Value: "true"}}},
{Name: "ProvidersThrottleDuration", Value: "42"},
{Name: "Rancher", Children: []*parser.Node{
{Name: "Constraints", Children: []*parser.Node{
{Name: "[0]", Children: []*parser.Node{
{Name: "Key", Value: "foobar"},
{Name: "MustMatch", Value: "true"},
{Name: "Value", Value: "foobar"},
}},
{Name: "[1]", Children: []*parser.Node{
{Name: "Key", Value: "foobar"},
{Name: "MustMatch", Value: "true"},
{Name: "Value", Value: "foobar"},
}},
}},
{Name: "DefaultRule", Value: "foobar"},
{Name: "EnableServiceHealthFilter", Value: "true"},
{Name: "ExposedByDefault", Value: "true"},
{Name: "IntervalPoll", Value: "true"},
{Name: "Prefix", Value: "foobar"},
{Name: "RefreshSeconds", Value: "42"},
{Name: "Watch", Value: "true"}}},
{Name: "Rest", Children: []*parser.Node{
{Name: "EntryPoint", Value: "foobar"}}}}},
{Name: "ServersTransport", Children: []*parser.Node{
{Name: "ForwardingTimeouts", Children: []*parser.Node{
{Name: "DialTimeout", Value: "42"},
{Name: "ResponseHeaderTimeout", Value: "42"}}},
{Name: "InsecureSkipVerify", Value: "true"},
{Name: "MaxIdleConnsPerHost", Value: "42"},
{Name: "RootCAs", Value: "foobar,foobar"}}},
{Name: "Tracing", Children: []*parser.Node{
{Name: "DataDog", Children: []*parser.Node{
{Name: "BagagePrefixHeaderName", Value: "foobar"},
{Name: "Debug", Value: "true"},
{Name: "GlobalTag", Value: "foobar"},
{Name: "LocalAgentHostPort", Value: "foobar"},
{Name: "ParentIDHeaderName", Value: "foobar"},
{Name: "PrioritySampling", Value: "true"},
{Name: "SamplingPriorityHeaderName", Value: "foobar"},
{Name: "TraceIDHeaderName", Value: "foobar"}}},
{Name: "Haystack", Children: []*parser.Node{
{Name: "GlobalTag", Value: "foobar"},
{Name: "LocalAgentHost", Value: "foobar"},
{Name: "LocalAgentPort", Value: "42"},
{Name: "ParentIDHeaderName", Value: "foobar"},
{Name: "SpanIDHeaderName", Value: "foobar"},
{Name: "TraceIDHeaderName", Value: "foobar"}}},
{Name: "Instana", Children: []*parser.Node{
{Name: "LocalAgentHost", Value: "foobar"},
{Name: "LocalAgentPort", Value: "42"},
{Name: "LogLevel", Value: "foobar"}}},
{Name: "Jaeger", Children: []*parser.Node{
{Name: "Gen128Bit", Value: "true"},
{Name: "LocalAgentHostPort", Value: "foobar"},
{Name: "Propagation", Value: "foobar"},
{Name: "SamplingParam", Value: "42"},
{Name: "SamplingServerURL", Value: "foobar"},
{Name: "SamplingType", Value: "foobar"},
{Name: "TraceContextHeaderName", Value: "foobar"}}},
{Name: "ServiceName", Value: "foobar"},
{Name: "SpanNameLimit", Value: "42"},
{Name: "Zipkin", Children: []*parser.Node{
{Name: "Debug", Value: "true"},
{Name: "HTTPEndpoint", Value: "foobar"},
{Name: "ID128Bit", Value: "true"},
{Name: "SameSpan", Value: "true"},
{Name: "SampleRate", Value: "42"}}}}}},
{Name: "certAuthFilePath", Value: "foobar"},
{Name: "disablePassHostHeaders", Value: "true"},
{Name: "endpoint", Value: "foobar"},
{Name: "ingressClass", Value: "foobar"},
{Name: "labelSelector", Value: "foobar"},
{Name: "namespaces", Value: "foobar,foobar"},
{Name: "token", Value: "foobar"}}},
{Name: "marathon", Children: []*parser.Node{
{Name: "basic", Children: []*parser.Node{
{Name: "httpBasicAuthUser", Value: "foobar"},
{Name: "httpBasicPassword", Value: "foobar"}}},
{Name: "constraints", Value: "foobar"},
{Name: "dcosToken", Value: "foobar"},
{Name: "defaultRule", Value: "foobar"},
{Name: "dialerTimeout", Value: "42"},
{Name: "endpoint", Value: "foobar"},
{Name: "exposedByDefault", Value: "true"},
{Name: "forceTaskHostname", Value: "true"},
{Name: "keepAlive", Value: "42"},
{Name: "respectReadinessChecks", Value: "true"},
{Name: "responseHeaderTimeout", Value: "42"},
{Name: "tls", Children: []*parser.Node{
{Name: "ca", Value: "foobar"},
{Name: "caOptional", Value: "true"},
{Name: "cert", Value: "foobar"},
{Name: "insecureSkipVerify", Value: "true"},
{Name: "key", Value: "foobar"}}},
{Name: "tlsHandshakeTimeout", Value: "42"},
{Name: "trace", Value: "true"},
{Name: "watch", Value: "true"}}},
{Name: "providersThrottleDuration", Value: "42"},
{Name: "rancher", Children: []*parser.Node{
{Name: "constraints", Value: "foobar"},
{Name: "defaultRule", Value: "foobar"},
{Name: "enableServiceHealthFilter", Value: "true"},
{Name: "exposedByDefault", Value: "true"},
{Name: "intervalPoll", Value: "true"},
{Name: "prefix", Value: "foobar"},
{Name: "refreshSeconds", Value: "42"},
{Name: "watch", Value: "true"}}},
{Name: "rest", Children: []*parser.Node{
{Name: "entryPoint", Value: "foobar"}}}}},
{Name: "serversTransport", Children: []*parser.Node{
{Name: "forwardingTimeouts", Children: []*parser.Node{
{Name: "dialTimeout", Value: "42"},
{Name: "idleConnTimeout", Value: "42"},
{Name: "responseHeaderTimeout", Value: "42"}}},
{Name: "insecureSkipVerify", Value: "true"},
{Name: "maxIdleConnsPerHost", Value: "42"},
{Name: "rootCAs", Value: "foobar,foobar"}}},
{Name: "tracing", Children: []*parser.Node{
{Name: "dataDog", Children: []*parser.Node{
{Name: "bagagePrefixHeaderName", Value: "foobar"},
{Name: "debug", Value: "true"},
{Name: "globalTag", Value: "foobar"},
{Name: "localAgentHostPort", Value: "foobar"},
{Name: "parentIDHeaderName", Value: "foobar"},
{Name: "prioritySampling", Value: "true"},
{Name: "samplingPriorityHeaderName", Value: "foobar"},
{Name: "traceIDHeaderName", Value: "foobar"}}},
{Name: "haystack", Children: []*parser.Node{
{Name: "globalTag", Value: "foobar"},
{Name: "localAgentHost", Value: "foobar"},
{Name: "localAgentPort", Value: "42"},
{Name: "parentIDHeaderName", Value: "foobar"},
{Name: "spanIDHeaderName", Value: "foobar"},
{Name: "traceIDHeaderName", Value: "foobar"}}},
{Name: "instana", Children: []*parser.Node{
{Name: "localAgentHost", Value: "foobar"},
{Name: "localAgentPort", Value: "42"},
{Name: "logLevel", Value: "foobar"}}},
{Name: "jaeger", Children: []*parser.Node{
{Name: "gen128Bit", Value: "true"},
{Name: "localAgentHostPort", Value: "foobar"},
{Name: "propagation", Value: "foobar"},
{Name: "samplingParam", Value: "42"},
{Name: "samplingServerURL", Value: "foobar"},
{Name: "samplingType", Value: "foobar"},
{Name: "traceContextHeaderName", Value: "foobar"}}},
{Name: "serviceName", Value: "foobar"},
{Name: "spanNameLimit", Value: "42"},
{Name: "zipkin", Children: []*parser.Node{
{Name: "debug", Value: "true"},
{Name: "httpEndpoint", Value: "foobar"},
{Name: "id128Bit", Value: "true"},
{Name: "sameSpan", Value: "true"},
{Name: "sampleRate", Value: "42"}}}}},
},
}
assert.Equal(t, expected, node)

View file

@ -1,543 +1,481 @@
[Global]
Debug = true
CheckNewVersion = true
SendAnonymousUsage = true
[global]
checkNewVersion = true
sendAnonymousUsage = true
[ServersTransport]
InsecureSkipVerify = true
RootCAs = ["foobar", "foobar"]
MaxIdleConnsPerHost = 42
[ServersTransport.ForwardingTimeouts]
DialTimeout = 42
ResponseHeaderTimeout = 42
[serversTransport]
insecureSkipVerify = true
rootCAs = ["foobar", "foobar"]
maxIdleConnsPerHost = 42
[serversTransport.forwardingTimeouts]
dialTimeout = 42
responseHeaderTimeout = 42
idleConnTimeout = 42
[EntryPoints]
[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"]
[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
traefikFile = "foobar"
[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.kubernetes]
endpoint = "foobar"
token = "foobar"
certAuthFilePath = "foobar"
disablePassHostHeaders = true
namespaces = ["foobar", "foobar"]
labelSelector = "foobar"
ingressClass = "foobar"
[providers.kubernetes.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"
[Providers]
ProvidersThrottleDuration = 42
[api]
entryPoint = "foobar"
dashboard = true
middlewares = ["foobar", "foobar"]
[api.statistics]
recentErrors = 42
[Providers.Docker]
Watch = true
Endpoint = "foobar"
DefaultRule = "foobar"
ExposedByDefault = true
UseBindPortIP = true
SwarmMode = true
Network = "foobar"
SwarmModeRefreshSeconds = 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"
[[Providers.Docker.Constraints]]
Key = "foobar"
MustMatch = true
Value = "foobar"
[ping]
entryPoint = "foobar"
middlewares = ["foobar", "foobar"]
[[Providers.Docker.Constraints]]
Key = "foobar"
MustMatch = true
Value = "foobar"
[log]
level = "foobar"
filePath = "foobar"
format = "foobar"
[Providers.Docker.TLS]
CA = "foobar"
CAOptional = true
Cert = "foobar"
Key = "foobar"
InsecureSkipVerify = true
[Providers.File]
Directory = "foobar"
Watch = true
Filename = "foobar"
DebugLogGeneratedTemplate = true
TraefikFile = "foobar"
[Providers.Marathon]
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.Constraints]]
Key = "foobar"
MustMatch = true
Value = "foobar"
[[Providers.Marathon.Constraints]]
Key = "foobar"
MustMatch = true
Value = "foobar"
[Providers.Marathon.TLS]
CA = "foobar"
CAOptional = true
Cert = "foobar"
Key = "foobar"
InsecureSkipVerify = true
[Providers.Marathon.Basic]
HTTPBasicAuthUser = "foobar"
HTTPBasicPassword = "foobar"
[Providers.Kubernetes]
Endpoint = "foobar"
Token = "foobar"
CertAuthFilePath = "foobar"
DisablePassHostHeaders = true
Namespaces = ["foobar", "foobar"]
LabelSelector = "foobar"
IngressClass = "foobar"
[Providers.Kubernetes.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]
Watch = true
DefaultRule = "foobar"
ExposedByDefault = true
EnableServiceHealthFilter = true
RefreshSeconds = 42
IntervalPoll = true
Prefix = "foobar"
[[Providers.Rancher.Constraints]]
Key = "foobar"
MustMatch = true
Value = "foobar"
[[Providers.Rancher.Constraints]]
Key = "foobar"
MustMatch = true
Value = "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]
[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]
[accessLog.fields.headers]
defaultMode = "foobar"
[accessLog.fields.headers.names]
name0 = "foobar"
name1 = "foobar"
[Tracing]
ServiceName = "foobar"
SpanNameLimit = 42
[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"
[Tracing.Jaeger]
SamplingServerURL = "foobar"
SamplingType = "foobar"
SamplingParam = 42.0
LocalAgentHostPort = "foobar"
Gen128Bit = true
Propagation = "foobar"
TraceContextHeaderName = "foobar"
[hostResolver]
cnameFlattening = true
resolvConfig = "foobar"
resolvDepth = 42
[Tracing.Zipkin]
HTTPEndpoint = "foobar"
SameSpan = true
ID128Bit = true
Debug = true
SampleRate = 42.0
[acme]
email = "foobar"
acmeLogging = true
caServer = "foobar"
storage = "foobar"
entryPoint = "foobar"
keyType = "foobar"
onHostRule = true
[acme.dnsChallenge]
provider = "foobar"
delayBeforeCheck = 42
resolvers = ["foobar", "foobar"]
disablePropagationCheck = true
[acme.httpChallenge]
entryPoint = "foobar"
[acme.tlsChallenge]
[Tracing.DataDog]
LocalAgentHostPort = "foobar"
GlobalTag = "foobar"
Debug = true
PrioritySampling = true
TraceIDHeaderName = "foobar"
ParentIDHeaderName = "foobar"
SamplingPriorityHeaderName = "foobar"
BagagePrefixHeaderName = "foobar"
[[acme.domains]]
main = "foobar"
sans = ["foobar", "foobar"]
[Tracing.Instana]
LocalAgentHost = "foobar"
LocalAgentPort = 42
LogLevel = "foobar"
[[acme.domains]]
main = "foobar"
sans = ["foobar", "foobar"]
[Tracing.Haystack]
GlobalTag = "foobar"
LocalAgentHost = "foobar"
LocalAgentPort = 42
ParentIDHeaderName = "foobar"
SpanIDHeaderName = "foobar"
TraceIDHeaderName = "foobar"
## Dynamic configuration
[HostResolver]
CnameFlattening = true
ResolvConfig = "foobar"
ResolvDepth = 42
[ACME]
Email = "foobar"
ACMELogging = true
CAServer = "foobar"
Storage = "foobar"
EntryPoint = "foobar"
KeyType = "foobar"
OnHostRule = true
[ACME.DNSChallenge]
Provider = "foobar"
DelayBeforeCheck = 42
Resolvers = ["foobar", "foobar"]
DisablePropagationCheck = true
[ACME.HTTPChallenge]
EntryPoint = "foobar"
[ACME.TLSChallenge]
[[ACME.Domains]]
Main = "foobar"
SANs = ["foobar", "foobar"]
[[ACME.Domains]]
Main = "foobar"
SANs = ["foobar", "foobar"]
#### Dynamic configuration
[HTTP]
[HTTP.Routers]
[HTTP.Routers.Router0]
EntryPoints = ["foobar", "foobar"]
Middlewares = ["foobar", "foobar"]
Service = "foobar"
Rule = "foobar"
[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.AddPrefix]
Prefix = "foobar"
[HTTP.Middlewares.Middleware1.StripPrefix]
Prefixes = ["foobar", "foobar"]
[HTTP.Middlewares.Middleware2.StripPrefixRegex]
Regex = ["foobar", "foobar"]
[HTTP.Middlewares.Middleware3.ReplacePath]
Path = "foobar"
[HTTP.Middlewares.Middleware4.ReplacePathRegex]
Regex = "foobar"
Replacement = "foobar"
[HTTP.Middlewares.Middleware5.Chain]
Middlewares = ["foobar", "foobar"]
[HTTP.Middlewares.Middleware6.IPWhiteList]
SourceRange = ["foobar", "foobar"]
[HTTP.Middlewares.Middleware7.IPWhiteList.IPStrategy]
Depth = 42
ExcludedIPs = ["foobar", "foobar"]
[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"
IsDevelopment = true
[HTTP.Middlewares.Middleware8.Headers.CustomRequestHeaders]
[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.maxConn]
amount = 42
extractorFunc = "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"
isDevelopment = true
[http.middlewares.Middleware8.headers.customRequestHeaders]
name0 = "foobar"
name1 = "foobar"
[HTTP.Middlewares.Middleware8.Headers.CustomResponseHeaders]
[http.middlewares.Middleware8.headers.customResponseHeaders]
name0 = "foobar"
name1 = "foobar"
[HTTP.Middlewares.Middleware8.Headers.SSLProxyHeaders]
[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.stickiness]
cookieName = "foobar"
[HTTP.Middlewares.Middleware9.Errors]
Status = ["foobar", "foobar"]
Service = "foobar"
Query = "foobar"
[[http.services.Service0.loadBalancer.servers]]
url = "foobar"
[HTTP.Middlewares.Middleware10.RateLimit]
ExtractorFunc = "foobar"
[HTTP.Middlewares.Middleware10.RateLimit.RateSet]
[HTTP.Middlewares.Middleware10.RateLimit.RateSet.Rate0]
Period = 42
Average = 42
Burst = 42
[HTTP.Middlewares.Middleware10.RateLimit.RateSet.Rate1]
Period = 42
Average = 42
Burst = 42
[HTTP.Middlewares.Middleware11.RedirectRegex]
Regex = "foobar"
Replacement = "foobar"
Permanent = true
[HTTP.Middlewares.Middleware12.RedirectScheme]
Scheme = "foobar"
Port = "foobar"
Permanent = true
[HTTP.Middlewares.Middleware13.BasicAuth]
Users = ["foobar", "foobar"]
UsersFile = "foobar"
Realm = "foobar"
RemoveHeader = true
HeaderField = "foobar"
[HTTP.Middlewares.Middleware14.DigestAuth]
Users = ["foobar", "foobar"]
UsersFile = "foobar"
RemoveHeader = true
Realm = "foobar"
HeaderField = "foobar"
[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.MaxConn]
Amount = 42
ExtractorFunc = "foobar"
[HTTP.Middlewares.Middleware17.Buffering]
MaxRequestBodyBytes = 42
MemRequestBodyBytes = 42
MaxResponseBodyBytes = 42
MemResponseBodyBytes = 42
RetryExpression = "foobar"
[HTTP.Middlewares.Middleware18.CircuitBreaker]
Expression = "foobar"
[HTTP.Middlewares.Middleware19.Compress]
[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.Retry]
Attempts = 42
[HTTP.Services]
[HTTP.Services.Service0]
[HTTP.Services.Service0.LoadBalancer]
Method = "foobar"
PassHostHeader = true
[[HTTP.Services.Service0.LoadBalancer.Servers]]
URL = "foobar"
[HTTP.Services.Service0.LoadBalancer.Stickiness]
CookieName = "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]
[[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"
[http.services.Service0.loadBalancer.responseForwarding]
flushInterval = "foobar"
[TCP]
[TCP.Routers]
[TCP.Routers.TCPRouter0]
EntryPoints = ["foobar", "foobar"]
Service = "foobar"
Rule = "foobar"
[TCP.Routers.TCPRouter0.tls]
[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]
[[tcp.services.TCPService0.loadBalancer.servers]]
address = "foobar"
[TCP.Services.TCPService0]
[TCP.Services.TCPService0.LoadBalancer]
Method = "foobar"
[[tcp.services.TCPService0.loadBalancer.servers]]
address = "foobar"
[[TCP.Services.TCPService0.LoadBalancer.Servers]]
Address = "foobar"
[tls]
[[TCP.Services.TCPService0.LoadBalancer.Servers]]
Address = "foobar"
[[tls.Certificates]]
certFile = "foobar"
keyFile = "foobar"
stores = ["foobar", "foobar"]
[[TLS.Certificates]]
Stores = ["foobar", "foobar"]
CertFile = "foobar"
KeyFile = "foobar"
[[TLS.Certificates]]
Stores = ["foobar", "foobar"]
CertFile = "foobar"
KeyFile = "foobar"
[TLS.Options]
[TLS.Options.TLS0]
MinVersion = "foobar"
CipherSuites = ["foobar", "foobar"]
SniStrict = true
[TLS.Options.TLS0.ClientCA]
Files = ["foobar", "foobar"]
Optional = true
[TLS.Options.TLS1]
MinVersion = "foobar"
CipherSuites = ["foobar", "foobar"]
SniStrict = true
[TLS.Options.TLS1.ClientCA]
Files = ["foobar", "foobar"]
Optional = true
[TLS.Stores]
[TLS.Stores.Store0]
[TLS.Stores.Store0.DefaultCertificate]
CertFile = "foobar"
KeyFile = "foobar"
[TLS.Stores.Store1]
[TLS.Stores.Store1.DefaultCertificate]
CertFile = "foobar"
KeyFile = "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.clientCA]
files = ["foobar", "foobar"]
optional = true
[tls.options.TLS1]
minVersion = "foobar"
cipherSuites = ["foobar", "foobar"]
sniStrict = true
[tls.options.TLS1.clientCA]
files = ["foobar", "foobar"]
optional = true
[tls.stores]
[tls.stores.Store0]
[tls.stores.Store0.defaultCertificate]
certFile = "foobar"
keyFile = "foobar"
[tls.stores.Store1]
[tls.stores.Store1.defaultCertificate]
certFile = "foobar"
keyFile = "foobar"

View file

@ -1,262 +1,244 @@
Global:
Debug: true
CheckNewVersion: true
SendAnonymousUsage: true
ServersTransport:
InsecureSkipVerify: true
RootCAs:
global:
checkNewVersion: true
sendAnonymousUsage: true
serversTransport:
insecureSkipVerify: true
rootCAs:
- foobar
- foobar
MaxIdleConnsPerHost: 42
ForwardingTimeouts:
DialTimeout: 42
ResponseHeaderTimeout: 42
EntryPoints:
maxIdleConnsPerHost: 42
forwardingTimeouts:
dialTimeout: 42
responseHeaderTimeout: 42
idleConnTimeout: 42
entryPoints:
EntryPoint0:
Address: foobar
Transport:
LifeCycle:
RequestAcceptGraceTimeout: 42
GraceTimeOut: 42
RespondingTimeouts:
ReadTimeout: 42
WriteTimeout: 42
IdleTimeout: 42
ProxyProtocol:
Insecure: true
TrustedIPs:
address: foobar
transport:
lifeCycle:
requestAcceptGraceTimeout: 42
graceTimeOut: 42
respondingTimeouts:
readTimeout: 42
writeTimeout: 42
idleTimeout: 42
proxyProtocol:
insecure: true
trustedIPs:
- foobar
- foobar
ForwardedHeaders:
Insecure: true
TrustedIPs:
forwardedHeaders:
insecure: true
trustedIPs:
- foobar
- foobar
Providers:
ProvidersThrottleDuration: 42
Docker:
Watch: true
Endpoint: foobar
DefaultRule: foobar
ExposedByDefault: true
UseBindPortIP: true
SwarmMode: true
Network: foobar
SwarmModeRefreshSeconds: 42
Constraints:
- Key: foobar
MustMatch: true
Value: foobar
- Key: foobar
MustMatch: true
Value: foobar
TLS:
CA: foobar
CAOptional: true
Cert: foobar
Key: foobar
InsecureSkipVerify: true
File:
Directory: foobar
Watch: true
Filename: foobar
DebugLogGeneratedTemplate: true
TraefikFile: foobar
Marathon:
Trace: true
Watch: true
Endpoint: foobar
DefaultRule: foobar
ExposedByDefault: true
DCOSToken: foobar
DialerTimeout: 42
ResponseHeaderTimeout: 42
TLSHandshakeTimeout: 42
KeepAlive: 42
ForceTaskHostname: true
RespectReadinessChecks: true
Constraints:
- Key: foobar
MustMatch: true
Value: foobar
- Key: foobar
MustMatch: true
Value: foobar
TLS:
CA: foobar
CAOptional: true
Cert: foobar
Key: foobar
InsecureSkipVerify: true
Basic:
HTTPBasicAuthUser: foobar
HTTPBasicPassword: foobar
Kubernetes:
Endpoint: foobar
Token: foobar
CertAuthFilePath: foobar
DisablePassHostHeaders: true
Namespaces:
providers:
providersThrottleDuration: 42
docker:
constraints: foobar
watch: true
endpoint: foobar
defaultRule: foobar
tls:
ca: foobar
caOptional: true
cert: foobar
key: foobar
insecureSkipVerify: true
exposedByDefault: true
useBindPortIP: true
swarmMode: true
network: foobar
swarmModeRefreshSeconds: 42
file:
directory: foobar
watch: true
filename: foobar
debugLogGeneratedTemplate: true
traefikFile: foobar
marathon:
constraints: foobar
trace: true
watch: true
endpoint: foobar
defaultRule: foobar
exposedByDefault: true
dcosToken: foobar
tls:
ca: foobar
caOptional: true
cert: foobar
key: foobar
insecureSkipVerify: true
dialerTimeout: 42
responseHeaderTimeout: 42
tlsHandshakeTimeout: 42
keepAlive: 42
forceTaskHostname: true
basic:
httpBasicAuthUser: foobar
httpBasicPassword: foobar
respectReadinessChecks: true
kubernetes:
endpoint: foobar
token: foobar
certAuthFilePath: foobar
disablePassHostHeaders: true
namespaces:
- foobar
- foobar
LabelSelector: foobar
IngressClass: foobar
IngressEndpoint:
IP: foobar
Hostname: foobar
PublishedService: foobar
KubernetesCRD:
Endpoint: foobar
Token: foobar
CertAuthFilePath: foobar
DisablePassHostHeaders: true
Namespaces:
labelSelector: foobar
ingressClass: foobar
ingressEndpoint:
ip: foobar
hostname: foobar
publishedService: foobar
kubernetesCRD:
endpoint: foobar
token: foobar
certAuthFilePath: foobar
disablePassHostHeaders: true
namespaces:
- foobar
- foobar
LabelSelector: foobar
IngressClass: foobar
Rest:
EntryPoint: foobar
Rancher:
Watch: true
DefaultRule: foobar
ExposedByDefault: true
EnableServiceHealthFilter: true
RefreshSeconds: 42
IntervalPoll: true
Prefix: foobar
Constraints:
- Key: foobar
MustMatch: true
Value: foobar
- Key: foobar
MustMatch: true
Value: foobar
API:
EntryPoint: foobar
Dashboard: true
Middlewares:
labelSelector: foobar
ingressClass: foobar
rest:
entryPoint: foobar
rancher:
constraints: foobar
watch: true
defaultRule: foobar
exposedByDefault: true
enableServiceHealthFilter: true
refreshSeconds: 42
intervalPoll: true
prefix: foobar
api:
entryPoint: foobar
dashboard: true
statistics:
recentErrors: 42
middlewares:
- foobar
- foobar
Statistics:
RecentErrors: 42
Metrics:
Prometheus:
Buckets:
metrics:
prometheus:
buckets:
- 42
- 42
EntryPoint: foobar
Middlewares:
entryPoint: foobar
middlewares:
- foobar
- foobar
Datadog:
Address: foobar
PushInterval: 10s
StatsD:
Address: foobar
PushInterval: 10s
InfluxDB:
Address: foobar
Protocol: foobar
PushInterval: 10s
Database: foobar
RetentionPolicy: foobar
Username: foobar
Password: foobar
Ping:
EntryPoint: foobar
Middlewares:
dataDog:
address: foobar
pushInterval: 10s
statsD:
address: foobar
pushInterval: 10s
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
Filters:
StatusCodes:
log:
level: foobar
filePath: foobar
format: foobar
accessLog:
filePath: foobar
format: foobar
filters:
statusCodes:
- foobar
- foobar
RetryAttempts: true
MinDuration: 42
Fields:
DefaultMode: foobar
Names:
retryAttempts: true
minDuration: 42
fields:
defaultMode: foobar
names:
name0: foobar
name1: foobar
Headers:
DefaultMode: foobar
Names:
headers:
defaultMode: foobar
names:
name0: foobar
name1: foobar
Tracing:
ServiceName: foobar
SpanNameLimit: 42
Jaeger:
SamplingServerURL: foobar
SamplingType: foobar
SamplingParam: 42
LocalAgentHostPort: foobar
Gen128Bit: true
Propagation: foobar
TraceContextHeaderName: foobar
Zipkin:
HTTPEndpoint: foobar
SameSpan: true
ID128Bit: true
Debug: true
SampleRate: 42
DataDog:
LocalAgentHostPort: foobar
GlobalTag: foobar
Debug: true
PrioritySampling: true
TraceIDHeaderName: foobar
ParentIDHeaderName: foobar
SamplingPriorityHeaderName: foobar
BagagePrefixHeaderName: foobar
Instana:
LocalAgentHost: foobar
LocalAgentPort: 42
LogLevel: foobar
Haystack:
GlobalTag: foobar
LocalAgentHost: foobar
LocalAgentPort: 42
ParentIDHeaderName: foobar
TraceIDHeaderName: foobar
SpanIDHeaderName: foobar
HostResolver:
CnameFlattening: true
ResolvConfig: foobar
ResolvDepth: 42
ACME:
Email: foobar
ACMELogging: true
CAServer: foobar
Storage: foobar
EntryPoint: foobar
KeyType: foobar
OnHostRule: true
DNSChallenge:
Provider: foobar
DelayBeforeCheck: 42
Resolvers:
bufferingSize: 42
tracing:
serviceName: foobar
spanNameLimit: 42
jaeger:
samplingServerURL: foobar
samplingType: foobar
samplingParam: 42
localAgentHostPort: foobar
gen128Bit: true
propagation: foobar
traceContextHeaderName: foobar
zipkin:
httpEndpoint: foobar
sameSpan: true
id128Bit: true
debug: true
sampleRate: 42
dataDog:
localAgentHostPort: foobar
globalTag: foobar
debug: true
prioritySampling: true
traceIDHeaderName: foobar
parentIDHeaderName: foobar
samplingPriorityHeaderName: foobar
bagagePrefixHeaderName: foobar
instana:
localAgentHost: foobar
localAgentPort: 42
logLevel: foobar
haystack:
localAgentHost: foobar
localAgentPort: 42
globalTag: foobar
traceIDHeaderName: foobar
parentIDHeaderName: foobar
spanIDHeaderName: foobar
hostResolver:
cnameFlattening: true
resolvConfig: foobar
resolvDepth: 42
acme:
email: foobar
acmeLogging: true
caServer: foobar
storage: foobar
entryPoint: foobar
keyType: foobar
onHostRule: true
dnsChallenge:
provider: foobar
delayBeforeCheck: 42
resolvers:
- foobar
- foobar
DisablePropagationCheck: true
HTTPChallenge:
EntryPoint: foobar
TLSChallenge: {}
Domains:
- Main: foobar
SANs:
disablePropagationCheck: true
httpChallenge:
entryPoint: foobar
tlsChallenge: {}
domains:
- main: foobar
sans:
- foobar
- foobar
- Main: foobar
SANs:
- main: foobar
sans:
- foobar
- foobar