1# Default values for Traefik
2# This is a YAML-formatted file.
3# Declare variables to be passed into templates
5image: # @schema additionalProperties: false
6 # -- Traefik image host registry. Defaults to `docker.io` for Traefik Proxy and `ghcr.io` for Traefik Hub (when `hub.enabled` is true).
7 registry: cgr.dev # @schema type:[string, null]
8 # -- Traefik image repository. Defaults to `traefik` for Traefik Proxy and `traefik/traefik-hub` for Traefik Hub (when `hub.enabled` is true).
9 repository: chainguard-private/traefik # @schema type:[string, null]
10 # -- defaults to appVersion. It's used for version checking, even prefixed with experimental- or latest-.
11 # To pin by digest, prefer `image.digest`. A `<version>@<digest>` combo is also accepted here; in that case the digest is what Kubernetes verifies and the version is informational (and can drift from the underlying image).
12 tag: 3.7.16-r0@sha256:18fd707b23a4f7f8e86e9dc50361b220de4fa1a94d987b642ed493810f3fae09 # @schema type:[string, null]
13 # -- Traefik image digest (e.g. `sha256:abc...`). When set, takes precedence over `tag`. Set `versionOverride` alongside it so the chart's version-checking logic knows the version (it cannot be derived from the digest).
14 digest: # @schema type:[string, null]; pattern:^sha256:[a-f0-9]{64}$
15 # -- Traefik image pull policy
16 pullPolicy: IfNotPresent
17# -- Pull secrets for fetching traefik container image when `deployment.imagePullSecrets` is empty
19# -- Add additional label to all resources
22 # -- Enable deployment
24 # -- Deployment or DaemonSet
26 # -- Number of pods of the deployment (only applies when kind == Deployment).
27 # Set to null to omit spec.replicas, e.g. when an external controller (HPA/KEDA) owns scaling.
28 replicas: 1 # @schema type:[integer, null];minimum:0
29 # -- (int) Number of old history to retain to allow rollback (If not set, default Kubernetes value is set to 10)
30 revisionHistoryLimit: # @schema type:[integer, null];minimum:0
31 # -- Amount of time (in seconds) before Kubernetes will send the SIGKILL signal if Traefik does not shut down
32 terminationGracePeriodSeconds: 60
33 # -- The minimum number of seconds Traefik needs to be up and running before the DaemonSet/Deployment controller considers it available
35 # -- (string/int) Override the liveness/readiness port. This is useful to integrate traefik
36 # with an external Load Balancer that performs healthchecks.
37 # @default -- `ports.traefik.port`
38 healthchecksPort: # @schema type:[string, integer, null]; minimum:0
39 # -- Override the liveness/readiness host. Useful for getting ping to respond on non-default entryPoint.
40 # @default -- `ports.traefik.hostIP` if set, otherwise Pod IP
42 # -- Override the liveness/readiness scheme. Useful for getting ping to
43 # respond on websecure entryPoint.
44 healthchecksScheme: # @schema enum:[HTTP, HTTPS, null]; type:[string, null]; default: HTTP
45 # -- Override the readiness path.
48 # -- Override the liveness path.
51 # -- Additional deployment annotations (e.g. for jaeger-operator sidecar injection)
53 # -- Additional deployment labels (e.g. for filtering deployment by custom labels)
55 # -- Additional pod annotations (e.g. for mesh injection or prometheus scraping)
56 # It supports templating. One can set it with values like traefik/name: '{{ template "traefik.name" . }}'
58 # -- Additional Pod labels (e.g. for filtering Pod by custom labels)
59 # It supports templating. One can set it with values like traefik/name: '{{ template "traefik.name" . }}'
61 # -- Additional containers (e.g. for metric offloading sidecars)
62 additionalContainers: []
63 # https://docs.datadoghq.com/developers/dogstatsd/unix_socket/?tab=host
65 # image: alpine/socat:1.0.5
66 # args: ["-s", "-u", "udp-recv:8125", "unix-sendto:/socket/socket"]
70 # -- Additional volumes available for use with initContainers and additionalContainers
74 # path: /var/run/statsd-exporter
75 # -- Additional initContainers (e.g. for setting file permission as shown below)
77 # The "volume-permissions" init container is required if you run into permission issues.
78 # Related issue: https://github.com/traefik/traefik-helm-chart/issues/396
79 # - name: volume-permissions
80 # image: busybox:latest
81 # command: ["sh", "-c", "touch /data/acme.json; chmod -v 600 /data/acme.json"]
85 # -- Use process namespace sharing
86 shareProcessNamespace: false
87 # -- (bool) Whether to use the host user namespace. Setting this to false enables user namespaces,
88 # which can improve security by isolating the pod's users from the host.
89 # See https://kubernetes.io/docs/concepts/workloads/pods/user-namespaces/
90 # @default -- unset (inherits cluster default)
91 hostUsers: # @schema type:[boolean, null]
92 # -- Custom pod DNS policy. Apply if `hostNetwork: true`
94 # -- Custom pod [DNS config](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#poddnsconfig-v1-core)
96 # -- Custom [host aliases](https://kubernetes.io/docs/tasks/network/customize-hosts-file-for-pods/)
98 # -- Pull secrets for fetching traefik container image. Takes precedence over `imagePullSecrets` and `global.imagePullSecrets`
100 # -- Pod lifecycle actions
111 # -- Set a runtimeClassName on pod
113 # -- Percentage of memory limit to set for GOMEMLIMIT, set as decimal (0.9 = 90%, 0.95 = 95% etc). Only takes effect when resources.limits.memory is set. Set to 0 to disable (e.g. when using VPA or setting it via env)
114 goMemLimitPercentage: 0.9
116 # -- [EmptyDir](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir) options for the tmp volume.
118# -- [Pod Disruption Budget](https://kubernetes.io/docs/reference/kubernetes-api/policy-resources/pod-disruption-budget-v1/)
119# @default -- See _values.yaml_
120podDisruptionBudget: # @schema additionalProperties: false
122 maxUnavailable: # @schema type:[string, integer, null];minimum:0
123 minAvailable: # @schema type:[string, integer, null];minimum:0
124ingressClass: # @schema additionalProperties: false
125 # -- Create a default IngressClass for Traefik
129core: # @schema additionalProperties: false
130 # -- Can be used to use globally v2 router syntax. Deprecated since v3.4 /!\.
131 # See https://doc.traefik.io/traefik/v3.0/migration/v2-to-v3/#new-v3-syntax-notable-changes
132 defaultRuleSyntax: ""
133 # -- Disables the unsafe fallback to default TLS options on conflict, mitigating [GHSA-g55h-rg46-x9c5](https://github.com/traefik/traefik/security/advisories/GHSA-g55h-rg46-x9c5). Requires traefik v3.7.11+.
134 strictTLSOptions: false
135# Traefik experimental features
137 # -- Defines whether all plugins must be loaded successfully for Traefik to start
138 abortOnPluginFailure: false
140 # -- Enables the FastProxy implementation.
142 # -- Enable debug mode for the FastProxy implementation.
145 # -- Enable traefik experimental GatewayClass CRD
147 # -- Enable experimental plugins
149 # -- Enable experimental local plugins
151 # -- Enable OTLP logging experimental feature.
153 # -- Enable Knative provider experimental feature.
156 # -- When providers.kubernetesGateway.enabled, deploy a default gateway
158 # -- Set a custom name to gateway
160 # -- By default, Gateway is created in the same `Namespace` as Traefik.
162 # -- Additional gateway annotations (e.g. for cert-manager.io/issuer)
164 # -- [Infrastructure](https://kubernetes.io/blog/2023/11/28/gateway-api-ga/#gateway-infrastructure-labels)
166 # -- Configure this Gateway as a [Default Gateway](https://kubernetes.io/blog/2025/11/06/gateway-api-v1-4/#introducing-default-gateways)
167 # by setting the `defaultScope` field (e.g. `All` or `Namespace`).
168 defaultScope: null # @schema enum:["All", "None", null]; type:[string, null]; default: null
171 # -- Port is the network port. Multiple listeners may use the same port, subject to the Listener compatibility rules.
172 # The port must match a port declared in ports section.
174 # -- Optional hostname. See [Hostname](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.Hostname)
176 # Specify expected protocol on this listener. See [ProtocolType](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.ProtocolType)
178 # -- (object) Routes are restricted to namespace of the gateway [by default](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.FromNamespaces
179 namespacePolicy: # @schema type:[object, null]
180 # websecure listener is disabled by default because certificateRefs needs to be added,
181 # or you may specify TLS protocol with Passthrough mode and add "--providers.kubernetesGateway.experimentalChannel=true" in additionalArguments section.
183 # # -- Port is the network port. Multiple listeners may use the same port, subject to the Listener compatibility rules.
184 # # The port must match a port declared in ports section.
186 # # -- Optional hostname. See [Hostname](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.Hostname)
188 # # Specify expected protocol on this listener See [ProtocolType](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.ProtocolType)
190 # # -- Routes are restricted to namespace of the gateway [by default](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.FromNamespaces)
192 # # -- Add certificates for TLS or HTTPS protocols. See [GatewayTLSConfig](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io%2fv1.GatewayTLSConfig)
194 # # -- TLS behavior for the TLS session initiated by the client. See [TLSModeType](https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.TLSModeType).
196gatewayClass: # @schema additionalProperties: false
197 # -- When providers.kubernetesGateway.enabled and gateway.enabled, deploy a default gatewayClass
199 # -- Set a custom name to GatewayClass
201 # -- Additional gatewayClass labels (e.g. for filtering gateway objects by custom labels)
203api: # @schema additionalProperties: false
204 # -- Enable the dashboard
206 # -- Custom name for the dashboard (v3.7+).
207 dashboardName: "" # @schema type:[string, null]
208 # -- (bool) Disable the advertisement from the dashboard.
209 disableDashboardAd: # @schema type:[boolean, null]
210 # -- (bool) Enable the insecure API (HTTP)
211 insecure: # @schema type:[boolean, null]
212 # -- (bool) Enable the debug API
213 debug: # @schema type:[boolean, null]
214 # -- Configure API basePath
215 basePath: "" # @schema type:[string, null]; default: "/"
216# -- Only dashboard & healthcheck IngressRoute are supported.
217# It's recommended to create workloads CR outside of this Chart.
218# @default -- See _values.yaml_
221 # -- Create an IngressRoute for the dashboard
223 # -- Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class)
225 # -- Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels)
227 # -- The router match rule used for the dashboard ingressRoute
228 matchRule: PathPrefix(`/dashboard`) || PathPrefix(`/api`)
229 # -- The internal service used for the dashboard ingressRoute
230 # @default -- api@internal
234 # -- Specify the allowed entrypoints to use for the dashboard ingress route, (e.g. traefik, web, websecure).
235 # By default, it's using traefik entrypoint, which is not exposed.
236 # /!\ Do not expose your dashboard without any protection over the internet /!\
237 entryPoints: ["traefik"]
238 # -- Additional ingressRoute middlewares (e.g. for authentication)
240 # -- TLS options (e.g. secret containing certificate)
243 # -- Create an IngressRoute for the healthcheck probe
245 # -- Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class)
247 # -- Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels)
249 # -- The router match rule used for the healthcheck ingressRoute
250 matchRule: PathPrefix(`/ping`)
251 # -- The internal service used for the healthcheck ingressRoute
252 # @default -- ping@internal
254 - name: ping@internal
256 # -- Specify the allowed entrypoints to use for the healthcheck ingress route, (e.g. traefik, web, websecure).
257 # By default, it's using traefik entrypoint, which is not exposed.
258 entryPoints: ["traefik"]
259 # -- Additional ingressRoute middlewares (e.g. for authentication)
261 # -- TLS options (e.g. secret containing certificate)
263updateStrategy: # @schema additionalProperties: false
264 # -- Customize updateStrategy of Deployment or DaemonSet
267 maxUnavailable: 0 # @schema type:[integer, string, null]
268 maxSurge: 1 # @schema type:[integer, string, null]
269readinessProbe: # @schema additionalProperties: false
270 # -- The number of consecutive failures allowed before considering the probe as failed.
272 # -- The number of seconds to wait before starting the first probe.
273 initialDelaySeconds: 2
274 # -- The number of seconds to wait between consecutive probes.
276 # -- The minimum consecutive successes required to consider the probe successful.
278 # -- The number of seconds to wait for a probe response before considering it as failed.
280livenessProbe: # @schema additionalProperties: false
281 # -- The number of consecutive failures allowed before considering the probe as failed.
283 # -- The number of seconds to wait before starting the first probe.
284 initialDelaySeconds: 2
285 # -- The number of seconds to wait between consecutive probes.
287 # -- The minimum consecutive successes required to consider the probe successful.
289 # -- The number of seconds to wait for a probe response before considering it as failed.
291# -- Define [Startup Probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-startup-probes)
293# @schema additionalProperties: false
295 # -- Defines the routing precedence between providers. See [upstream documentation](https://doc.traefik.io/traefik/reference/install-configuration/providers/overview/#routing-precedence) for the default order.
297 # @schema additionalProperties: false
299 # -- Load Kubernetes IngressRoute provider
301 # -- Allows IngressRoute to reference resources in namespace other than theirs
302 allowCrossNamespace: false
303 # -- Allows to reference ExternalName services in IngressRoute
304 allowExternalNameServices: false
305 # -- Allows to return 503 when there are no endpoints available
306 allowEmptyServices: true
307 # -- List of namespaces from which IngressRoute, IngressRouteTCP, IngressRouteUDP, and TraefikService are allowed to declare cross-provider references. Requires traefik v3.7.1+.
308 crossProviderNamespaces: []
309 # -- Restricts the namespace where the cluster-wide TLSOption and TLSStore named `default` can be defined. When empty, any namespace is allowed. Requires traefik v3.7.11+.
310 defaultTLSResourcesNamespace: ""
311 # -- When 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.
313 # -- See [upstream documentation](https://doc.traefik.io/traefik/reference/install-configuration/providers/kubernetes/kubernetes-ingress/#opt-providers-kubernetesIngress-labelselector)
315 # -- Array of namespaces to watch. If left empty, Traefik watches all namespaces. . When using `rbac.namespaced`, it will watch helm release namespace and namespaces listed in this array.
317 # -- Defines whether to use Native Kubernetes load-balancing mode by default.
318 nativeLBByDefault: false
319 # -- Enables collision-safe naming. ⚠️ It can be breaking, see [upstream documentation](https://doc.traefik.io/traefik/reference/install-configuration/providers/kubernetes/kubernetes-crd/#safenaming). Requires traefik v3.7.11+.
321 # @schema additionalProperties: false
323 # -- Load Kubernetes Ingress provider
325 # -- Allows to reference ExternalName services in Ingress
326 allowExternalNameServices: false
327 # -- Allows to return 503 when there are no endpoints available
328 allowEmptyServices: true
329 # -- List of namespaces from which Ingresses or Services are allowed to declare Middlewares, TLSOptions, or ServersTransport references. Requires traefik v3.7.1+.
330 crossProviderNamespaces: []
331 # -- Only for Traefik v3.0, Deprecated since v3.1. See [upstream documentation](https://doc.traefik.io/traefik/v3.0/providers/kubernetes-ingress/#disableingressclasslookup)
332 disableIngressClassLookup: false
333 # -- When 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.
334 ingressClass: # @schema type:[string, null]
335 labelSelector: # @schema type:[string, null]
336 # -- Array of namespaces to watch. If left empty, Traefik watches all namespaces. . When using `rbac.namespaced`, it will watch helm release namespace and namespaces listed in this array.
338 # IP used for Kubernetes Ingress endpoints
340 # -- Enable [publishedService](https://doc.traefik.io/traefik/reference/install-configuration/providers/kubernetes/kubernetes-ingress/#ingressendpointpublishedservice),
341 # usually with the Service provided by this Chart. It's possible to use it with an external Service using pathOverride.
343 # -- Override path of Kubernetes Service used to copy status from. Format: namespace/servicename.
344 # Default to Service deployed with this Chart.
346 # @schema additionalProperties: false
348 # -- Hostname used for Kubernetes Ingress endpoints
349 hostname: "" # @schema type:[string, null]
350 # -- IP used for Kubernetes Ingress endpoints
351 ip: "" # @schema type:[string, null]
352 # -- Defines whether to use Native Kubernetes load-balancing mode by default.
353 nativeLBByDefault: false
354 # -- Defines whether to make prefix matching strictly comply with the Kubernetes Ingress specification.
355 strictPrefixMatching: false
356 # @schema additionalProperties: false
358 # -- Enable Traefik Gateway provider for Gateway API
360 # -- List of namespaces from which Gateway API routes are allowed to declare TraefikService backendRef references. Requires traefik v3.7.1+.
361 crossProviderNamespaces: []
362 # -- Toggles support for the Experimental Channel resources (Gateway API release channels documentation).
363 # This option currently enables support for TCPRoute and TLSRoute.
364 experimentalChannel: false
365 # -- Array of namespaces to watch. If left empty, Traefik watches all namespaces. kubernetesGateway provider requires ClusterRole and as a consequence `rbac.namespaced` is not supported.
367 # -- A label selector can be defined to filter on specific GatewayClass objects only.
369 # -- Scopes the provider to specific Gateways, as a list of `name` and `namespace` (defaults to the release namespace) (v3.7.14+).
370 # If left empty, Traefik processes all Gateways.
372 # -- Defines whether to use Native Kubernetes load-balancing mode by default.
373 nativeLBByDefault: false
374 # -- (int) Maximum QPS to the Kubernetes API server. A negative value disables client-side ratelimiting (v3.7.3+). Defaults to 50.
375 qps: # @schema type:[integer, null]
376 # -- (int) Maximum burst of requests to the Kubernetes API server (v3.7.3+). Defaults to 100.
377 burst: # @schema type:[integer, null]
379 # -- This IP will get copied to the Gateway status.addresses, and currently only supports one IP value (IPv4 or IPv6).
381 # -- This Hostname will get copied to the Gateway status.addresses.
384 # -- The Kubernetes service to copy status addresses from. When using third parties tools like External-DNS, this option can be used to copy the service loadbalancer.status (containing the service's endpoints IPs) to the gateways. Default to Service of this Chart.
388 # @schema additionalProperties: false
390 # -- Create a file provider
392 # -- Allows Traefik to automatically watch for file changes
394 # -- File content as an object (will be YAML-formatted, go template supported) (see https://doc.traefik.io/traefik/reference/install-configuration/providers/others/file/)
396 # @schema additionalProperties: false
397 kubernetesIngressNGINX:
398 # -- Enable Kubernetes Ingress NGINX provider
400 # -- Ingress Class Controller value this controller satisfies
401 controllerClass: "k8s.io/ingress-nginx"
402 # -- Name of the ingress class this controller satisfies
403 ingressClass: "nginx"
404 # -- Define if Ingress Controller should watch for Ingress Class by Name together with Controller Class
405 ingressClassByName: false
406 # -- Define if Ingress Controller should also watch for Ingresses without an IngressClass or the annotation specified
407 watchIngressWithoutClass: false
408 # -- Single namespace the controller watches for updates to Kubernetes objects. Mutually exclusive with watchNamespaceSelector.
410 # -- Select namespaces the controller watches for updates to Kubernetes objects. Mutually exclusive with watchNamespace.
411 # It requires a ClusterRole to list and watch namespaces, and is therefore incompatible with `rbac.namespaced`.
412 watchNamespaceSelector: ""
414 # -- Enable publishService. Service fronting the Ingress controller, used to set the load-balancer status of Ingress objects.
415 # Usually the Service provided by this Chart. It's possible to use it with an external Service using pathOverride.
417 # -- Override path of Kubernetes Service used to copy status from. Format: namespace/servicename.
418 # Default to Service deployed with this Chart.
420 # -- Customized address (or addresses, separated by comma) to set as the load-balancer status of Ingress objects this controller satisfies
421 publishStatusAddress: ""
422 # -- Service used to serve HTTP requests not matching any known server name (catch-all). Takes the form 'namespace/name'
423 defaultBackendService: ""
424 # -- Disable support for Services of type ExternalName
425 disableSvcExternalName: false
426 # -- Ingress refresh throttle duration
428 # -- Kubernetes certificate authority file path (not needed for in-cluster client)
430 # -- Kubernetes server endpoint (required for external cluster client)
432 # -- Kubernetes bearer token (not needed for in-cluster client). It accepts either a token value or a file path to the token
434 # -- (bool) Defines whether to enable request buffering (default: false)
435 proxyRequestBuffering: null # @schema type:[boolean, null]
436 # -- (int) Default buffer size for reading client request body in bytes (default: 16384)
437 clientBodyBufferSize: # @schema type:[integer, null]
438 # -- (int) Default maximum size of a client request body in bytes (default: 1048576)
439 proxyBodySize: # @schema type:[integer, null]
440 # -- (bool) Defines whether to enable response buffering (default: false)
441 proxyBuffering: null # @schema type:[boolean, null]
442 # -- (int) Default buffer size for reading the response body in bytes (default: 8192)
443 proxyBufferSize: # @schema type:[integer, null]
444 # -- (int) Default number of buffers for reading a response (default: 4)
445 proxyBuffersNumber: # @schema type:[integer, null]
446 # -- (int) Amount of time to wait until a connection to a server can be established. Unitless, in seconds (default: 60)
447 proxyConnectTimeout: # @schema type:[integer, null]
448 # -- (int) Amount of time between two successive read operations. Unitless, in seconds (default: 60)
449 proxyReadTimeout: # @schema type:[integer, null]
450 # -- (int) Amount of time between two successive write operations. Unitless, in seconds (default: 60)
451 proxySendTimeout: # @schema type:[integer, null]
452 # -- Defines in which cases a request should be retried (default: "error timeout")
453 proxyNextUpstream: ""
454 # -- (int) Limits the number of possible tries if the backend server does not reply (default: 3)
455 proxyNextUpstreamTries: # @schema type:[integer, null]
456 # -- (int) Limits the total elapsed time to retry the request. Unitless, in seconds (default: 0)
457 proxyNextUpstreamTimeout: # @schema type:[integer, null]
458 # -- Defines which HTTP status codes should result in calling the default backend to return an error page
460 # -- (int) Defines the idle timeout for keep-alive connections to upstream servers. Unitless, in seconds (default: 60)
461 upstreamKeepaliveTimeout: # @schema type:[integer, null]
462 # -- (bool) Allow Ingress to reference resources (e.g. ConfigMaps, Secrets) in different namespaces (default: false)
463 allowCrossNamespaceResources: null # @schema type:[boolean, null]
464 # -- List of allowed response headers inside the custom headers annotations
465 globalAllowedResponseHeaders: []
466 # -- URL to the service that provides authentication for all the locations. Per ingress auth-url annotation has precedence over this option.
468 # -- When set, the strategy is applied to every generated IPAllowList middleware.
469 # @default -- See below
471 # -- Number of trusted proxy hops to skip when extracting the client IP from the X-Forwarded-For header. 0 disables depth-based extraction. (default: 0)
473 # -- List of IPs to exclude when scanning the X-Forwarded-For header to find the client IP.
475 # -- IPv6 subnet size used to group IPv6 addresses when checking the allow list. 0 disables subnet grouping.
477 # -- (bool) Enables parsing and adding -snippet annotations/directives (default: false)
478 allowSnippetAnnotations: null # @schema type:[boolean, null]
479 # -- (bool) Defines whether to reject the entire ingress when any path contains regex characters and pathType is Prefix or Exact (default: true)
480 strictValidatePathType: null # @schema type:[boolean, null]
481 # -- Defines the EntryPoint to use for HTTP requests
482 httpEntryPoint: "web"
483 # -- Defines the EntryPoint to use for HTTPS requests
484 httpsEntryPoint: "websecure"
485 # @schema additionalProperties: false
487 # -- Enable ModSec engine. Requires Traefik Hub >= v3.20.0-ea.8.
489 # -- Enable OWASP Core Rules.
490 owaspCoreRules: false
491 # -- Custom ModSec rules snippet.
493 # @schema additionalProperties: false
495 # -- Enable Knative provider
497 # -- Array of namespaces to watch. If left empty, Traefik watches all namespaces. . When using `rbac.namespaced`, it will watch helm release namespace and namespaces listed in this array.
499 # -- Allow filtering Knative Ingress objects
501# -- Add volumes to the traefik pod. The volume name will be passed to tpl.
502# This can be used to mount a cert pair or a configmap that holds a config.toml file.
503# After the volume has been mounted, add the configs into traefik by using the `additionalArguments` list below, eg:
504# `additionalArguments:
505# - "--providers.file.filename=/config/dynamic.toml"
507# - "--ping.entrypoint=web"`
512# - name: '{{ printf "%s-configs" .Release.Name }}'
513# mountPath: "/config"
516# -- Additional volumeMounts to add to the Traefik container
517additionalVolumeMounts: []
518# -- For instance when using a logshipper for access logs
519# - name: traefik-logs
520# mountPath: /var/log/traefik
522# -- See [logs reference](https://doc.traefik.io/traefik/reference/install-configuration/observability/logs-and-accesslogs/)
524 # -- Set [logs format](https://doc.traefik.io/traefik/reference/install-configuration/observability/logs-and-accesslogs/#opt-log-format)
525 format: # @schema enum:["common", "json", null]; type:[string, null]; default: "common"
526 # By default, the level is set to INFO.
527 # -- Alternative logging levels are TRACE, DEBUG, INFO, WARN, ERROR, FATAL, and PANIC.
528 level: "INFO" # @schema enum:[TRACE,DEBUG,INFO,WARN,ERROR,FATAL,PANIC]; default: "INFO"
529 # -- To write the logs into a log file, use the filePath option.
531 # -- When set to true and format is common, it disables the colorized output.
534 # -- Set to true in order to enable OpenTelemetry on logs. Note that experimental.otlpLogs needs to be enabled.
536 # -- Service name used in OTLP backend. Default: traefik.
537 serviceName: # @schema type:[string, null]
539 # -- Set to true in order to send logs to the OpenTelemetry Collector using HTTP.
541 # -- Format: <scheme>://<host>:<port><path>. Default: https://localhost:4318/v1/logs
543 # -- Additional headers sent with logs by the reporter to the OpenTelemetry Collector.
545 ## Defines the TLS configuration used by the reporter to send logs to the OpenTelemetry Collector.
547 # -- The path to the certificate authority, it defaults to the system bundle.
549 # -- The path to the public certificate. When using this option, setting the key option is required.
551 # -- The path to the private key. When using this option, setting the cert option is required.
553 # -- (bool) When set to true, the TLS connection accepts any certificate presented by the server regardless of the hostnames it covers.
554 insecureSkipVerify: # @schema type:[boolean, null]
556 # -- Set to true in order to send logs to the OpenTelemetry Collector using gRPC
558 # -- Format: <host>:<port>. Default: "localhost:4317"
560 # -- Allows reporter to send logs to the OpenTelemetry Collector without using a secured protocol.
562 ## Defines the TLS configuration used by the reporter to send logs to the OpenTelemetry Collector.
564 # -- The path to the certificate authority, it defaults to the system bundle.
566 # -- The path to the public certificate. When using this option, setting the key option is required.
568 # -- The path to the private key. When using this option, setting the cert option is required.
570 # -- (bool) When set to true, the TLS connection accepts any certificate presented by the server regardless of the hostnames it covers.
571 insecureSkipVerify: # @schema type:[boolean, null]
572 # -- Defines additional resource attributes to be sent to the collector.
573 resourceAttributes: {}
574# -- See [access logs reference](https://doc.traefik.io/traefik/reference/install-configuration/observability/logs-and-accesslogs/)
576 # -- To enable access logs
578 # -- Set [access log format](https://doc.traefik.io/traefik/reference/install-configuration/observability/logs-and-accesslogs/#opt-accesslog-format)
579 format: # @schema enum:["common", "genericCLF", "json", null]; type:[string, null]; default: "common"
580 # filePath: "/var/log/traefik/access.log
581 # -- (int) Set [bufferingSize](https://doc.traefik.io/traefik/reference/install-configuration/observability/logs-and-accesslogs/#opt-accesslog-bufferingSize)
582 bufferingSize: # @schema type:[integer, null]
583 # -- Set [timezone](https://doc.traefik.io/traefik/reference/install-configuration/observability/logs-and-accesslogs/#time-zones)
585 # -- Set [filtering](https://doc.traefik.io/traefik/observe/logs-and-access-logs/#access-log-filters)
586 # @default -- See below
587 filters: # @schema additionalProperties: false
588 # -- Set statusCodes, to limit the access logs to requests with a status codes in the specified range
590 # -- Set retryAttempts, to keep the access logs when at least one retry has happened
592 # -- Set minDuration, to keep access logs when requests take longer than the specified duration
594 # -- Enables accessLogs for internal resources. Default: false.
596 # -- Enables access log output alongside OTLP (v3.7+).
599 # -- Set default mode for fields.names
600 defaultMode: keep # @schema enum:[keep, drop, redact]; default: keep
601 # -- Names of the fields to limit.
604 # -- [Limit logged fields or headers](https://doc.traefik.io/traefik/observe/logs-and-access-logs/#log-fields-customization)
605 defaultMode: drop # @schema enum:[keep, drop, redact]; default: drop
608 # -- Keep or drop all query parameters in the RequestPath access log field (v3.7.3+).
609 defaultMode: # @schema enum:[keep, drop, null]; type:[string, null]; default: null
611 # -- Set to true in order to enable OpenTelemetry on access logs. Note that experimental.otlpLogs needs to be enabled.
613 # -- Service name used in OTLP backend. Default: traefik.
614 serviceName: # @schema type:[string, null]
616 # -- Set to true in order to send access logs to the OpenTelemetry Collector using HTTP.
618 # -- Format: <scheme>://<host>:<port><path>. Default: https://localhost:4318/v1/logs
620 # -- Additional headers sent with access logs by the reporter to the OpenTelemetry Collector.
622 ## Defines the TLS configuration used by the reporter to send access logs to the OpenTelemetry Collector.
624 # -- The path to the certificate authority, it defaults to the system bundle.
626 # -- The path to the public certificate. When using this option, setting the key option is required.
628 # -- The path to the private key. When using this option, setting the cert option is required.
630 # -- (bool) When set to true, the TLS connection accepts any certificate presented by the server regardless of the hostnames it covers.
631 insecureSkipVerify: # @schema type:[boolean, null]
633 # -- Set to true in order to send access logs to the OpenTelemetry Collector using gRPC
635 # -- Format: <host>:<port>. Default: "localhost:4317"
637 # -- Allows reporter to send access logs to the OpenTelemetry Collector without using a secured protocol.
639 ## Defines the TLS configuration used by the reporter to send access logs to the OpenTelemetry Collector.
641 # -- The path to the certificate authority, it defaults to the system bundle.
643 # -- The path to the public certificate. When using this option, setting the key option is required.
645 # -- The path to the private key. When using this option, setting the cert option is required.
647 # -- (bool) When set to true, the TLS connection accepts any certificate presented by the server regardless of the hostnames it covers.
648 insecureSkipVerify: # @schema type:[boolean, null]
649 # -- Defines additional resource attributes to be sent to the collector.
650 resourceAttributes: {}
652 # -- Enable metrics for internal resources. Default: false
654 ## Prometheus is enabled by default.
655 ## It can be disabled by setting "prometheus: null"
657 # -- Entry point used to expose metrics.
659 # -- (bool) Enable metrics on entry points. Default: true
660 addEntryPointsLabels: # @schema type:[boolean, null]
661 # -- (bool) Enable metrics on routers. Default: false
662 addRoutersLabels: # @schema type:[boolean, null]
663 # -- (bool) Enable metrics on services. Default: true
664 addServicesLabels: # @schema type:[boolean, null]
665 # -- Buckets for latency metrics. Default="0.1,0.3,1.2,5.0"
667 # -- When manualRouting is true, it disables the default internal router in
668 ## order to allow creating a custom router for prometheus@internal service.
670 # -- Add HTTP header labels to metrics. See EXAMPLES.md or upstream doc for usage.
671 headerLabels: {} # @schema type:[object, null]
673 # -- Create a dedicated metrics service to use with ServiceMonitor
677 # -- (bool) When set to true, it won't check if Prometheus Operator CRDs are deployed
678 disableAPICheck: # @schema type:[boolean, null]
680 # -- Enable optional CR for Prometheus Operator. See EXAMPLES.md for more details.
682 apiVersion: "monitoring.coreos.com/v1"
683 metricRelabelings: []
689 honorTimestamps: false
691 followRedirects: false
694 namespaceSelector: {}
696 # -- Enable optional CR for Prometheus Operator. See EXAMPLES.md for more details.
698 apiVersion: "monitoring.coreos.com/v1"
702 # ## Address instructs exporter to send metrics to datadog-agent at this address.
703 # address: "127.0.0.1:8125"
704 # ## The interval used by the exporter to push metrics to datadog-agent. Default=10s
705 # # pushInterval: 30s
706 # ## The prefix to use for metrics collection. Default="traefik"
708 # ## Enable metrics on entry points. Default=true
709 # # addEntryPointsLabels: false
710 # ## Enable metrics on routers. Default=false
711 # # addRoutersLabels: true
712 # ## Enable metrics on services. Default=true
713 # # addServicesLabels: false
715 # ## Address instructs exporter to send metrics to influxdb v2 at this address.
716 # address: localhost:8086
717 # ## Token with which to connect to InfluxDB v2.
719 # ## Organisation where metrics will be stored.
721 # ## Bucket where metrics will be stored.
723 # ## The interval used by the exporter to push metrics to influxdb. Default=10s
724 # # pushInterval: 30s
725 # ## Additional labels (influxdb tags) on all metrics.
726 # # additionalLabels:
729 # ## Enable metrics on entry points. Default=true
730 # # addEntryPointsLabels: false
731 # ## Enable metrics on routers. Default=false
732 # # addRoutersLabels: true
733 # ## Enable metrics on services. Default=true
734 # # addServicesLabels: false
736 # ## Address instructs exporter to send metrics to statsd at this address.
737 # address: localhost:8125
738 # ## The interval used by the exporter to push metrics to influxdb. Default=10s
739 # # pushInterval: 30s
740 # ## The prefix to use for metrics collection. Default="traefik"
742 # ## Enable metrics on entry points. Default=true
743 # # addEntryPointsLabels: false
744 # ## Enable metrics on routers. Default=false
745 # # addRoutersLabels: true
746 # ## Enable metrics on services. Default=true
747 # # addServicesLabels: false
749 # -- Set to true in order to enable the OpenTelemetry metrics
751 # -- (bool) Enable metrics on entry points. Default: true
752 addEntryPointsLabels: # @schema type:[boolean, null]
753 # -- (bool) Enable metrics on routers. Default: false
754 addRoutersLabels: # @schema type:[boolean, null]
755 # -- (bool) Enable metrics on services. Default: true
756 addServicesLabels: # @schema type:[boolean, null]
757 # -- Explicit boundaries for Histogram data points. Default: [.005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10]
758 explicitBoundaries: []
759 # -- Interval at which metrics are sent to the OpenTelemetry Collector. Default: 10s
761 # -- Service name used in OTLP backend. Default: traefik.
762 serviceName: # @schema type:[string, null]
764 # -- Set to true in order to send metrics to the OpenTelemetry Collector using HTTP.
766 # -- Format: <scheme>://<host>:<port><path>. Default: https://localhost:4318/v1/metrics
768 # -- Additional headers sent with metrics by the reporter to the OpenTelemetry Collector.
770 ## Defines the TLS configuration used by the reporter to send metrics to the OpenTelemetry Collector.
772 # -- The path to the certificate authority, it defaults to the system bundle.
774 # -- The path to the public certificate. When using this option, setting the key option is required.
776 # -- The path to the private key. When using this option, setting the cert option is required.
778 # -- (bool) When set to true, the TLS connection accepts any certificate presented by the server regardless of the hostnames it covers.
779 insecureSkipVerify: # @schema type:[boolean, null]
781 # -- Set to true in order to send metrics to the OpenTelemetry Collector using gRPC
783 # -- Format: <host>:<port>. Default: "localhost:4317"
785 # -- Allows reporter to send metrics to the OpenTelemetry Collector without using a secured protocol.
787 ## Defines the TLS configuration used by the reporter to send metrics to the OpenTelemetry Collector.
789 # -- The path to the certificate authority, it defaults to the system bundle.
791 # -- The path to the public certificate. When using this option, setting the key option is required.
793 # -- The path to the private key. When using this option, setting the cert option is required.
795 # -- (bool) When set to true, the TLS connection accepts any certificate presented by the server regardless of the hostnames it covers.
796 insecureSkipVerify: # @schema type:[boolean, null]
797 # -- Defines additional resource attributes to be sent to the collector.
798 resourceAttributes: {}
800 # -- Enable OCSP stapling support.
801 # See https://doc.traefik.io/traefik/reference/install-configuration/tls/ocsp/
803 # -- Defines the OCSP responder URLs to use instead of the one provided by the certificate.
804 responderOverrides: {}
806# -- https://doc.traefik.io/traefik/reference/install-configuration/observability/tracing/
807# @default -- See _values.yaml_
808tracing: # @schema additionalProperties: false
809 # -- Enables tracing for internal resources. Default: false.
811 # -- Service name used in selected backend. Default: traefik.
812 serviceName: # @schema type:[string, null]
813 # -- Defines additional resource attributes to be sent to the collector.
814 resourceAttributes: {}
815 # -- Defines the list of request headers to add as attributes. It applies to client and server kind spans.
816 capturedRequestHeaders: []
817 # -- Defines the list of response headers to add as attributes. It applies to client and server kind spans.
818 capturedResponseHeaders: []
819 # -- By default, all query parameters are redacted. Defines the list of query parameters to not redact.
821 # -- (float) The proportion of requests to trace, specified between 0.0 and 1.0. Default: 1.0.
822 sampleRate: # @schema type:[number, null]; minimum:0; maximum:1
824 # -- See https://doc.traefik.io/traefik/reference/install-configuration/observability/tracing/#configuration-options
827 # -- Set to true in order to send metrics to the OpenTelemetry Collector using HTTP.
829 # -- Format: <scheme>://<host>:<port><path>. Default: https://localhost:4318/v1/tracing
831 # -- Additional headers sent with metrics by the reporter to the OpenTelemetry Collector.
833 ## Defines the TLS configuration used by the reporter to send metrics to the OpenTelemetry Collector.
835 # -- The path to the certificate authority, it defaults to the system bundle.
837 # -- The path to the public certificate. When using this option, setting the key option is required.
839 # -- The path to the private key. When using this option, setting the cert option is required.
841 # -- (bool) When set to true, the TLS connection accepts any certificate presented by the server regardless of the hostnames it covers.
842 insecureSkipVerify: # @schema type:[boolean, null]
844 # -- Set to true in order to send metrics to the OpenTelemetry Collector using gRPC
846 # -- Format: <host>:<port>. Default: "localhost:4317"
848 # -- Allows reporter to send metrics to the OpenTelemetry Collector without using a secured protocol.
850 ## Defines the TLS configuration used by the reporter to send metrics to the OpenTelemetry Collector.
852 # -- The path to the certificate authority, it defaults to the system bundle.
854 # -- The path to the public certificate. When using this option, setting the key option is required.
856 # -- The path to the private key. When using this option, setting the cert option is required.
858 # -- (bool) When set to true, the TLS connection accepts any certificate presented by the server regardless of the hostnames it covers.
859 insecureSkipVerify: # @schema type:[boolean, null]
861 checkNewVersion: true
862 # -- Please take time to consider whether or not you wish to share anonymous data with us
863 # See https://doc.traefik.io/traefik/contributing/data-collection/
864 sendAnonymousUsage: false
865 # -- Disable appending RemoteAddr to X-Forwarded-For header globally (v3.7+).
866 notAppendXForwardedFor: false
867 # -- Pull secrets for fetching traefik container image when `deployment.imagePullSecrets` and `imagePullSecrets` are empty
869 # -- Required for Azure Marketplace integration.
870 # See https://learn.microsoft.com/en-us/partner-center/marketplace-offers/azure-container-technical-assets-kubernetes?tabs=linux,linux2#update-the-helm-chart
871 # @default -- See _values.yaml_
876 image: chainguard-private/traefik
877 tag: 3.7.16-r0@sha256:18fd707b23a4f7f8e86e9dc50361b220de4fa1a94d987b642ed493810f3fae09
880 image: chainguard-private/traefik
881 tag: 3.7.16-r0@sha256:18fd707b23a4f7f8e86e9dc50361b220de4fa1a94d987b642ed493810f3fae09
883# -- Additional arguments to be passed at Traefik's binary
884# See [CLI Reference](https://docs.traefik.io/reference/static-configuration/cli/)
885# Use curly braces to pass values: `helm install --set="additionalArguments={--providers.kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"`
886additionalArguments: []
887# - "--providers.kubernetesingress.ingressclass=traefik-internal"
888# - "--log.level=DEBUG"
890# -- Additional Environment variables to be passed to Traefik's binary
892# -- Environment variables to be passed to Traefik's binary from configMaps or secrets
894# @schema mergeProperties: true
896 # @schema additionalProperties: false
899 # -- (int) Use hostPort if set.
900 hostPort: # @schema type:[integer, null]; minimum:0
901 # -- Use hostIP if set. If not set, Kubernetes will default to 0.0.0.0, which
902 # means it's listening on all your interfaces and all your IPs. You may want
903 # to set this value if you need traefik to listen on specific interface
905 hostIP: # @schema type:[string, null]
906 # Defines whether the port is exposed if service.type is LoadBalancer or
909 # -- You SHOULD NOT expose the traefik port on production deployments.
910 # If you want to access it from outside your cluster,
911 # use `kubectl port-forward` or create a secure ingress
914 # -- The exposed port for this service
916 # -- The port protocol (TCP/UDP)
918 observability: # @schema additionalProperties: false
919 # -- (bool) Defines whether a router attached to this EntryPoint produces metrics by default.
920 metrics: # @schema type:[boolean, null]; default: true
921 # -- (bool) Defines whether a router attached to this EntryPoint produces access-logs by default.
922 accessLogs: # @schema type:[boolean, null]; default: true
923 # -- (bool) Defines whether a router attached to this EntryPoint produces traces by default.
924 tracing: # @schema type:[boolean, null]; default: true
925 # -- Defines the tracing verbosity level for routers attached to this EntryPoint.
926 traceVerbosity: # @schema enum:[minimal, detailed, null]; type:[string, null]; default: minimal
928 # -- (bool) Enable this entrypoint as a default entrypoint. When a service doesn't explicitly set an entrypoint it will only use this entrypoint.
929 asDefault: # @schema type: [boolean, null]; default: null
932 # containerPort: 8000
936 # -- (string/int) Different target traefik port on the cluster, useful for IP type LB
937 targetPort: # @schema type:[string, integer, null]; minimum:0
938 # -- The port protocol (TCP/UDP)
940 # -- (int) See [upstream documentation](https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport)
941 nodePort: # @schema type:[integer, null]; minimum:0
942 # -- See [upstream documentation](https://doc.traefik.io/traefik/reference/install-configuration/entrypoints/#allowacmebypass)
943 allowACMEByPass: false
946 # -- Port Redirections
947 # Added in 2.2, one can make permanent redirects via entrypoints.
948 # Same sets of parameters: to, scheme, permanent and priority.
949 # https://doc.traefik.io/traefik/reference/install-configuration/entrypoints/#configuration-example
952 # -- Trust forwarded headers information (X-Forwarded-*).
955 # -- Disable appending RemoteAddr to X-Forwarded-For header (v3.7+).
956 notAppendXForwardedFor: false
958 # -- Enable the Proxy Protocol header parsing for the entry point
961 # -- Set transport settings for the entrypoint
965 readTimeout: # @schema type:[string, integer, null]
966 writeTimeout: # @schema type:[string, integer, null]
967 idleTimeout: # @schema type:[string, integer, null]
969 requestAcceptGraceTimeout: # @schema type:[string, integer, null]
970 graceTimeOut: # @schema type:[string, integer, null]
971 keepAliveMaxRequests: # @schema type:[integer, null]; minimum:0
972 keepAliveMaxTime: # @schema type:[string, integer, null]
973 # -- (bool) Enable this port as an uplink for multi cluster.
974 # ⚠️ This feature is experimental and requires Traefik Hub with a specific subscription.
975 uplink: # @schema type: [boolean, null]; default: null
976 observability: # @schema additionalProperties: false
977 # -- (bool) Enables metrics for this entryPoint.
978 metrics: # @schema type:[boolean, null]; default: true
979 # -- (bool) Enables access-logs for this entryPoint.
980 accessLogs: # @schema type:[boolean, null]; default: true
981 # -- (bool) Enables tracing for this entryPoint.
982 tracing: # @schema type:[boolean, null]; default: true
983 # -- Defines the tracing verbosity level for this entryPoint.
984 traceVerbosity: # @schema enum:[minimal, detailed, null]; type:[string, null]; default: minimal
986 ## -- Enable this entrypoint as a default entrypoint. When a service doesn't explicitly set an entrypoint it will only use this entrypoint.
989 # -- (int) Use hostPort if set.
990 hostPort: # @schema type:[integer, null]; minimum:0
991 # -- (int) Use containerPort if set.
992 containerPort: # @schema type:[integer, null]; minimum:0
996 # -- (string/int) Different target traefik port on the cluster, useful for IP type LB
997 targetPort: # @schema type:[string, integer, null]; minimum:0
998 # -- The port protocol (TCP/UDP)
1000 # -- (int) See [upstream documentation](https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport)
1001 nodePort: # @schema type:[integer, null]; minimum:0
1002 # -- See [upstream documentation](https://kubernetes.io/docs/concepts/services-networking/service/#application-protocol)
1003 appProtocol: # @schema type:[string, null]
1004 # -- See [upstream documentation](https://doc.traefik.io/traefik/reference/install-configuration/entrypoints/#allowacmebypass)
1005 allowACMEByPass: false
1007 # -- See [upstream documentation](https://doc.traefik.io/traefik/security/request-path/#encoded-character-filtering)
1009 encodedCharacters: # @schema additionalProperties: false
1010 allowEncodedSlash: # @schema type:[boolean, null]
1011 allowEncodedBackSlash: # @schema type:[boolean, null]
1012 allowEncodedNullCharacter: # @schema type:[boolean, null]
1013 allowEncodedSemicolon: # @schema type:[boolean, null]
1014 allowEncodedPercent: # @schema type:[boolean, null]
1015 allowEncodedQuestionMark: # @schema type:[boolean, null]
1016 allowEncodedHash: # @schema type:[boolean, null]
1017 # -- (int) Maximum size of request headers in bytes. Default: 1048576 (1 MB)
1018 maxHeaderBytes: # @schema type:[integer, null]; minimum:0
1019 # -- See [upstream documentation](https://doc.traefik.io/traefik/reference/install-configuration/entrypoints/#httpmiddlewares)
1020 middlewares: [] # @schema type: [array, null]
1021 # -- (bool) See [upstream documentation](https://doc.traefik.io/traefik/security/request-path/#path-sanitization)
1022 sanitizePath: # @schema type:[boolean, null]
1023 # -- Defines how request headers with non-alphanumeric characters in their names are handled (v3.7.12+).
1024 # See [upstream documentation](https://doc.traefik.io/traefik/reference/install-configuration/entrypoints/#aliasheadersstrategy)
1025 aliasHeadersStrategy: # @schema enum:[keep, delete, reject, null]; type:[string, null]
1026 # -- Defines how request headers with underscores in their names are handled (v3.7.6-v3.7.11).
1027 # Replaced by the aliasHeadersStrategy option for Traefik v3.7.12+.
1028 # See [upstream documentation](https://doc.traefik.io/traefik/reference/install-configuration/entrypoints/#underscoreheadersstrategy)
1029 underscoreHeadersStrategy: # @schema deprecated; enum:[keep, delete, reject, null]; type:[string, null]
1031 # -- See [upstream documentation](https://doc.traefik.io/traefik/reference/install-configuration/entrypoints/#opt-http-tls)
1038 # -- Enable HTTP/3 on the entrypoint. It also enables the http3 experimental feature.
1039 # See [upstream documentation](https://doc.traefik.io/traefik/reference/install-configuration/entrypoints/#opt-http3).
1040 # There are known limitations when trying to listen on same ports for TCP & UDP ([kubernetes#47249](https://github.com/kubernetes/kubernetes/issues/47249#issuecomment-587960741)): this chart works around it using a dual Service.
1042 # -- (int) Defines the UDP port to advertise as the HTTP/3 authority.
1043 advertisedPort: # @schema type:[integer, null]; minimum:0
1045 # -- Trust forwarded headers information (X-Forwarded-*).
1048 # -- Disable appending RemoteAddr to X-Forwarded-For header (v3.7+).
1049 notAppendXForwardedFor: false
1051 # -- Enable the Proxy Protocol header parsing for the entry point
1054 # -- Set transport settings for the entrypoint
1058 readTimeout: # @schema type:[string, integer, null]
1059 writeTimeout: # @schema type:[string, integer, null]
1060 idleTimeout: # @schema type:[string, integer, null]
1062 requestAcceptGraceTimeout: # @schema type:[string, integer, null]
1063 graceTimeOut: # @schema type:[string, integer, null]
1064 keepAliveMaxRequests: # @schema type:[integer, null]; minimum:0
1065 keepAliveMaxTime: # @schema type:[string, integer, null]
1066 observability: # @schema additionalProperties: false
1067 # -- (bool) Enables metrics for this entryPoint.
1068 metrics: # @schema type:[boolean, null]; default: true
1069 # -- (bool) Enables access-logs for this entryPoint.
1070 accessLogs: # @schema type:[boolean, null]; default: true
1071 # -- (bool) Enables tracing for this entryPoint.
1072 tracing: # @schema type:[boolean, null]; default: true
1073 # -- Defines the tracing verbosity level for this entryPoint.
1074 traceVerbosity: # @schema enum:[minimal, detailed, null]; type:[string, null]; default: minimal
1076 # -- When using hostNetwork, use another port to avoid conflict with node exporter:
1077 # https://github.com/prometheus/prometheus/wiki/Default-port-allocations
1079 # -- You may not want to expose the metrics port on production deployments.
1080 # If you want to access it from outside your cluster,
1081 # use `kubectl port-forward` or create a secure ingress
1084 # -- The exposed port for this service
1086 # -- The port protocol (TCP/UDP)
1088 observability: # @schema additionalProperties: false
1089 # -- (bool) Enables metrics for this entryPoint.
1090 metrics: # @schema type:[boolean, null]; default: true
1091 # -- (bool) Enables access-logs for this entryPoint.
1092 accessLogs: # @schema type:[boolean, null]; default: true
1093 # -- (bool) Enables tracing for this entryPoint.
1094 tracing: # @schema type:[boolean, null]; default: true
1095 # -- Defines the tracing verbosity level for this entryPoint.
1096 traceVerbosity: # @schema enum:[minimal, detailed, null]; type:[string, null]; default: minimal
1097# -- TLS Options are created as [TLSOption CRDs](https://doc.traefik.io/traefik/reference/routing-configuration/kubernetes/crd/tls/tlsoption/)
1098# When using `labelSelector`, you'll need to set labels on tlsOption accordingly.
1099# See EXAMPLE.md for details.
1101# -- TLS Store are created as [TLSStore CRDs](https://doc.traefik.io/traefik/reference/routing-configuration/kubernetes/crd/tls/tlsstore/).
1102# This is useful if you want to set a default certificate. See EXAMPLE.md for details.
1106 # -- Override the default Service name. Useful for adopting an existing Service (e.g., during migration from another ingress controller).
1107 nameOverride: "" # @schema type:[string, null]
1108 # -- Single service exposing both TCP and UDP ports.
1109 # When set to false, it will create two Service, one for TCP and one for UDP.
1111 # -- Additional annotations applied to both TCP and UDP services (e.g. for cloud provider specific config)
1113 # -- Additional annotations for TCP service only
1115 # -- Additional annotations for UDP service only
1117 # -- Additional service labels (e.g. for filtering Service by custom labels)
1119 # -- Additional entries here will be added to the Service [spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#servicespec-v1-core).
1120 # Cannot contain selector or ports entries.
1123 # -- Can be used to create multiple Service.
1124 # See EXAMPLES.md for more details.
1125 additionalServices: {}
1126autoscaling: # @schema additionalProperties: false
1127 # -- Create HorizontalPodAutoscaler object.
1128 # See EXAMPLES.md for more details.
1130 # -- (int) minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down. It defaults to 1 pod.
1131 minReplicas: # @schema type:[integer, null]; minimum:0
1132 # -- (int) maxReplicas is the upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas.
1133 maxReplicas: # @schema type:[integer, null]; minimum:0
1134 # -- metrics contains the specifications for which to use to calculate the desired replica count (the maximum replica count across all metrics will be used).
1136 # -- behavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively).
1138 # -- scaleTargetRef points to the target resource to scale, and is used for the pods for which metrics should be collected, as well as to actually change the replica count.
1139 # @default -- Traefik Deployment
1143 name: "{{ template \"traefik.fullname\" . }}"
1145 # -- Enable persistence using Persistent Volume Claims
1146 # ref: http://kubernetes.io/docs/user-guide/persistent-volumes/.
1147 # It can be used to store TLS certificates along with `certificatesResolvers.<name>.acme.storage` option
1151 accessMode: ReadWriteOnce
1153 storageClass: # @schema type:[string, null]
1157 # -- Only mount a subpath of the Volume into the pod
1159 # -- [EmptyDir](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir) options when persistence is disabled
1161# -- Certificates resolvers configuration.
1162# Ref: https://doc.traefik.io/traefik/reference/install-configuration/tls/certificate-resolvers/acme/
1163# See EXAMPLES.md for more details.
1164certificatesResolvers: {}
1165# -- If hostNetwork is true, runs traefik in the host network namespace
1166# To prevent unschedulable pods due to port collisions, if hostNetwork=true
1167# and replicas>1, a pod anti-affinity is recommended and will be set if the
1168# affinity is left as default.
1170rbac: # @schema additionalProperties: false
1171 # -- Whether Role Based Access Control objects like roles and rolebindings should be created
1173 # -- When set to true: <br />
1174 # 1. It switches respectively the use of `ClusterRole` and `ClusterRoleBinding` to `Role` and `RoleBinding`.<br />
1175 # 2. It adds `disableClusterScopeResources` on Ingress and CRD (Kubernetes) providers<br />
1176 # **NOTE**: `IngressClass`, `NodePortLB` and **Gateway** provider cannot be used with namespaced RBAC. <br />
1177 # **NOTE**: with Traefik Hub, a cluster-scoped `ValidatingAdmissionPolicy` is deployed by default but can be opt-out. See `hub.restrictSecretTypes`. <br />
1178 # See [upstream documentation](https://doc.traefik.io/traefik/reference/install-configuration/providers/kubernetes/kubernetes-ingress/#opt-providers-kubernetesIngress-disableClusterScopeResources) for more details.
1180 # -- Enable user-facing roles
1181 # https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles
1183 # -- List of Kubernetes secrets that are accessible for Traefik when `rbac.namespaced` is true. If empty, then access is granted to every secret. Ignored when `rbac.namespaced` is false (ClusterRole), since Kubernetes RBAC does not support `resourceNames` on cluster-scoped list/watch rules.
1184 secretResourceNames: []
1185# -- The service account the pods will use to interact with the Kubernetes API
1186serviceAccount: # @schema additionalProperties: false
1187 # If set, an existing service account is used
1188 # If not set, a service account is created automatically using the fullname template
1190# -- Additional serviceAccount annotations (e.g. for oidc authentication)
1191serviceAccountAnnotations: {}
1192# -- [Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for `traefik` container.
1194# -- This example pod anti-affinity forces the scheduler to put traefik pods
1195# -- on nodes where no other traefik pods are scheduled.
1196# It should be used when hostNetwork: true to prevent port conflicts
1199# requiredDuringSchedulingIgnoredDuringExecution:
1202# app.kubernetes.io/name: '{{ template "traefik.name" . }}'
1203# app.kubernetes.io/instance: '{{ .Release.Name }}-{{ include "traefik.namespace" . }}'
1204# topologyKey: kubernetes.io/hostname
1206# -- nodeSelector is the simplest recommended form of node selection constraint.
1208# -- Tolerations allow the scheduler to schedule pods with matching taints.
1210# -- You can use topology spread constraints to control
1211# how Pods are spread across your cluster among failure-domains.
1212topologySpreadConstraints: []
1213# This example topologySpreadConstraints forces the scheduler to put traefik pods
1214# on nodes where no other traefik pods are scheduled.
1217# app.kubernetes.io/name: '{{ template "traefik.name" . }}'
1219# topologyKey: kubernetes.io/hostname
1220# whenUnsatisfiable: DoNotSchedule
1222# -- [Pod Priority and Preemption](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/)
1223priorityClassName: ""
1224# -- [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1)
1225# @default -- See _values.yaml_
1227 allowPrivilegeEscalation: false
1230 readOnlyRootFilesystem: true
1231# -- [Pod Security Context](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context)
1232# @default -- See _values.yaml_
1238 type: RuntimeDefault
1240# -- Extra objects to deploy (value evaluated as a template)
1242# In some cases, it can avoid the need for additional, extended or adhoc deployments.
1243# See #595 for more details and traefik/tests/values/extra.yaml for example.
1245# -- This field overrides the default Release Namespace for Helm.
1246# It will not affect optional CRDs such as `ServiceMonitor` and `PrometheusRules`
1247namespaceOverride: ""
1248# -- This field overrides the default app.kubernetes.io/instance label for all Objects.
1249instanceLabelOverride: ""
1250# -- This field overrides the default version extracted from image.tag. Required when pinning by `image.digest`, since the version cannot be derived from a digest.
1252# -- overrides the app.kubernetes.io/name label
1254# -- Overrides the resource name for templates (i.e deployment, service, etc..)
1256# Traefik Hub configuration. See https://doc.traefik.io/traefik-hub/
1257hub: # @schema additionalProperties: false
1258 # -- (bool) Install Traefik Hub. Without `hub.token`, it runs in proxy mode: a drop-in Traefik
1259 # Proxy, which requires Traefik Hub >= v3.21.0-ea.
1260 # @default -- `true` when `hub.token` is set
1261 enabled: # @schema type:[boolean, null]
1262 # -- Name of `Secret` with key 'token' set to a valid license token.
1263 # It enables API Gateway.
1265 # -- Mount path for token secret.
1266 tokenMountPath: "/etc/secrets"
1267 # -- Use the hardened image variant. It appends `-hardened` to the tag and defaults the image
1268 # to `registry.traefik.io/traefik-hub`. Requires `hub.enabled` and Traefik Hub >= v3.21.0-ea.
1270 # -- (bool) Disables all external network connections.
1271 offline: # @schema type:[boolean, null]
1272 # -- By default, Traefik Hub provider watches all namespaces. When using `rbac.namespaced`, it will watch helm release namespace and namespaces listed in this array.
1273 namespaces: [] # @schema required:true
1274 # -- Deploy a `ValidatingAdmissionPolicy` that only allows Traefik Hub to write `Opaque` and `kubernetes.io/tls` Secrets.
1275 # It prevents Traefik Hub from creating `kubernetes.io/service-account-token` Secrets. Requires `hub.token`.
1276 # **NOTE**: it is a cluster-scoped resource, also deployed with `rbac.namespaced`. Disable it only if the chart installer cannot create it.
1277 restrictSecretTypes: true
1279 # -- Set to true in order to enable API Management. Requires a valid license token.
1282 # -- WebHook admission server listen address. Default: "0.0.0.0:9943".
1284 # -- Certificate name of the WebHook admission server. Default: "hub-agent-cert".
1285 secretName: "hub-agent-cert"
1286 # -- By default, this chart handles directly the tls certificate required for the admission webhook. It's possible to disable this behavior and handle it outside of the chart. See EXAMPLES.md for more details.
1287 selfManagedCertificate: false
1288 # -- Set custom certificate for the WebHook admission server. The certificate should be specified with _tls.crt_ and _tls.key_ in base64 encoding.
1289 customWebhookCertificate: {}
1290 # -- Set it to false if you need to disable Traefik Hub pod restart when mutating webhook certificate is updated. It's done with a label update.
1291 restartOnCertificateChange: true
1292 # -- Set custom annotations.
1295 # -- When set to true, it will only accept paths and methods that are explicitly defined in its OpenAPI specification
1296 validateRequestMethodAndPath: false
1297 # -- Interval to refresh the OpenAPI specification, as a Go duration. Must be at least `1m`.
1298 # @default -- `1m` when unset
1301 # -- Set to true in order to enable AI MCP Gateway. Requires a valid license token.
1303 # -- (int) Hard limit for the size of request bodies inspected by the gateway. Accepts a plain integer representing **bytes**. The default value is `1048576` (1 MiB).
1304 maxRequestBodySize: # @schema type:[integer, null]; minimum:0
1306 # -- Set to true in order to enable AI Gateway. Requires a valid license token.
1308 # -- (int) Hard limit for the size of request bodies inspected by the gateway. Accepts a plain integer representing **bytes**. The default value is `1048576` (1 MiB).
1309 maxRequestBodySize: # @schema type:[integer, null]; minimum:0
1311 consulCatalogEnterprise:
1312 # -- Enable Consul Catalog Enterprise backend with default settings.
1314 # -- Use local agent caching for catalog reads.
1316 # -- Enable Consul Connect support.
1318 # -- Consider every service as Connect capable by default.
1319 connectByDefault: false
1320 # -- Constraints is an expression that Traefik matches against the container's labels
1323 defaultRule: "Host(`{{ normalize .Name }}`)"
1325 # -- The address of the Consul server
1327 # -- Data center to use. If not provided, the default agent data center is used
1329 # -- (int) WaitTime limits how long a Watch will block. If not provided, the agent default
1330 endpointWaitTime: # @schema type:[integer, null]
1332 # -- Basic Auth password
1334 # -- Basic Auth username
1336 # -- The URI scheme for the Consul server
1343 # -- TLS insecure skip verify
1344 insecureSkipVerify: false
1347 # -- Token is used to provide a per-request ACL token which overrides the agent's
1349 # -- Expose containers by default.
1350 exposedByDefault: true
1351 # -- Sets the namespaces used to discover services (Consul Enterprise only).
1353 # -- Sets the partition used to discover services (Consul Enterprise only).
1355 # -- Prefix for consul service tags.
1357 # -- Interval for checking Consul API.
1359 # -- Forces the read to be fully consistent.
1360 requireConsistent: false
1361 # -- Name of the Traefik service in Consul Catalog (needs to be registered via the
1362 serviceName: "traefik"
1363 # -- Use stale consistency for catalog reads.
1365 # -- A list of service health statuses to allow taking traffic.
1366 strictChecks: "passing, warning"
1367 # -- Watch Consul API events.
1369 # @schema additionalProperties: false
1371 # -- Enable AWS EC2 provider.
1373 # -- AWS region used for EC2 API requests. When empty, the region is retrieved from the EC2 Instance Metadata Service.
1375 # -- AWS access key ID, set together with secretAccessKey. Readable from the Pod spec: prefer IRSA, the instance role or `env`.
1377 # -- AWS secret access key, set together with accessKeyID. Readable from the Pod spec: prefer IRSA, the instance role or `env`.
1379 # -- Expose instances by default. When false, only instances with the `traefik.enable=true` tag are exposed.
1380 exposedByDefault: true
1381 # -- Polling interval, in seconds, for the EC2 API.
1383 # -- Default rule applied to instances that do not define a router rule tag.
1385 # -- Expression matched against instance tags to determine whether to create routes for an instance.
1387 # -- Default backend IP mode: private, public or ipv6. Overridable per instance with the `traefik.ec2.ipmode` tag.
1388 ipMode: "" # @schema enum:["", "private", "public", "ipv6"]
1389 # -- EC2 API filters used to scope instance discovery. List of `{ name: "<filter>", values: ["<value>"] }` entries.
1390 filters: [] # @schema item:object
1391 # @schema additionalProperties: false
1392 securityGroupPortDiscovery:
1393 # -- Derive the backend port from the instance security-group rules when no port tag is set.
1395 # -- Ports excluded from security-group port discovery. When empty, the provider excludes privileged ports except 80 and 443.
1398 # -- Enable Microcks provider.
1401 # -- Microcks API client ID.
1403 # -- Microcks API client secret.
1405 # -- Microcks API endpoint.
1407 # -- Microcks API token.
1409 # -- Microcks API endpoint.
1411 # -- Polling interval for Microcks API.
1413 # -- Polling timeout for Microcks API.
1420 # -- TLS insecure skip verify
1421 insecureSkipVerify: false
1425 # -- Enable Multi-cluster provider.
1427 # -- Polling interval for Multi-cluster.
1429 # -- Polling timeout for Multi-cluster.
1431 # @schema mergeProperties: true
1432 # -- Child cluster configurations, keyed by a unique name.
1435 # @schema additionalProperties: false
1437 # -- URL of the child cluster's uplink entrypoint.
1439 # -- TLS and transport configuration for connecting to this child.
1442 # -- (bool) Disable TLS certificate verification. **Not recommended for production.**
1444 insecureSkipVerify: # @schema type:[boolean, null]
1445 # -- Server name used for SNI and certificate verification.
1449 # -- (int) Maximum idle connections per host.
1451 maxIdleConnsPerHost: # @schema type:[integer, null]
1452 # -- (bool) Disable HTTP/2 for connections to this child.
1454 disableHTTP2: # @schema type:[boolean, null]
1455 # -- Minimum TLS version (e.g. `VersionTLS12`, `VersionTLS13`).
1457 # -- Maximum TLS version (e.g. `VersionTLS12`, `VersionTLS13`).
1459 # -- List of supported cipher suites for TLS versions up to 1.2.
1461 # -- URI used to match against SAN URIs during the server's certificate verification.
1464 # @schema type:[string, integer, null]
1465 # -- Timeout for establishing connections.
1468 # @schema type:[string, integer, null]
1469 # -- Timeout for reading response headers.
1471 responseHeaderTimeout:
1472 # @schema type:[string, integer, null]
1473 # -- Timeout for idle connections.
1476 # @schema type:[string, integer, null]
1477 # -- Timeout for HTTP/2 server ping frames.
1480 # @schema type:[string, integer, null]
1481 # -- Timeout for HTTP/2 connection idle reads.
1484 # @schema type:[string, integer, null]
1485 # -- Timeout for reading the request body.
1488 # @schema type:[string, integer, null]
1489 # -- Timeout for writing the response.
1494 # @schema type:[string, integer, null]
1495 # -- SPIFFE trust domain.
1497 # @schema additionalProperties: false
1498 nutanixPrismCentral:
1499 # -- Enable Nutanix Prism Central provider.
1501 # -- Prism Central endpoint.
1503 # -- Prism Central username.
1505 # -- Prism Central password.
1507 # -- Prism Central API key.
1509 # -- Base configuration file path.
1511 # -- Polling interval for Nutanix Prism Central API.
1513 # -- Polling timeout for Nutanix Prism Central API.
1515 # -- Category key used to derive the service name.
1516 serviceNameCategoryKey: "TraefikServiceName"
1517 # -- Filter VMs by VPCs. List of `{ uuid: "<vpc-uuid>" }` entries.
1526 # -- TLS insecure skip verify
1527 insecureSkipVerify: false
1529 # -- (bool) Enable Redis Cluster. Default: true.
1530 cluster: # @schema type:[boolean, null]
1531 # -- (int) Database used to store information. Default: 0.
1532 database: # @schema type:[integer, null]
1533 # -- Endpoints of the Redis instances to connect to. Default: "".
1535 # -- The username to use when connecting to Redis endpoints. Default: "".
1537 # -- The password to use when connecting to Redis endpoints. Default: "".
1540 # -- Name of the set of main nodes to use for main selection. Required when using Sentinel. Default: "".
1542 # -- Username to use for sentinel authentication (can be different from endpoint username). Default: "".
1544 # -- Password to use for sentinel authentication (can be different from endpoint password). Default: "".
1546 # -- Timeout applied on connection with redis. Default: "0s".
1549 # -- Path to the certificate authority used for the secured connection.
1551 # -- Path to the public certificate used for the secure connection.
1553 # -- Path to the private key used for the secure connection.
1555 # -- When insecureSkipVerify is set to true, the TLS connection accepts any certificate presented by the server. Default: false.
1556 insecureSkipVerify: false
1557 # -- (bool) Enable export of error logs to the platform. Default: true.
1558 sendlogs: # @schema type:[boolean, null]
1559 # @schema additionalProperties: false
1560 # -- Tamper-evident transparency logs. It's enabled as soon as a `driver` is configured.
1561 # Requires a valid license token and Traefik Hub >= v3.21.
1562 # @default -- See _values.yaml_
1564 # @schema additionalProperties: false
1565 # -- Storage backend for the transparency log tree. Exactly one of `posix`, `gcp` or `aws` can be set.
1567 # @schema additionalProperties: false
1569 # -- Local filesystem path where the transparency log is stored.
1571 # @schema additionalProperties: false
1573 # -- Name of the GCS bucket used to store log state.
1575 # -- Prefix prepended to all log resource paths, to store multiple logs in one bucket.
1577 # -- GCP resource URI of the Spanner database instance to use.
1579 # @schema additionalProperties: false
1581 # -- Name of the S3 bucket used to store log state.
1583 # -- Prefix prepended to all log resource paths, to store multiple logs in one bucket.
1585 # -- DSN of the MySQL instance to use. It carries the database password: treat it as a secret.
1587 # -- (int) Maximum number of open connections to the MySQL database.
1588 maxOpenConns: # @schema type:[integer, null]; minimum:0
1589 # -- (int) Maximum number of idle connections in the MySQL connection pool.
1590 maxIdleConns: # @schema type:[integer, null]; minimum:0
1591 # -- Private key used to sign each checkpoint, as a file path. It's required as soon as a `driver` is set and it needs to be mounted in the pod, see EXAMPLES.md.
1592 signerPrivateKey: ""
1593 # -- Interval between checkpoint writes, as a Go duration. Must be at least `100ms`.
1594 # @default -- `1s` when unset
1595 checkpointInterval: ""
1596 # -- (bool) Also store the full rendered log line, not only its hash. Not recommended in production. Default: false.
1597 debug: # @schema type:[boolean, null]
1598 # @schema additionalProperties: false
1599 # -- Witnesses cosigning each checkpoint.
1600 # @default -- See _values.yaml_
1602 # -- (int) Minimum number of witnesses that must cosign for the group to be satisfied. It cannot exceed the number of configured witnesses. Default: 1.
1603 threshold: # @schema type:[integer, null]; minimum:1
1604 # -- Maximum time to wait for witnesses to cosign a checkpoint, as a Go duration.
1605 # @default -- `5s` when unset
1607 # -- (bool) Publish checkpoints even when the witness policy cannot be satisfied. Intended only for a non-blocking adoption of witnessing. Default: false.
1608 failOpen: # @schema type:[boolean, null]
1609 # -- (list) Witnesses cosigning each checkpoint. At least one is required when `threshold`, `timeout` or `failOpen` is set. List of `{ url: "<url>", key: "<path-or-content>" }` entries.
1610 witnesses: # @schema type:[array, null]; item:object; minItems:1
1612 additionalTraceHeaders:
1613 # -- Tracing headers to duplicate.
1614 # To configure the following, tracing.otlp.enabled needs to be set to true.
1615 # @default -- See below
1618 # -- Name of the header that will contain the parent-id header copy.
1620 # -- Name of the header that will contain the trace-id copy.
1622 # -- Name of the header that will contain the traceparent copy.
1624 # -- Name of the header that will contain the tracestate copy.
1626 # Define private plugin sources
1629# -- Required for OCI Marketplace integration.
1630# See https://docs.public.content.oci.oraclecloud.com/en-us/iaas/Content/Marketplace/understanding-helm-charts.htm
1631# @default -- See _values.yaml_
1633 # -- Enable specific values for Oracle Cloud Infrastructure
1635 # -- It needs to be an ocir repo
1639 image: chainguard-private/traefik
1640 tag: 3.7.16-r0@sha256:18fd707b23a4f7f8e86e9dc50361b220de4fa1a94d987b642ed493810f3fae09
1642 image: chainguard-private/traefik
1643 tag: 3.7.16-r0@sha256:18fd707b23a4f7f8e86e9dc50361b220de4fa1a94d987b642ed493810f3fae09
1644# -- Required for IBM Cloud Marketplace integration.
1645# Injected by IBM Cloud Catalog when deploying via IBM Cloud Schematics. This value is not used by the chart.
1646offering_version: "" # @schema type:[string, null]
1647# -- Allow the Helm chart to be used as optional subchart.
1648enabled: true # @schema type:boolean; const:true