From b8b392f145cd5674937c15c40a49d7b40e7c8c85 Mon Sep 17 00:00:00 2001 From: Yann Lacroix Date: Wed, 11 Feb 2026 15:34:49 +0100 Subject: [PATCH 01/11] update common from bitnami --- charts/kubebrowser/Chart.lock | 6 +++--- charts/kubebrowser/Chart.yaml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/charts/kubebrowser/Chart.lock b/charts/kubebrowser/Chart.lock index 3cf65c2..ee3bab7 100644 --- a/charts/kubebrowser/Chart.lock +++ b/charts/kubebrowser/Chart.lock @@ -1,6 +1,6 @@ dependencies: - name: common repository: oci://registry-1.docker.io/bitnamicharts - version: 2.30.0 -digest: sha256:1d4fe7ab3d8601c2772b82ca4495929226ecbf073f9fb436f5bf5f089df6c4bd -generated: "2025-06-03T10:24:02.704756898+02:00" + version: 2.36.0 +digest: sha256:bee4492fef3cdaf3e43a7a34ea036007bd1b1dd78cc9fc6df112be21eb8d9f5d +generated: "2026-02-11T15:34:15.969714427+01:00" diff --git a/charts/kubebrowser/Chart.yaml b/charts/kubebrowser/Chart.yaml index b4aff9b..a5362c3 100644 --- a/charts/kubebrowser/Chart.yaml +++ b/charts/kubebrowser/Chart.yaml @@ -6,7 +6,7 @@ version: 1.2.0 appVersion: "0.10.0" dependencies: - name: common - version: 2.30.0 + version: 2.36.0 repository: oci://registry-1.docker.io/bitnamicharts maintainers: - name: Brawdunoir From 7cef5f2f56839becbea2896d9cbbca1f04aec289 Mon Sep 17 00:00:00 2001 From: Yann Lacroix Date: Thu, 12 Feb 2026 09:16:51 +0100 Subject: [PATCH 02/11] add httproute template --- charts/kubebrowser/README.md | 6 ++++ charts/kubebrowser/values.schema.json | 40 ++++++++++++++++++++++ charts/kubebrowser/values.yaml | 49 +++++++++++++++++++++++++++ 3 files changed, 95 insertions(+) diff --git a/charts/kubebrowser/README.md b/charts/kubebrowser/README.md index a702b71..6ac72ae 100644 --- a/charts/kubebrowser/README.md +++ b/charts/kubebrowser/README.md @@ -140,3 +140,9 @@ helm install my-kubebrowser avisto/kubebrowser -f values.yaml | `ingress.extraTls` | The tls configuration for additional hostnames to be covered with this ingress record. | `[]` | | `ingress.secrets` | If you're providing your own certificates, please use this to add the certificates as secrets | `[]` | | `ingress.extraRules` | Additional rules to be covered with this ingress record | `[]` | +| `httpRoute.enabled` | Whether to enable this HTTPRoute & subsequently create the HTTPRoute resource | `true` | +| `httpRoute.annotations` | Additional HTTPRoute annotations | `{}` | +| `httpRoute.labels` | Additional HTTPRoute labels | `{}` | +| `httpRoute.parentRefs` | Gateway API parentRefs for the HTTPRoute. Must reference an existing Gateway | `[]` | +| `httpRoute.hostnames` | List of hostnames for the HTTPRoute | `[]` | +| `httpRoute.rules` | (Optional) HTTPRoute rules configuration, if overriden, backendRefs is set by default | `[]` | diff --git a/charts/kubebrowser/values.schema.json b/charts/kubebrowser/values.schema.json index 2d84375..d196a2c 100644 --- a/charts/kubebrowser/values.schema.json +++ b/charts/kubebrowser/values.schema.json @@ -620,6 +620,46 @@ "items": {} } } + }, + "httpRoute": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable this HTTPRoute & subsequently create the HTTPRoute resource", + "default": true + }, + "annotations": { + "type": "object", + "description": "Additional HTTPRoute annotations", + "default": {} + }, + "labels": { + "type": "object", + "description": "Additional HTTPRoute labels", + "default": {} + }, + "parentRefs": { + "type": "array", + "description": "Gateway API parentRefs for the HTTPRoute. Must reference an existing Gateway", + "default": [], + "items": {} + }, + "hostnames": { + "type": "array", + "description": "List of hostnames for the HTTPRoute", + "default": [], + "items": {} + }, + "rules": { + "type": "array", + "description": "(Optional) HTTPRoute rules configuration, if overriden, backendRefs is set by default", + "default": "[]", + "items": { + "type": "string" + } + } + } } } } \ No newline at end of file diff --git a/charts/kubebrowser/values.yaml b/charts/kubebrowser/values.yaml index 722c58d..f736521 100644 --- a/charts/kubebrowser/values.yaml +++ b/charts/kubebrowser/values.yaml @@ -437,3 +437,52 @@ ingress: ## name: http ## extraRules: [] + +## HTTPRoute configuration +## ref: https://gateway-api.sigs.k8s.io/api-types/httproute/ +httpRoute: + ## @param httpRoute.enabled Whether to enable this HTTPRoute & subsequently create the HTTPRoute resource + ## + enabled: true + ## @param httpRoute.annotations Additional HTTPRoute annotations + ## + annotations: {} + ## @param httpRoute.labels Additional HTTPRoute labels + ## + labels: {} + ## @param httpRoute.parentRefs Gateway API parentRefs for the HTTPRoute. Must reference an existing Gateway + ## e.g: + ## parentRefs: + ## - group: gateway.networking.k8s.io + ## kind: Gateway + ## name: main-gateway + ## namespace: gateway + ## + parentRefs: [] + ## @param httpRoute.hostnames List of hostnames for the HTTPRoute + ## e.g: + ## hostnames: + ## - kubebrowser.example.com + ## + hostnames: [] + ## @skip httpRoute.rules[] + ## @param httpRoute.rules [array] (Optional) HTTPRoute rules configuration, if overriden, backendRefs is set by default + ## e.g: + ## rules: + ## - matches: + ## - path: + ## type: PathPrefix + ## value: / + ## filters: + ## - type: RequestHeaderModifier + ## requestHeaderModifier: + ## add: + ## - name: X-Custom-Header + ## value: custom-value + ## timeouts: + ## request: 500ms + rules: + - matches: + - path: + type: PathPrefix + value: / From 8576610c76612dfff90bf0e0a442376692402125 Mon Sep 17 00:00:00 2001 From: Yann Lacroix Date: Thu, 12 Feb 2026 09:22:26 +0100 Subject: [PATCH 03/11] httproute default to false --- charts/kubebrowser/README.md | 2 +- charts/kubebrowser/values.schema.json | 2 +- charts/kubebrowser/values.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/kubebrowser/README.md b/charts/kubebrowser/README.md index 6ac72ae..2dbe773 100644 --- a/charts/kubebrowser/README.md +++ b/charts/kubebrowser/README.md @@ -140,7 +140,7 @@ helm install my-kubebrowser avisto/kubebrowser -f values.yaml | `ingress.extraTls` | The tls configuration for additional hostnames to be covered with this ingress record. | `[]` | | `ingress.secrets` | If you're providing your own certificates, please use this to add the certificates as secrets | `[]` | | `ingress.extraRules` | Additional rules to be covered with this ingress record | `[]` | -| `httpRoute.enabled` | Whether to enable this HTTPRoute & subsequently create the HTTPRoute resource | `true` | +| `httpRoute.enabled` | Whether to enable this HTTPRoute & subsequently create the HTTPRoute resource | `false` | | `httpRoute.annotations` | Additional HTTPRoute annotations | `{}` | | `httpRoute.labels` | Additional HTTPRoute labels | `{}` | | `httpRoute.parentRefs` | Gateway API parentRefs for the HTTPRoute. Must reference an existing Gateway | `[]` | diff --git a/charts/kubebrowser/values.schema.json b/charts/kubebrowser/values.schema.json index d196a2c..d6d9efc 100644 --- a/charts/kubebrowser/values.schema.json +++ b/charts/kubebrowser/values.schema.json @@ -627,7 +627,7 @@ "enabled": { "type": "boolean", "description": "Whether to enable this HTTPRoute & subsequently create the HTTPRoute resource", - "default": true + "default": false }, "annotations": { "type": "object", diff --git a/charts/kubebrowser/values.yaml b/charts/kubebrowser/values.yaml index f736521..43fc17a 100644 --- a/charts/kubebrowser/values.yaml +++ b/charts/kubebrowser/values.yaml @@ -443,7 +443,7 @@ ingress: httpRoute: ## @param httpRoute.enabled Whether to enable this HTTPRoute & subsequently create the HTTPRoute resource ## - enabled: true + enabled: false ## @param httpRoute.annotations Additional HTTPRoute annotations ## annotations: {} From 8b3d208d427bbe601569482f02e2adb72ef65d92 Mon Sep 17 00:00:00 2001 From: Yann Lacroix Date: Thu, 12 Feb 2026 09:22:56 +0100 Subject: [PATCH 04/11] =?UTF-8?q?remove=20unnecessary=20and=20in=20ingress?= =?UTF-8?q?=E2=80=99=20condition?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- charts/kubebrowser/templates/ingress.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/kubebrowser/templates/ingress.yaml b/charts/kubebrowser/templates/ingress.yaml index bd2ce64..33bb64c 100644 --- a/charts/kubebrowser/templates/ingress.yaml +++ b/charts/kubebrowser/templates/ingress.yaml @@ -2,7 +2,7 @@ Author: Yann Lacroix */}} -{{- if and .Values.ingress.enabled -}} +{{- if .Values.ingress.enabled -}} apiVersion: {{ include "common.capabilities.ingress.apiVersion" . }} kind: Ingress metadata: From b16e313ccc9d153cadb40991422f0e56b971b90d Mon Sep 17 00:00:00 2001 From: Yann Lacroix Date: Thu, 12 Feb 2026 09:25:55 +0100 Subject: [PATCH 05/11] add template --- charts/kubebrowser/templates/httproute.yaml | 42 +++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 charts/kubebrowser/templates/httproute.yaml diff --git a/charts/kubebrowser/templates/httproute.yaml b/charts/kubebrowser/templates/httproute.yaml new file mode 100644 index 0000000..19df7de --- /dev/null +++ b/charts/kubebrowser/templates/httproute.yaml @@ -0,0 +1,42 @@ +{{- if .Values.httpRoute.enabled -}} +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: {{ include "common.names.fullname" . }} + namespace: {{ .Release.Namespace | quote }} + {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.httpRoute.labels .Values.commonLabels ) "context" $ ) }} + labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} + {{- if or .Values.httpRoute.annotations .Values.commonAnnotations }} + {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.httpRoute.annotations .Values.commonAnnotations ) "context" $ ) }} + annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $ ) | nindent 4 }} + {{- end }} +spec: + parentRefs: + {{- tpl (toYaml .Values.httpRoute.parentRefs) $ | nindent 4 }} + hostnames: + {{- tpl (toYaml .Values.httpRoute.hostnames) $ | nindent 4 }} + rules: + {{- range $ruleIdx, $rule := .Values.httpRoute.rules }} + - matches: + {{- tpl (toYaml $rule.matches) $ | nindent 8 }} + {{- if $rule.backendRefs }} + backendRefs: + {{- tpl (toYaml $rule.backendRefs) $ | nindent 8 }} + {{- else }} + backendRefs: + - group: '' + kind: Service + name: {{ include "kubebrowser.server.fullname" $ }} + port: {{ tpl ($.Values.server.containerPorts.http | quote) $ }} + weight: 1 + {{- end }} + {{- if $rule.filters }} + filters: + {{- tpl (toYaml $rule.filters) $ | nindent 8 }} + {{- end }} + {{- if $rule.timeouts }} + timeouts: + {{- tpl (toYaml $rule.timeouts) $ | nindent 8 }} + {{- end }} + {{- end -}} +{{- end -}} From 5408e54cc9ab9504321084a4a11c23db4db74ec0 Mon Sep 17 00:00:00 2001 From: Yann Lacroix Date: Thu, 12 Feb 2026 09:26:01 +0100 Subject: [PATCH 06/11] bump chart --- charts/kubebrowser/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/kubebrowser/Chart.yaml b/charts/kubebrowser/Chart.yaml index a5362c3..43838aa 100644 --- a/charts/kubebrowser/Chart.yaml +++ b/charts/kubebrowser/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: kubebrowser description: Allow whitelisted people to access your kubeconfigs type: application -version: 1.2.0 +version: 1.3.0 appVersion: "0.10.0" dependencies: - name: common From 9b2d637555f848b0eaf0589851f6c28fa7d28704 Mon Sep 17 00:00:00 2001 From: Yann Lacroix Date: Thu, 12 Feb 2026 09:53:49 +0100 Subject: [PATCH 07/11] remove type check on rules --- charts/kubebrowser/README.md | 2 +- charts/kubebrowser/values.schema.json | 8 -------- charts/kubebrowser/values.yaml | 4 ++-- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/charts/kubebrowser/README.md b/charts/kubebrowser/README.md index 2dbe773..065d111 100644 --- a/charts/kubebrowser/README.md +++ b/charts/kubebrowser/README.md @@ -145,4 +145,4 @@ helm install my-kubebrowser avisto/kubebrowser -f values.yaml | `httpRoute.labels` | Additional HTTPRoute labels | `{}` | | `httpRoute.parentRefs` | Gateway API parentRefs for the HTTPRoute. Must reference an existing Gateway | `[]` | | `httpRoute.hostnames` | List of hostnames for the HTTPRoute | `[]` | -| `httpRoute.rules` | (Optional) HTTPRoute rules configuration, if overriden, backendRefs is set by default | `[]` | +| `httpRoute.rules` | (Optional) HTTPRoute rules configuration, if overriden, backendRefs is set by default | `undefined` | diff --git a/charts/kubebrowser/values.schema.json b/charts/kubebrowser/values.schema.json index d6d9efc..3f5e0a4 100644 --- a/charts/kubebrowser/values.schema.json +++ b/charts/kubebrowser/values.schema.json @@ -650,14 +650,6 @@ "description": "List of hostnames for the HTTPRoute", "default": [], "items": {} - }, - "rules": { - "type": "array", - "description": "(Optional) HTTPRoute rules configuration, if overriden, backendRefs is set by default", - "default": "[]", - "items": { - "type": "string" - } } } } diff --git a/charts/kubebrowser/values.yaml b/charts/kubebrowser/values.yaml index 43fc17a..08d5ca9 100644 --- a/charts/kubebrowser/values.yaml +++ b/charts/kubebrowser/values.yaml @@ -465,8 +465,8 @@ httpRoute: ## - kubebrowser.example.com ## hostnames: [] - ## @skip httpRoute.rules[] - ## @param httpRoute.rules [array] (Optional) HTTPRoute rules configuration, if overriden, backendRefs is set by default + ## @skip httpRoute.rules + ## @param httpRoute.rules (Optional) HTTPRoute rules configuration, if overriden, backendRefs is set by default ## e.g: ## rules: ## - matches: From 53c413bd52f4ab451b571c363204b847592b3679 Mon Sep 17 00:00:00 2001 From: Yann Lacroix Date: Thu, 12 Feb 2026 09:56:06 +0100 Subject: [PATCH 08/11] add header in httproute template --- charts/kubebrowser/templates/httproute.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/charts/kubebrowser/templates/httproute.yaml b/charts/kubebrowser/templates/httproute.yaml index 19df7de..7ffaa7b 100644 --- a/charts/kubebrowser/templates/httproute.yaml +++ b/charts/kubebrowser/templates/httproute.yaml @@ -1,3 +1,7 @@ +{{- /* +Author: Yann Lacroix +*/}} + {{- if .Values.httpRoute.enabled -}} apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute From 51fab7c2364ece5fc0d84dc6e01f77cc029745cd Mon Sep 17 00:00:00 2001 From: Yann Lacroix Date: Thu, 12 Feb 2026 10:30:57 +0100 Subject: [PATCH 09/11] do not check anymore if ingress api is supporting pathTypo (removed in bitnami common lib) https://github.com/bitnami/charts/commit/d96e16aa1e2f1d42de829330f5c0dbc1c4666493 --- charts/kubebrowser/templates/ingress.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/charts/kubebrowser/templates/ingress.yaml b/charts/kubebrowser/templates/ingress.yaml index 33bb64c..b452b9e 100644 --- a/charts/kubebrowser/templates/ingress.yaml +++ b/charts/kubebrowser/templates/ingress.yaml @@ -26,9 +26,7 @@ spec: {{- toYaml .Values.ingress.extraPaths | nindent 10 }} {{- end }} - path: {{ .Values.ingress.path }} - {{- if eq "true" (include "common.ingress.supportsPathType" .) }} pathType: {{ .Values.ingress.pathType }} - {{- end }} backend: {{- include "common.ingress.backend" (dict "serviceName" (include "kubebrowser.server.fullname" .) "servicePort" "http" "context" $) | nindent 14 }} {{- end }} {{- range .Values.ingress.extraHosts }} From 61815a60109b3adda0a72ba5338e39026d280579 Mon Sep 17 00:00:00 2001 From: Yann Lacroix Date: Thu, 12 Feb 2026 10:31:33 +0100 Subject: [PATCH 10/11] port should be integer instead of string --- charts/kubebrowser/templates/httproute.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/kubebrowser/templates/httproute.yaml b/charts/kubebrowser/templates/httproute.yaml index 7ffaa7b..5a16177 100644 --- a/charts/kubebrowser/templates/httproute.yaml +++ b/charts/kubebrowser/templates/httproute.yaml @@ -31,7 +31,7 @@ spec: - group: '' kind: Service name: {{ include "kubebrowser.server.fullname" $ }} - port: {{ tpl ($.Values.server.containerPorts.http | quote) $ }} + port: {{ tpl ($.Values.server.containerPorts.http ) $ }} weight: 1 {{- end }} {{- if $rule.filters }} From 1438a7b4a1c3f7e147e693949dbd66c65a21224e Mon Sep 17 00:00:00 2001 From: Yann Lacroix Date: Thu, 12 Feb 2026 10:37:26 +0100 Subject: [PATCH 11/11] port should be integer and not string --- charts/kubebrowser/templates/httproute.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/kubebrowser/templates/httproute.yaml b/charts/kubebrowser/templates/httproute.yaml index 5a16177..8fa346f 100644 --- a/charts/kubebrowser/templates/httproute.yaml +++ b/charts/kubebrowser/templates/httproute.yaml @@ -31,7 +31,7 @@ spec: - group: '' kind: Service name: {{ include "kubebrowser.server.fullname" $ }} - port: {{ tpl ($.Values.server.containerPorts.http ) $ }} + port: {{ $.Values.server.containerPorts.http}} weight: 1 {{- end }} {{- if $rule.filters }}