Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions charts/kubebrowser/Chart.lock
Original file line number Diff line number Diff line change
@@ -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"
4 changes: 2 additions & 2 deletions charts/kubebrowser/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ 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
version: 2.30.0
version: 2.36.0
repository: oci://registry-1.docker.io/bitnamicharts
maintainers:
- name: Brawdunoir
Expand Down
6 changes: 6 additions & 0 deletions charts/kubebrowser/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 | `false` |
| `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 | `undefined` |
46 changes: 46 additions & 0 deletions charts/kubebrowser/templates/httproute.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{{- /*
Author: Yann Lacroix <yann.lacroix@avisto.com>
*/}}

{{- 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: {{ $.Values.server.containerPorts.http}}
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 -}}
4 changes: 1 addition & 3 deletions charts/kubebrowser/templates/ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Author: Yann Lacroix <yann.lacroix@avisto.com>
*/}}

{{- if and .Values.ingress.enabled -}}
{{- if .Values.ingress.enabled -}}
apiVersion: {{ include "common.capabilities.ingress.apiVersion" . }}
kind: Ingress
metadata:
Expand All @@ -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 }}
Expand Down
32 changes: 32 additions & 0 deletions charts/kubebrowser/values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -620,6 +620,38 @@
"items": {}
}
}
},
"httpRoute": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether to enable this HTTPRoute & subsequently create the HTTPRoute resource",
"default": false
},
"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": {}
}
}
}
}
}
49 changes: 49 additions & 0 deletions charts/kubebrowser/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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: false
## @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 (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: /