RootCAstls.FilesOrContents`description:"Add cert file for self-signed certificate"`
MaxIdleConnsPerHostint`description:"If non-zero, controls the maximum idle (keep-alive) to keep per-host. If zero, DefaultMaxIdleConnsPerHost is used" export:"true"`
ForwardingTimeouts*ForwardingTimeouts`description:"Timeouts for requests forwarded to the backend servers" export:"true"`
// RespondingTimeouts contains timeout configurations for incoming requests to the Traefik instance.
typeRespondingTimeoutsstruct{
ReadTimeoutparse.Duration`description:"ReadTimeout is the maximum duration for reading the entire request, including the body. If zero, no timeout is set" export:"true"`
WriteTimeoutparse.Duration`description:"WriteTimeout is the maximum duration before timing out writes of the response. If zero, no timeout is set" export:"true"`
IdleTimeoutparse.Duration`description:"IdleTimeout is the maximum amount duration an idle (keep-alive) connection will remain idle before closing itself. Defaults to 180 seconds. If zero, no timeout is set" export:"true"`
}
// ForwardingTimeouts contains timeout configurations for forwarding requests to the backend servers.
typeForwardingTimeoutsstruct{
DialTimeoutparse.Duration`description:"The amount of time to wait until a connection to a backend server can be established. Defaults to 30 seconds. If zero, no timeout exists" export:"true"`
ResponseHeaderTimeoutparse.Duration`description:"The amount of time to wait for a server's response headers after fully writing the request (including its body, if any). If zero, no timeout exists" export:"true"`
}
// LifeCycle contains configurations relevant to the lifecycle (such as the shutdown phase) of Traefik.
typeLifeCyclestruct{
RequestAcceptGraceTimeoutparse.Duration`description:"Duration to keep accepting requests before Traefik initiates the graceful shutdown procedure"`
GraceTimeOutparse.Duration`description:"Duration to give active requests a chance to finish before Traefik stops"`
}
// Tracing holds the tracing configuration.
typeTracingstruct{
Backendstring`description:"Selects the tracking backend ('jaeger','zipkin', 'datadog')." export:"true"`
ServiceNamestring`description:"Set the name for this service" export:"true"`
SpanNameLimitint`description:"Set the maximum character limit for Span names (default 0 = no limit)" export:"true"`
Jaeger*jaeger.Config`description:"Settings for jaeger"`
Zipkin*zipkin.Config`description:"Settings for zipkin"`
DataDog*datadog.Config`description:"Settings for DataDog"`
}
// HostResolverConfig contain configuration for CNAME Flattening.
typeHostResolverConfigstruct{
CnameFlatteningbool`description:"A flag to enable/disable CNAME flattening" export:"true"`
ResolvConfigstring`description:"resolv.conf used for DNS resolving" export:"true"`
ResolvDepthint`description:"The maximal depth of DNS recursive resolving" export:"true"`
ProvidersThrottleDurationparse.Duration`description:"Backends throttle duration: minimum duration between 2 events from providers before applying a new configuration. It avoids unnecessary reloads if multiples events are sent in a short amount of time." export:"true"`
Docker*docker.Provider`description:"Enable Docker backend with default settings" export:"true"`
File*file.Provider`description:"Enable File backend with default settings" export:"true"`
Marathon*marathon.Provider`description:"Enable Marathon backend with default settings" export:"true"`
Consul*consul.Provider`description:"Enable Consul backend with default settings" export:"true"`
ConsulCatalog*consulcatalog.Provider`description:"Enable Consul catalog backend with default settings" export:"true"`
Etcd*etcd.Provider`description:"Enable Etcd backend with default settings" export:"true"`
Zookeeper*zk.Provider`description:"Enable Zookeeper backend with default settings" export:"true"`
Boltdb*boltdb.Provider`description:"Enable Boltdb backend with default settings" export:"true"`
Kubernetes*kubernetes.Provider`description:"Enable Kubernetes backend with default settings" export:"true"`
Mesos*mesos.Provider`description:"Enable Mesos backend with default settings" export:"true"`
Eureka*eureka.Provider`description:"Enable Eureka backend with default settings" export:"true"`
ECS*ecs.Provider`description:"Enable ECS backend with default settings" export:"true"`
Rancher*rancher.Provider`description:"Enable Rancher backend with default settings" export:"true"`
DynamoDB*dynamodb.Provider`description:"Enable DynamoDB backend with default settings" export:"true"`
Rest*rest.Provider`description:"Enable Rest backend with default settings" export:"true"`
}
// SetEffectiveConfiguration adds missing configuration parameters derived from existing ones.
// It also takes care of maintaining backwards compatibility.