From 4b40e2dfae22f41be92297cd19aa15335eeb889f Mon Sep 17 00:00:00 2001 From: Zaid Albirawi Date: Tue, 3 Feb 2026 07:53:33 -0500 Subject: [PATCH 01/17] Fix: Map API options to CLI args (#1611) --- traefik/templates/_podtemplate.tpl | 30 +++++++++--- traefik/tests/api_test.yaml | 78 ++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+), 7 deletions(-) create mode 100644 traefik/tests/api_test.yaml diff --git a/traefik/templates/_podtemplate.tpl b/traefik/templates/_podtemplate.tpl index c30379f43..7abf70491 100644 --- a/traefik/templates/_podtemplate.tpl +++ b/traefik/templates/_podtemplate.tpl @@ -224,13 +224,29 @@ {{- end }} {{- end }} {{- end }} - {{- if .Values.api.dashboard }} - - "--api.dashboard=true" - {{- else if .Values.ingressRoute.dashboard.enabled }} - {{- fail "ERROR: Cannot create an IngressRoute for the dashboard without enabling api.dashboard" -}} - {{- end }} - {{- with .Values.api.basePath }} - - "--api.basePath={{ . }}" + {{- with .Values.api }} + {{- $apiConfig := . }} + {{- if eq $apiConfig.basePath "" }} + {{- $apiConfig = omit $apiConfig "basePath" }} + {{- end }} + {{- if hasKey $apiConfig "dashboard" }} + {{- if not $apiConfig.dashboard }} + {{- if (and $.Values.ingressRoute.dashboard.enabled) }} + {{- fail "ERROR: Cannot create an IngressRoute for the dashboard without enabling api.dashboard" -}} + {{- end }} + {{- end }} + {{- end }} + {{- if hasKey $apiConfig "insecure" }} + {{- if not (kindIs "bool" $apiConfig.insecure) }} + {{- fail "ERROR: api.insecure must be a boolean" -}} + {{- end }} + {{- end }} + {{- if hasKey $apiConfig "debug" }} + {{- if not (kindIs "bool" $apiConfig.debug) }} + {{- fail "ERROR: api.debug must be a boolean" -}} + {{- end }} + {{- end }} + {{- include "traefik.yaml2CommandLineArgs" (dict "path" "api" "content" $apiConfig) | nindent 10 }} {{- end }} - "--ping=true" diff --git a/traefik/tests/api_test.yaml b/traefik/tests/api_test.yaml new file mode 100644 index 000000000..fea822d1e --- /dev/null +++ b/traefik/tests/api_test.yaml @@ -0,0 +1,78 @@ +suite: API configuration +templates: + - deployment.yaml +tests: + - it: should have default dashboard and ping argument + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--api.dashboard=true" + - contains: + path: spec.template.spec.containers[0].args + content: "--ping=true" + - notContains: + path: spec.template.spec.containers[0].args + content: "--api.basePath=/" + + - it: should generate generic api arguments (insecure) + set: + api: + insecure: true + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--api.insecure=true" + + - it: should not generate basePath flag when set to empty string + set: + api: + basePath: "" + asserts: + - notContains: + path: spec.template.spec.containers[0].args + content: "--api.basePath=" + + - it: should generate basePath flag when set to a value + set: + api: + basePath: "/foo" + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--api.basePath=/foo" + + - it: should generate arbitrary boolean flags + set: + api: + debug: true + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--api.debug=true" + + - it: should fail if api.insecure is not a boolean + set: + api: + insecure: "yes" + asserts: + - failedTemplate: + errorMessage: "ERROR: api.insecure must be a boolean" + + - it: should fail if api.debug is not a boolean + set: + api: + debug: "yes" + asserts: + - failedTemplate: + errorMessage: "ERROR: api.debug must be a boolean" + + - it: should fail if ingressRoute.dashboard is enabled but api.dashboard is false + set: + api: + dashboard: false + ingressRoute: + dashboard: + enabled: true + asserts: + - failedTemplate: + errorMessage: "ERROR: Cannot create an IngressRoute for the dashboard without enabling api.dashboard" From bf532eb958239430bee4ae442f384f9c092e8908 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 10:08:05 +0100 Subject: [PATCH 02/17] chore(deps): update mikepenz/release-changelog-builder-action action to v6.1.0 --- .github/workflows/release.yml | 4 ++-- .github/workflows/test-changelog.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 186b0e66b..4324be276 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -76,7 +76,7 @@ jobs: - name: Build Changelog id: changelog - uses: mikepenz/release-changelog-builder-action@439f79b5b5428107c7688c1d2b0e8bacc9b8792c # v6.0.1 + uses: mikepenz/release-changelog-builder-action@6faf020194b7c8853f9e55c4fd92e40b02122a04 # v6.1.0 with: fromTag: ${{ steps.previous_tag.outputs.tag }} toTag: ${{ steps.tag_version.outputs.new_tag }} @@ -213,7 +213,7 @@ jobs: - name: Build Changelog id: changelog - uses: mikepenz/release-changelog-builder-action@439f79b5b5428107c7688c1d2b0e8bacc9b8792c # v6.0.1 + uses: mikepenz/release-changelog-builder-action@6faf020194b7c8853f9e55c4fd92e40b02122a04 # v6.1.0 with: fromTag: ${{ steps.previous_tag.outputs.tag }} toTag: ${{ steps.tag_version.outputs.new_tag }} diff --git a/.github/workflows/test-changelog.yaml b/.github/workflows/test-changelog.yaml index 6ba339aab..b5f7c97c3 100644 --- a/.github/workflows/test-changelog.yaml +++ b/.github/workflows/test-changelog.yaml @@ -24,7 +24,7 @@ jobs: - name: Build Changelog id: changelog - uses: mikepenz/release-changelog-builder-action@439f79b5b5428107c7688c1d2b0e8bacc9b8792c # v6.0.1 + uses: mikepenz/release-changelog-builder-action@6faf020194b7c8853f9e55c4fd92e40b02122a04 # v6.1.0 with: fromTag: v34.1.0 toTag: v34.2.0 @@ -60,7 +60,7 @@ jobs: - name: Build Changelog id: changelog - uses: mikepenz/release-changelog-builder-action@439f79b5b5428107c7688c1d2b0e8bacc9b8792c # v6.0.1 + uses: mikepenz/release-changelog-builder-action@6faf020194b7c8853f9e55c4fd92e40b02122a04 # v6.1.0 with: fromTag: crds_v1.0.0 toTag: crds_v1.1.0 From 62ca59da27480d0d5983d3da23aef0037d15735d Mon Sep 17 00:00:00 2001 From: Carsten Thiel Date: Wed, 4 Feb 2026 10:26:04 +0100 Subject: [PATCH 03/17] fix(chart): allow to be used as optional subchart --- traefik/VALUES.md | 1 + traefik/values.schema.json | 3 +++ traefik/values.yaml | 3 +++ 3 files changed, 7 insertions(+) diff --git a/traefik/VALUES.md b/traefik/VALUES.md index 78fb171c8..ebd014f22 100644 --- a/traefik/VALUES.md +++ b/traefik/VALUES.md @@ -67,6 +67,7 @@ Kubernetes: `>=1.22.0-0` | deployment.runtimeClassName | string | `""` | Set a runtimeClassName on pod | | deployment.shareProcessNamespace | bool | `false` | Use process namespace sharing | | deployment.terminationGracePeriodSeconds | int | `60` | Amount of time (in seconds) before Kubernetes will send the SIGKILL signal if Traefik does not shut down | +| enabled | bool | `true` | Allow the Helm chart to be used as optional subchart. | | env | list | `[]` | Additional Environment variables to be passed to Traefik's binary | | envFrom | list | `[]` | Environment variables to be passed to Traefik's binary from configMaps or secrets | | experimental.abortOnPluginFailure | bool | `false` | Defines whether all plugins must be loaded successfully for Traefik to start | diff --git a/traefik/values.schema.json b/traefik/values.schema.json index 5f5de7a16..72646523b 100644 --- a/traefik/values.schema.json +++ b/traefik/values.schema.json @@ -187,6 +187,9 @@ } } }, + "enabled": { + "const": true + }, "env": { "type": "array" }, diff --git a/traefik/values.yaml b/traefik/values.yaml index a8aec47f6..9979c319a 100644 --- a/traefik/values.yaml +++ b/traefik/values.yaml @@ -1383,3 +1383,6 @@ oci_meta: hub: image: traefik-hub tag: latest + +# -- Allow the Helm chart to be used as optional subchart. +enabled: true # @schema type:boolean; const:true From 90fc9ca6f06ab65865e8ae70985743e828d9634a Mon Sep 17 00:00:00 2001 From: Zaid Albirawi Date: Wed, 4 Feb 2026 07:32:36 -0500 Subject: [PATCH 04/17] Update values.yaml with API options and regenerate schema --- traefik/templates/_podtemplate.tpl | 6 ++---- traefik/tests/api_test.yaml | 16 ---------------- traefik/values.schema.json | 9 ++++++++- traefik/values.yaml | 6 +++++- 4 files changed, 15 insertions(+), 22 deletions(-) diff --git a/traefik/templates/_podtemplate.tpl b/traefik/templates/_podtemplate.tpl index 7abf70491..9f5e4db9a 100644 --- a/traefik/templates/_podtemplate.tpl +++ b/traefik/templates/_podtemplate.tpl @@ -230,10 +230,8 @@ {{- $apiConfig = omit $apiConfig "basePath" }} {{- end }} {{- if hasKey $apiConfig "dashboard" }} - {{- if not $apiConfig.dashboard }} - {{- if (and $.Values.ingressRoute.dashboard.enabled) }} - {{- fail "ERROR: Cannot create an IngressRoute for the dashboard without enabling api.dashboard" -}} - {{- end }} + {{- if (and $.Values.ingressRoute.dashboard.enabled (not $apiConfig.dashboard)) }} + {{- fail "ERROR: Cannot create an IngressRoute for the dashboard without enabling api.dashboard" -}} {{- end }} {{- end }} {{- if hasKey $apiConfig "insecure" }} diff --git a/traefik/tests/api_test.yaml b/traefik/tests/api_test.yaml index fea822d1e..a0242e0fa 100644 --- a/traefik/tests/api_test.yaml +++ b/traefik/tests/api_test.yaml @@ -50,22 +50,6 @@ tests: path: spec.template.spec.containers[0].args content: "--api.debug=true" - - it: should fail if api.insecure is not a boolean - set: - api: - insecure: "yes" - asserts: - - failedTemplate: - errorMessage: "ERROR: api.insecure must be a boolean" - - - it: should fail if api.debug is not a boolean - set: - api: - debug: "yes" - asserts: - - failedTemplate: - errorMessage: "ERROR: api.debug must be a boolean" - - it: should fail if ingressRoute.dashboard is enabled but api.dashboard is false set: api: diff --git a/traefik/values.schema.json b/traefik/values.schema.json index 72646523b..683ef0c65 100644 --- a/traefik/values.schema.json +++ b/traefik/values.schema.json @@ -26,8 +26,15 @@ }, "dashboard": { "type": "boolean" + }, + "debug": { + "type": "boolean" + }, + "insecure": { + "type": "boolean" } - } + }, + "additionalProperties": false }, "autoscaling": { "type": "object", diff --git a/traefik/values.yaml b/traefik/values.yaml index 9979c319a..df64d2d4c 100644 --- a/traefik/values.yaml +++ b/traefik/values.yaml @@ -195,9 +195,13 @@ gatewayClass: # @schema additionalProperties: false # -- Additional gatewayClass labels (e.g. for filtering gateway objects by custom labels) labels: {} -api: +api: # @schema additionalProperties: false # -- Enable the dashboard dashboard: true + # -- Enable the insecure API (HTTP) + insecure: false + # -- Enable the debug API + debug: false # -- Configure API basePath basePath: "" # @schema type:[string, null]; default: "/" From 27daaa8eae9945fa0b2065c0daa94269dc3e4d7d Mon Sep 17 00:00:00 2001 From: Zaid Albirawi Date: Wed, 4 Feb 2026 07:53:58 -0500 Subject: [PATCH 05/17] fix lint --- traefik/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/values.yaml b/traefik/values.yaml index df64d2d4c..f4949ec5b 100644 --- a/traefik/values.yaml +++ b/traefik/values.yaml @@ -195,7 +195,7 @@ gatewayClass: # @schema additionalProperties: false # -- Additional gatewayClass labels (e.g. for filtering gateway objects by custom labels) labels: {} -api: # @schema additionalProperties: false +api: # @schema additionalProperties: false # -- Enable the dashboard dashboard: true # -- Enable the insecure API (HTTP) From 1a2a24fb1a8937a7472e3cb57ad09cce098ffa51 Mon Sep 17 00:00:00 2001 From: Zaid Albirawi Date: Wed, 4 Feb 2026 08:09:59 -0500 Subject: [PATCH 06/17] Update values.yaml Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com> --- traefik/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/values.yaml b/traefik/values.yaml index f4949ec5b..d36d7bb30 100644 --- a/traefik/values.yaml +++ b/traefik/values.yaml @@ -201,7 +201,7 @@ api: # @schema additionalProperties: false # -- Enable the insecure API (HTTP) insecure: false # -- Enable the debug API - debug: false + debug: # @schema type:[boolean, null] # -- Configure API basePath basePath: "" # @schema type:[string, null]; default: "/" From bb00ccd8ba7302bac29797dfff62ceb5b97aacbe Mon Sep 17 00:00:00 2001 From: Zaid Albirawi Date: Wed, 4 Feb 2026 08:10:27 -0500 Subject: [PATCH 07/17] Update values.yaml Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com> --- traefik/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/values.yaml b/traefik/values.yaml index d36d7bb30..615b6f335 100644 --- a/traefik/values.yaml +++ b/traefik/values.yaml @@ -199,7 +199,7 @@ api: # @schema additionalProperties: false # -- Enable the dashboard dashboard: true # -- Enable the insecure API (HTTP) - insecure: false + insecure: # @schema type:[boolean, null] # -- Enable the debug API debug: # @schema type:[boolean, null] # -- Configure API basePath From adf7a557536721b5462f43b27b375c254c13d525 Mon Sep 17 00:00:00 2001 From: Zaid Albirawi Date: Wed, 4 Feb 2026 10:05:36 -0500 Subject: [PATCH 08/17] fix tests --- traefik/tests/deployment-config_test.yaml | 16 +++++++++------- traefik/values.schema.json | 10 ++++++++-- traefik/values.yaml | 4 ++-- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/traefik/tests/deployment-config_test.yaml b/traefik/tests/deployment-config_test.yaml index a4d426016..48193ed50 100644 --- a/traefik/tests/deployment-config_test.yaml +++ b/traefik/tests/deployment-config_test.yaml @@ -57,7 +57,7 @@ tests: scaleTargetRef: apiVersion: apps/v1 kind: StatefulSet - name: 'another-resource' + name: "another-resource" asserts: - equal: path: spec.replicas @@ -71,7 +71,7 @@ tests: scaleTargetRef: apiVersion: apps/v1 kind: StatefulSet - name: 'another-resource' + name: "another-resource" asserts: - equal: path: spec.replicas @@ -131,21 +131,21 @@ tests: podAnnotations: traefik/powpow: podAnnotations traefik/name: '{{ template "traefik.name" . }}' - traefik/{{ template "traefik.name" . }}.logs: 'log_processing_rules' - traefik/repository: '{{ .Values.image.repository }}' + traefik/{{ template "traefik.name" . }}.logs: "log_processing_rules" + traefik/repository: "{{ .Values.image.repository }}" asserts: - equal: path: spec.template.metadata.annotations.traefik/powpow value: podAnnotations - equal: path: spec.template.metadata.annotations.traefik/name - value: 'traefik' + value: "traefik" - equal: path: spec.template.metadata.annotations["traefik/traefik.logs"] - value: 'log_processing_rules' + value: "log_processing_rules" - equal: path: spec.template.metadata.annotations.traefik/repository - value: 'traefik' + value: "traefik" - it: should have labels with specified values set: deployment: @@ -247,6 +247,8 @@ tests: - --entryPoints.web.address=:8000/tcp - --entryPoints.websecure.address=:8443/tcp - --api.dashboard=true + - --api.debug=false + - --api.insecure=false - --ping=true - --metrics.prometheus=true - --metrics.prometheus.entrypoint=metrics diff --git a/traefik/values.schema.json b/traefik/values.schema.json index 683ef0c65..a47b48c88 100644 --- a/traefik/values.schema.json +++ b/traefik/values.schema.json @@ -28,10 +28,16 @@ "type": "boolean" }, "debug": { - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "insecure": { - "type": "boolean" + "type": [ + "boolean", + "null" + ] } }, "additionalProperties": false diff --git a/traefik/values.yaml b/traefik/values.yaml index 615b6f335..9295a2992 100644 --- a/traefik/values.yaml +++ b/traefik/values.yaml @@ -199,9 +199,9 @@ api: # @schema additionalProperties: false # -- Enable the dashboard dashboard: true # -- Enable the insecure API (HTTP) - insecure: # @schema type:[boolean, null] + insecure: false # @schema type:[boolean, null] # -- Enable the debug API - debug: # @schema type:[boolean, null] + debug: false # @schema type:[boolean, null] # -- Configure API basePath basePath: "" # @schema type:[string, null]; default: "/" From 894180a52d59b09a27dd296189fdf5743b3c0542 Mon Sep 17 00:00:00 2001 From: Zaid Albirawi Date: Wed, 4 Feb 2026 10:28:34 -0500 Subject: [PATCH 09/17] fix docs :D --- traefik/VALUES.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/traefik/VALUES.md b/traefik/VALUES.md index ebd014f22..dd711311c 100644 --- a/traefik/VALUES.md +++ b/traefik/VALUES.md @@ -32,6 +32,8 @@ Kubernetes: `>=1.22.0-0` | affinity | object | `{}` | on nodes where no other traefik pods are scheduled. It should be used when hostNetwork: true to prevent port conflicts | | api.basePath | string | `""` | Configure API basePath | | api.dashboard | bool | `true` | Enable the dashboard | +| api.debug | bool | `false` | Enable the debug API | +| api.insecure | bool | `false` | Enable the insecure API (HTTP) | | autoscaling.behavior | object | `{}` | behavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively). | | autoscaling.enabled | bool | `false` | Create HorizontalPodAutoscaler object. See EXAMPLES.md for more details. | | autoscaling.maxReplicas | string | `nil` | maxReplicas is the upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas. | From 25634c9eaa786cb9fb32cf52ae74910cf25741c2 Mon Sep 17 00:00:00 2001 From: Zaid Albirawi Date: Wed, 4 Feb 2026 10:30:57 -0500 Subject: [PATCH 10/17] fix the shitty LLM changes --- traefik/tests/deployment-config_test.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/traefik/tests/deployment-config_test.yaml b/traefik/tests/deployment-config_test.yaml index 48193ed50..76cf165e4 100644 --- a/traefik/tests/deployment-config_test.yaml +++ b/traefik/tests/deployment-config_test.yaml @@ -57,7 +57,7 @@ tests: scaleTargetRef: apiVersion: apps/v1 kind: StatefulSet - name: "another-resource" + name: 'another-resource' asserts: - equal: path: spec.replicas @@ -71,7 +71,7 @@ tests: scaleTargetRef: apiVersion: apps/v1 kind: StatefulSet - name: "another-resource" + name: 'another-resource' asserts: - equal: path: spec.replicas @@ -131,21 +131,21 @@ tests: podAnnotations: traefik/powpow: podAnnotations traefik/name: '{{ template "traefik.name" . }}' - traefik/{{ template "traefik.name" . }}.logs: "log_processing_rules" - traefik/repository: "{{ .Values.image.repository }}" + traefik/{{ template "traefik.name" . }}.logs: 'log_processing_rules' + traefik/repository: '{{ .Values.image.repository }}' asserts: - equal: path: spec.template.metadata.annotations.traefik/powpow value: podAnnotations - equal: path: spec.template.metadata.annotations.traefik/name - value: "traefik" + value: 'traefik' - equal: path: spec.template.metadata.annotations["traefik/traefik.logs"] - value: "log_processing_rules" + value: 'log_processing_rules' - equal: path: spec.template.metadata.annotations.traefik/repository - value: "traefik" + value: 'traefik' - it: should have labels with specified values set: deployment: From 7bb6e0f9c9b3bd233837836e94a8500439dfb8f8 Mon Sep 17 00:00:00 2001 From: Zaid Albirawi Date: Wed, 4 Feb 2026 11:37:11 -0500 Subject: [PATCH 11/17] merge api tests --- traefik/tests/api_test.yaml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/traefik/tests/api_test.yaml b/traefik/tests/api_test.yaml index a0242e0fa..2a1cffd17 100644 --- a/traefik/tests/api_test.yaml +++ b/traefik/tests/api_test.yaml @@ -14,14 +14,18 @@ tests: path: spec.template.spec.containers[0].args content: "--api.basePath=/" - - it: should generate generic api arguments (insecure) + - it: should generate generic api arguments set: api: insecure: true + debug: true asserts: - contains: path: spec.template.spec.containers[0].args content: "--api.insecure=true" + - contains: + path: spec.template.spec.containers[0].args + content: "--api.debug=true" - it: should not generate basePath flag when set to empty string set: @@ -41,15 +45,6 @@ tests: path: spec.template.spec.containers[0].args content: "--api.basePath=/foo" - - it: should generate arbitrary boolean flags - set: - api: - debug: true - asserts: - - contains: - path: spec.template.spec.containers[0].args - content: "--api.debug=true" - - it: should fail if ingressRoute.dashboard is enabled but api.dashboard is false set: api: From 2166eb4f103c17f03a91529390eb29e38632da66 Mon Sep 17 00:00:00 2001 From: Michel Loiseleur Date: Wed, 4 Feb 2026 18:29:04 +0100 Subject: [PATCH 12/17] add test to ensure failure on typo --- traefik/tests/api_test.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/traefik/tests/api_test.yaml b/traefik/tests/api_test.yaml index 2a1cffd17..b9b516924 100644 --- a/traefik/tests/api_test.yaml +++ b/traefik/tests/api_test.yaml @@ -55,3 +55,14 @@ tests: asserts: - failedTemplate: errorMessage: "ERROR: Cannot create an IngressRoute for the dashboard without enabling api.dashboard" + + - it: should fail on typo + set: + api: + dasboard: true + ingressRoute: + dashboard: + enabled: true + asserts: + - failedTemplate: + errorPattern: "values don't meet the specifications of the schema" From 2cffc8f851e3b3d6809ba10f9387c042605949fa Mon Sep 17 00:00:00 2001 From: Zaid Albirawi Date: Thu, 12 Feb 2026 12:07:42 -0500 Subject: [PATCH 13/17] Update traefik/tests/deployment-config_test.yaml Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com> --- traefik/tests/deployment-config_test.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/traefik/tests/deployment-config_test.yaml b/traefik/tests/deployment-config_test.yaml index 76cf165e4..a4d426016 100644 --- a/traefik/tests/deployment-config_test.yaml +++ b/traefik/tests/deployment-config_test.yaml @@ -247,8 +247,6 @@ tests: - --entryPoints.web.address=:8000/tcp - --entryPoints.websecure.address=:8443/tcp - --api.dashboard=true - - --api.debug=false - - --api.insecure=false - --ping=true - --metrics.prometheus=true - --metrics.prometheus.entrypoint=metrics From 94c3822e160245470f5115ddee4233c19eb1fc68 Mon Sep 17 00:00:00 2001 From: Zaid Albirawi Date: Thu, 12 Feb 2026 12:07:49 -0500 Subject: [PATCH 14/17] Update traefik/values.yaml Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com> --- traefik/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/traefik/values.yaml b/traefik/values.yaml index 9295a2992..615b6f335 100644 --- a/traefik/values.yaml +++ b/traefik/values.yaml @@ -199,9 +199,9 @@ api: # @schema additionalProperties: false # -- Enable the dashboard dashboard: true # -- Enable the insecure API (HTTP) - insecure: false # @schema type:[boolean, null] + insecure: # @schema type:[boolean, null] # -- Enable the debug API - debug: false # @schema type:[boolean, null] + debug: # @schema type:[boolean, null] # -- Configure API basePath basePath: "" # @schema type:[string, null]; default: "/" From 3018c169834328b4258d3eb36adf7ed81d7f0129 Mon Sep 17 00:00:00 2001 From: Zaid Albirawi Date: Thu, 12 Feb 2026 12:10:58 -0500 Subject: [PATCH 15/17] update docs --- traefik/VALUES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/traefik/VALUES.md b/traefik/VALUES.md index dd711311c..5d3c7545e 100644 --- a/traefik/VALUES.md +++ b/traefik/VALUES.md @@ -32,8 +32,8 @@ Kubernetes: `>=1.22.0-0` | affinity | object | `{}` | on nodes where no other traefik pods are scheduled. It should be used when hostNetwork: true to prevent port conflicts | | api.basePath | string | `""` | Configure API basePath | | api.dashboard | bool | `true` | Enable the dashboard | -| api.debug | bool | `false` | Enable the debug API | -| api.insecure | bool | `false` | Enable the insecure API (HTTP) | +| api.debug | string | `nil` | Enable the debug API | +| api.insecure | string | `nil` | Enable the insecure API (HTTP) | | autoscaling.behavior | object | `{}` | behavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively). | | autoscaling.enabled | bool | `false` | Create HorizontalPodAutoscaler object. See EXAMPLES.md for more details. | | autoscaling.maxReplicas | string | `nil` | maxReplicas is the upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas. | From 78f6fbb8d992e453249cf499b4d0839d74191d30 Mon Sep 17 00:00:00 2001 From: Zaid Albirawi Date: Thu, 12 Feb 2026 12:13:37 -0500 Subject: [PATCH 16/17] update schema --- traefik/values.schema.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/traefik/values.schema.json b/traefik/values.schema.json index 3605685bf..e90a7f12a 100644 --- a/traefik/values.schema.json +++ b/traefik/values.schema.json @@ -33,12 +33,14 @@ "type": "boolean" }, "debug": { + "description": "Enable the debug API", "type": [ "boolean", "null" ] }, "insecure": { + "description": "Enable the insecure API (HTTP)", "type": [ "boolean", "null" From 22316866506957a1f1328927f72323802b0cc31b Mon Sep 17 00:00:00 2001 From: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com> Date: Fri, 13 Feb 2026 08:28:02 +0100 Subject: [PATCH 17/17] Apply suggestion from @mloiseleur --- traefik/templates/_podtemplate.tpl | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/traefik/templates/_podtemplate.tpl b/traefik/templates/_podtemplate.tpl index 9f5e4db9a..9e8ba7ddc 100644 --- a/traefik/templates/_podtemplate.tpl +++ b/traefik/templates/_podtemplate.tpl @@ -234,16 +234,6 @@ {{- fail "ERROR: Cannot create an IngressRoute for the dashboard without enabling api.dashboard" -}} {{- end }} {{- end }} - {{- if hasKey $apiConfig "insecure" }} - {{- if not (kindIs "bool" $apiConfig.insecure) }} - {{- fail "ERROR: api.insecure must be a boolean" -}} - {{- end }} - {{- end }} - {{- if hasKey $apiConfig "debug" }} - {{- if not (kindIs "bool" $apiConfig.debug) }} - {{- fail "ERROR: api.debug must be a boolean" -}} - {{- end }} - {{- end }} {{- include "traefik.yaml2CommandLineArgs" (dict "path" "api" "content" $apiConfig) | nindent 10 }} {{- end }} - "--ping=true"