Skip to main content

Helm Chart Values

Configuration Options

FieldTypeDefaultDescription
additionalArgumentslist[]Additional arguments to be passed at Traefik's binary See CLI Reference Use curly braces to pass values: helm install --set="additionalArguments={--providers.kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"
additionalVolumeMountslist[]Additional volumeMounts to add to the Traefik container
affinityobject{}on nodes where no other traefik pods are scheduled. It should be used when hostNetwork: true to prevent port conflicts
autoscaling.enabledboolfalseCreate HorizontalPodAutoscaler object. See EXAMPLES.md for more details.
certResolversobject{}Certificates resolvers configuration. Ref: https://doc.traefik.io/traefik/https/acme/#certificate-resolvers See EXAMPLES.md for more details.
commonLabelsobject{}Add additional label to all resources
core.defaultRuleSyntaxstringnilCan be used to use globally v2 router syntax See https://doc.traefik.io/traefik/v3.0/migration/v2-to-v3/#new-v3-syntax-notable-changes
deployment.additionalContainerslist[]Additional containers (e.g. for metric offloading sidecars)
deployment.additionalVolumeslist[]Additional volumes available for use with initContainers and additionalContainers
deployment.annotationsobject{}Additional deployment annotations (e.g. for jaeger-operator sidecar injection)
deployment.dnsConfigobject{}Custom pod DNS config
deployment.enabledbooltrueEnable deployment
deployment.hostAliaseslist[]Custom host aliases
deployment.imagePullSecretslist[]Pull secret for fetching traefik container image
deployment.initContainerslist[]Additional initContainers (e.g. for setting file permission as shown below)
deployment.kindstring"Deployment"Deployment or DaemonSet
deployment.labelsobject{}Additional deployment labels (e.g. for filtering deployment by custom labels)
deployment.lifecycleobject{}Pod lifecycle actions
deployment.minReadySecondsint0The minimum number of seconds Traefik needs to be up and running before the DaemonSet/Deployment controller considers it available
deployment.podAnnotationsobject{}Additional pod annotations (e.g. for mesh injection or prometheus scraping) It supports templating. One can set it with values like traefik/name: '{{ template "traefik.name" . }}'
deployment.podLabelsobject{}Additional Pod labels (e.g. for filtering Pod by custom labels)
deployment.replicasint1Number of pods of the deployment (only applies when kind == Deployment)
deployment.runtimeClassNamestringnilSet a runtimeClassName on pod
deployment.shareProcessNamespaceboolfalseUse process namespace sharing
deployment.terminationGracePeriodSecondsint60Amount of time (in seconds) before Kubernetes will send the SIGKILL signal if Traefik does not shut down
envlistSee values.yamlEnvironment variables to be passed to Traefik's binary
envFromlist[]Environment variables to be passed to Traefik's binary from configMaps or secrets
experimental.kubernetesGateway.enabledboolfalseEnable traefik experimental GatewayClass CRD
experimental.pluginsobject{}Enable traefik experimental plugins
extraObjectslist[]Extra objects to deploy (value evaluated as a template) In some cases, it can avoid the need for additional, extended or adhoc deployments. See #595 for more details and traefik/tests/values/extra.yaml for example.
gateway.annotationsstringnilAdditional gateway annotations (e.g. for cert-manager.io/issuer)
gateway.enabledbooltrueWhen providers.kubernetesGateway.enabled, deploy a default gateway
gateway.listenersobject{"web":{"hostname":null,"namespacePolicy":null,"port":8000,"protocol":"HTTP"\}\}Define listeners
gateway.listeners.web.hostnamestringnilOptional hostname. See Hostname
gateway.listeners.web.namespacePolicystringnilRoutes are restricted to namespace of the gateway [by default](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.FromNamespaces
gateway.listeners.web.portint8000Port is the network port. Multiple listeners may use the same port, subject to the Listener compatibility rules. The port must match a port declared in ports section.
gateway.namestringnilSet a custom name to gateway
gateway.namespacestringnilBy default, Gateway is created in the same Namespace than Traefik.
gatewayClass.enabledbooltrueWhen providers.kubernetesGateway.enabled and gateway.enabled, deploy a default gatewayClass
gatewayClass.labelsstringnilAdditional gatewayClass labels (e.g. for filtering gateway objects by custom labels)
gatewayClass.namestringnilSet a custom name to GatewayClass
globalArgumentslist["--global.checknewversion","--global.sendanonymoususage"]Global command arguments to be passed to all traefik's pods
hostNetworkboolfalseIf hostNetwork is true, runs traefik in the host network namespace To prevent unschedulabel pods due to port collisions, if hostNetwork=true and replicas>1, a pod anti-affinity is recommended and will be set if the affinity is left as default.
hub.apimanagement.admission.listenAddrstringnilWebHook admission server listen address. Default: "0.0.0.0:9943".
hub.apimanagement.admission.secretNamestringnilCertificate of the WebHook admission server. Default: "hub-agent-cert".
hub.apimanagement.enabledstringnilSet to true in order to enable API Management. Requires a valid license token.
hub.ratelimit.redis.clusterstringnilEnable Redis Cluster. Default: true.
hub.ratelimit.redis.databasestringnilDatabase used to store information. Default: "0".
hub.ratelimit.redis.endpointsstringnilEndpoints of the Redis instances to connect to. Default: "".
hub.ratelimit.redis.passwordstringnilThe password to use when connecting to Redis endpoints. Default: "".
hub.ratelimit.redis.sentinel.mastersetstringnilName of the set of main nodes to use for main selection. Required when using Sentinel. Default: "".
hub.ratelimit.redis.sentinel.passwordstringnilPassword to use for sentinel authentication (can be different from endpoint password). Default: "".
hub.ratelimit.redis.sentinel.usernamestringnilUsername to use for sentinel authentication (can be different from endpoint username). Default: "".
hub.ratelimit.redis.timeoutstringnilTimeout applied on connection with redis. Default: "0s".
hub.ratelimit.redis.tls.castringnilPath to the certificate authority used for the secured connection.
hub.ratelimit.redis.tls.certstringnilPath to the public certificate used for the secure connection.
hub.ratelimit.redis.tls.insecureSkipVerifystringnilWhen insecureSkipVerify is set to true, the TLS connection accepts any certificate presented by the server. Default: false.
hub.ratelimit.redis.tls.keystringnilPath to the private key used for the secure connection.
hub.ratelimit.redis.usernamestringnilThe username to use when connecting to Redis endpoints. Default: "".
hub.sendlogsstringnil
hub.tokenstringnilName of Secret with key 'token' set to a valid license token. It enables API Gateway.
image.pullPolicystring"IfNotPresent"Traefik image pull policy
image.registrystring"docker.io"Traefik image host registry
image.repositorystring"traefik"Traefik image repository
image.tagstringnildefaults to appVersion
ingressClassobject{"enabled":true,"isDefaultClass":true}Create a default IngressClass for Traefik
ingressRoute.dashboard.annotationsobject{}Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class)
ingressRoute.dashboard.enabledboolfalseCreate an IngressRoute for the dashboard
ingressRoute.dashboard.entryPointslist["traefik"]Specify the allowed entrypoints to use for the dashboard ingress route, (e.g. traefik, web, websecure). By default, it's using traefik entrypoint, which is not exposed. /!\ Do not expose your dashboard without any protection over the internet /!\
ingressRoute.dashboard.labelsobject{}Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels)
ingressRoute.dashboard.matchRulestring"PathPrefix(/dashboard`)
ingressRoute.dashboard.middlewareslist[]Additional ingressRoute middlewares (e.g. for authentication)
ingressRoute.dashboard.serviceslist[{"kind":"TraefikService","name":"api@internal"}]The internal service used for the dashboard ingressRoute
ingressRoute.dashboard.tlsobject{}TLS options (e.g. secret containing certificate)
ingressRoute.healthcheck.annotationsobject{}Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class)
ingressRoute.healthcheck.enabledboolfalseCreate an IngressRoute for the healthcheck probe
ingressRoute.healthcheck.entryPointslist["traefik"]Specify the allowed entrypoints to use for the healthcheck ingress route, (e.g. traefik, web, websecure). By default, it's using traefik entrypoint, which is not exposed.
ingressRoute.healthcheck.labelsobject{}Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels)
ingressRoute.healthcheck.matchRulestring"PathPrefix(/ping)"The router match rule used for the healthcheck ingressRoute
ingressRoute.healthcheck.middlewareslist[]Additional ingressRoute middlewares (e.g. for authentication)
ingressRoute.healthcheck.serviceslist[{"kind":"TraefikService","name":"ping@internal"}]The internal service used for the healthcheck ingressRoute
ingressRoute.healthcheck.tlsobject{}TLS options (e.g. secret containing certificate)
instanceLabelOverridestringnil
livenessProbe.failureThresholdint3The number of consecutive failures allowed before considering the probe as failed.
livenessProbe.initialDelaySecondsint2The number of seconds to wait before starting the first probe.
livenessProbe.periodSecondsint10The number of seconds to wait between consecutive probes.
livenessProbe.successThresholdint1The minimum consecutive successes required to consider the probe successful.
livenessProbe.timeoutSecondsint2The number of seconds to wait for a probe response before considering it as failed.
logs.access.addInternalsstringnilEnables accessLogs for internal resources. Default: false.
logs.access.bufferingSizestringnilSet bufferingSize
logs.access.enabledboolfalseTo enable access logs
logs.access.fields.general.defaultmodestring"keep"Available modes: keep, drop, redact.
logs.access.fields.general.namesobject{}Names of the fields to limit.
logs.access.fields.headersobject{"defaultmode":"drop","names":{\}\}Limit logged fields or headers
logs.access.fields.headers.defaultmodestring"drop"Available modes: keep, drop, redact.
logs.access.filtersobject{}Set filtering
logs.access.formatstringnilSet access log format
logs.general.formatstringnilSet logs format @default common
logs.general.levelstring"INFO"Alternative logging levels are DEBUG, PANIC, FATAL, ERROR, WARN, and INFO.
metrics.addInternalsstringnil
metrics.otlp.addEntryPointsLabelsstringnilEnable metrics on entry points. Default: true
metrics.otlp.addRoutersLabelsstringnilEnable metrics on routers. Default: false
metrics.otlp.addServicesLabelsstringnilEnable metrics on services. Default: true
metrics.otlp.enabledboolfalseSet to true in order to enable the OpenTelemetry metrics
metrics.otlp.explicitBoundariesstringnilExplicit boundaries for Histogram data points. Default: [.005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10]
metrics.otlp.grpc.enabledboolfalseSet to true in order to send metrics to the OpenTelemetry Collector using gRPC
metrics.otlp.grpc.endpointstringnilFormat: <scheme>://<host>:<port><path>. Default: http://localhost:4318/v1/metrics
metrics.otlp.grpc.insecurestringnilAllows reporter to send metrics to the OpenTelemetry Collector without using a secured protocol.
metrics.otlp.grpc.tls.castringnilThe path to the certificate authority, it defaults to the system bundle.
metrics.otlp.grpc.tls.certstringnilThe path to the public certificate. When using this option, setting the key option is required.
metrics.otlp.grpc.tls.insecureSkipVerifystringnilWhen set to true, the TLS connection accepts any certificate presented by the server regardless of the hostnames it covers.
metrics.otlp.grpc.tls.keystringnilThe path to the private key. When using this option, setting the cert option is required.
metrics.otlp.http.enabledboolfalseSet to true in order to send metrics to the OpenTelemetry Collector using HTTP.
metrics.otlp.http.endpointstringnilFormat: <scheme>://<host>:<port><path>. Default: http://localhost:4318/v1/metrics
metrics.otlp.http.headersstringnilAdditional headers sent with metrics by the reporter to the OpenTelemetry Collector.
metrics.otlp.http.tls.castringnilThe path to the certificate authority, it defaults to the system bundle.
metrics.otlp.http.tls.certstringnilThe path to the public certificate. When using this option, setting the key option is required.
metrics.otlp.http.tls.insecureSkipVerifystringnilWhen set to true, the TLS connection accepts any certificate presented by the server regardless of the hostnames it covers.
metrics.otlp.http.tls.keystringnilThe path to the private key. When using this option, setting the cert option is required.
metrics.otlp.pushIntervalstringnilInterval at which metrics are sent to the OpenTelemetry Collector. Default: 10s
metrics.prometheus.disableAPICheckstringnilWhen set to true, it won't check if Prometheus Operator CRDs are deployed
metrics.prometheus.entryPointstring"metrics"Entry point used to expose metrics.
metrics.prometheus.prometheusRule.additionalLabelsstringnil
metrics.prometheus.prometheusRule.enabledboolfalseEnable optional CR for Prometheus Operator. See EXAMPLES.md for more details.
metrics.prometheus.prometheusRule.namespacestringnil
metrics.prometheus.service.annotationsstringnil
metrics.prometheus.service.enabledstringnilCreate a dedicated metrics service to use with ServiceMonitor
metrics.prometheus.service.labelsstringnil
metrics.prometheus.serviceMonitor.additionalLabelsstringnil
metrics.prometheus.serviceMonitor.enableHttp2stringnil
metrics.prometheus.serviceMonitor.enabledboolfalseEnable optional CR for Prometheus Operator. See EXAMPLES.md for more details.
metrics.prometheus.serviceMonitor.followRedirectsstringnil
metrics.prometheus.serviceMonitor.honorLabelsstringnil
metrics.prometheus.serviceMonitor.honorTimestampsstringnil
metrics.prometheus.serviceMonitor.intervalstringnil
metrics.prometheus.serviceMonitor.jobLabelstringnil
metrics.prometheus.serviceMonitor.metricRelabelingsstringnil
metrics.prometheus.serviceMonitor.namespacestringnil
metrics.prometheus.serviceMonitor.namespaceSelectorstringnil
metrics.prometheus.serviceMonitor.relabelingsstringnil
metrics.prometheus.serviceMonitor.scrapeTimeoutstringnil
namespaceOverridestringnilThis field override the default Release Namespace for Helm. It will not affect optional CRDs such as ServiceMonitor and PrometheusRules
nodeSelectorobject{}nodeSelector is the simplest recommended form of node selection constraint.
persistence.accessModestring"ReadWriteOnce"
persistence.annotationsobject{}
persistence.enabledboolfalseEnable persistence using Persistent Volume Claims ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ It can be used to store TLS certificates, see storage in certResolvers
persistence.namestring"data"
persistence.pathstring"/data"
persistence.sizestring"128Mi"
podDisruptionBudgetobject{"enabled":null,"maxUnavailable":null,"minAvailable":null}Pod Disruption Budget
podSecurityContextobjectSee values.yamlPod Security Context
podSecurityPolicyobject{"enabled":false}Enable to create a PodSecurityPolicy and assign it to the Service Account via RoleBinding or ClusterRoleBinding
ports.metrics.exposeobject{"default":false}You may not want to expose the metrics port on production deployments. If you want to access it from outside your cluster, use kubectl port-forward or create a secure ingress
ports.metrics.exposedPortint9100The exposed port for this service
ports.metrics.portint9100When using hostNetwork, use another port to avoid conflict with node exporter: https://github.com/prometheus/prometheus/wiki/Default-port-allocations
ports.metrics.protocolstring"TCP"The port protocol (TCP/UDP)
ports.traefik.exposeobject{"default":false}You SHOULD NOT expose the traefik port on production deployments. If you want to access it from outside your cluster, use kubectl port-forward or create a secure ingress
ports.traefik.exposedPortint9000The exposed port for this service
ports.traefik.portint9000
ports.traefik.protocolstring"TCP"The port protocol (TCP/UDP)
ports.web.expose.defaultbooltrue
ports.web.exposedPortint80
ports.web.portint8000
ports.web.protocolstring"TCP"
ports.web.transportobject{"keepAliveMaxRequests":null,"keepAliveMaxTime":null,"lifeCycle":{"graceTimeOut":null,"requestAcceptGraceTimeout":null},"respondingTimeouts":{"idleTimeout":null,"readTimeout":null,"writeTimeout":null\}\}Set transport settings for the entrypoint; see also https://doc.traefik.io/traefik/routing/entrypoints/#transport
ports.websecure.expose.defaultbooltrue
ports.websecure.exposedPortint443
ports.websecure.http3.enabledboolfalse
ports.websecure.middlewareslist[]/!\ It introduces here a link between your static configuration and your dynamic configuration /!\ It follows the provider naming convention: https://doc.traefik.io/traefik/providers/overview/#provider-namespace middlewares: - namespace-name1@kubernetescrd - namespace-name2@kubernetescrd
ports.websecure.portint8443
ports.websecure.protocolstring"TCP"
ports.websecure.tls.certResolverstring""
ports.websecure.tls.domainslist[]
ports.websecure.tls.enabledbooltrue
ports.websecure.tls.optionsstring""
ports.websecure.transportobject{"keepAliveMaxRequests":null,"keepAliveMaxTime":null,"lifeCycle":{"graceTimeOut":null,"requestAcceptGraceTimeout":null},"respondingTimeouts":{"idleTimeout":null,"readTimeout":null,"writeTimeout":null\}\}Set transport settings for the entrypoint; see also https://doc.traefik.io/traefik/routing/entrypoints/#transport
priorityClassNamestring""Pod Priority and Preemption
providers.file.contentstringnilFile content (YAML format, go template supported) (see https://doc.traefik.io/traefik/providers/file/)
providers.file.enabledboolfalseCreate a file provider
providers.file.watchbooltrueAllows Traefik to automatically watch for file changes
providers.kubernetesCRD.allowCrossNamespaceboolfalseAllows IngressRoute to reference resources in namespace other than theirs
providers.kubernetesCRD.allowEmptyServicesbooltrueAllows to return 503 when there is no endpoints available
providers.kubernetesCRD.allowExternalNameServicesboolfalseAllows to reference ExternalName services in IngressRoute
providers.kubernetesCRD.enabledbooltrueLoad Kubernetes IngressRoute provider
providers.kubernetesCRD.ingressClassstringnilWhen the parameter is set, only resources containing an annotation with the same value are processed. Otherwise, resources missing the annotation, having an empty value, or the value traefik are processed. It will also set required annotation on Dashboard and Healthcheck IngressRoute when enabled.
providers.kubernetesCRD.namespaceslist[]Array of namespaces to watch. If left empty, Traefik watches all namespaces.
providers.kubernetesCRD.nativeLBByDefaultstringnilDefines whether to use Native Kubernetes load-balancing mode by default.
providers.kubernetesGateway.enabledboolfalseEnable Traefik Gateway provider for Gateway API
providers.kubernetesGateway.experimentalChannelboolfalseToggles support for the Experimental Channel resources (Gateway API release channels documentation). This option currently enables support for TCPRoute and TLSRoute.
providers.kubernetesGateway.labelselectorstringnilA label selector can be defined to filter on specific GatewayClass objects only.
providers.kubernetesGateway.namespaceslist[]Array of namespaces to watch. If left empty, Traefik watches all namespaces.
providers.kubernetesIngress.allowEmptyServicesbooltrueAllows to return 503 when there is no endpoints available
providers.kubernetesIngress.allowExternalNameServicesboolfalseAllows to reference ExternalName services in Ingress
providers.kubernetesIngress.enabledbooltrueLoad Kubernetes Ingress provider
providers.kubernetesIngress.ingressClassstringnilWhen ingressClass is set, only Ingresses containing an annotation with the same value are processed. Otherwise, Ingresses missing the annotation, having an empty value, or the value traefik are processed.
providers.kubernetesIngress.namespaceslist[]Array of namespaces to watch. If left empty, Traefik watches all namespaces.
providers.kubernetesIngress.nativeLBByDefaultstringnilDefines whether to use Native Kubernetes load-balancing mode by default.
providers.kubernetesIngress.publishedService.enabledboolfalse
rbacobject{"enabled":true,"namespaced":false,"secretResourceNames":[]}Whether Role Based Access Control objects like roles and rolebindings should be created
readinessProbe.failureThresholdint1The number of consecutive failures allowed before considering the probe as failed.
readinessProbe.initialDelaySecondsint2The number of seconds to wait before starting the first probe.
readinessProbe.periodSecondsint10The number of seconds to wait between consecutive probes.
readinessProbe.successThresholdint1The minimum consecutive successes required to consider the probe successful.
readinessProbe.timeoutSecondsint2The number of seconds to wait for a probe response before considering it as failed.
resourcesobject{}Resources for traefik container.
securityContextobjectSee values.yamlSecurityContext
service.additionalServicesobject{}
service.annotationsobject{}Additional annotations applied to both TCP and UDP services (e.g. for cloud provider specific config)
service.annotationsTCPobject{}Additional annotations for TCP service only
service.annotationsUDPobject{}Additional annotations for UDP service only
service.enabledbooltrue
service.externalIPslist[]
service.labelsobject{}Additional service labels (e.g. for filtering Service by custom labels)
service.loadBalancerSourceRangeslist[]
service.singlebooltrue
service.specobject{}Cannot contain type, selector or ports entries.
service.typestring"LoadBalancer"
serviceAccountobject{"name":""}The service account the pods will use to interact with the Kubernetes API
serviceAccountAnnotationsobject{}Additional serviceAccount annotations (e.g. for oidc authentication)
startupProbestringnilDefine Startup Probe
tlsOptionsobject{}TLS Options are created as TLSOption CRDs When using labelSelector, you'll need to set labels on tlsOption accordingly. See EXAMPLE.md for details.
tlsStoreobject{}TLS Store are created as TLSStore CRDs. This is useful if you want to set a default certificate. See EXAMPLE.md for details.
tolerationslist[]Tolerations allow the scheduler to schedule pods with matching taints.
topologySpreadConstraintslist[]You can use topology spread constraints to control how Pods are spread across your cluster among failure-domains.
tracingobject{"addInternals":null,"otlp":{"enabled":false,"grpc":{"enabled":false,"endpoint":null,"insecure":null,"tls":{"ca":null,"cert":null,"insecureSkipVerify":null,"key":null\}\},"http":{"enabled":false,"endpoint":null,"headers":null,"tls":{"ca":null,"cert":null,"insecureSkipVerify":null,"key":null\}\}\}\}https://doc.traefik.io/traefik/observability/tracing/overview/
tracing.addInternalsstringnilEnables tracing for internal resources. Default: false.
tracing.otlp.enabledboolfalseSee https://doc.traefik.io/traefik/v3.0/observability/tracing/opentelemetry/
tracing.otlp.grpc.enabledboolfalseSet to true in order to send metrics to the OpenTelemetry Collector using gRPC
tracing.otlp.grpc.endpointstringnilFormat: <scheme>://<host>:<port><path>. Default: http://localhost:4318/v1/metrics
tracing.otlp.grpc.insecurestringnilAllows reporter to send metrics to the OpenTelemetry Collector without using a secured protocol.
tracing.otlp.grpc.tls.castringnilThe path to the certificate authority, it defaults to the system bundle.
tracing.otlp.grpc.tls.certstringnilThe path to the public certificate. When using this option, setting the key option is required.
tracing.otlp.grpc.tls.insecureSkipVerifystringnilWhen set to true, the TLS connection accepts any certificate presented by the server regardless of the hostnames it covers.
tracing.otlp.grpc.tls.keystringnilThe path to the private key. When using this option, setting the cert option is required.
tracing.otlp.http.enabledboolfalseSet to true in order to send metrics to the OpenTelemetry Collector using HTTP.
tracing.otlp.http.endpointstringnilFormat: <scheme>://<host>:<port><path>. Default: http://localhost:4318/v1/metrics
tracing.otlp.http.headersstringnilAdditional headers sent with metrics by the reporter to the OpenTelemetry Collector.
tracing.otlp.http.tls.castringnilThe path to the certificate authority, it defaults to the system bundle.
tracing.otlp.http.tls.certstringnilThe path to the public certificate. When using this option, setting the key option is required.
tracing.otlp.http.tls.insecureSkipVerifystringnilWhen set to true, the TLS connection accepts any certificate presented by the server regardless of the hostnames it covers.
tracing.otlp.http.tls.keystringnilThe path to the private key. When using this option, setting the cert option is required.
updateStrategy.rollingUpdate.maxSurgeint1
updateStrategy.rollingUpdate.maxUnavailableint0
updateStrategy.typestring"RollingUpdate"Customize updateStrategy: RollingUpdate or OnDelete
volumeslist[]Add volumes to the traefik pod. The volume name will be passed to tpl. This can be used to mount a cert pair or a configmap that holds a config.toml file. After the volume has been mounted, add the configs into traefik by using the additionalArguments list below, eg: additionalArguments: - "--providers.file.filename=/config/dynamic.toml" - "--ping" - "--ping.entrypoint=web"