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/cloudbeaver/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.31.3
digest: sha256:f9c314553215490ea1b94c70082cb152d6ff5916ce185b4e00f5287f81545b4c
generated: "2025-07-10T10:08:41.365577596+02:00"
version: 2.36.0
digest: sha256:3f24fe066a06d3a8376bc2268050d93e487fb6b1443d9e1218efc8b76921ee80
generated: "2026-02-13T09:12:51.844918272+01:00"
4 changes: 2 additions & 2 deletions charts/cloudbeaver/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ apiVersion: v2
name: cloudbeaver
description: Cloud Database Manager
type: application
version: 1.0.10
version: 1.1.0
appVersion: 25.2.5
dependencies:
- name: common
repository: oci://registry-1.docker.io/bitnamicharts
tags:
- bitnami-common
version: 2.x.x
version: 2.36.0
maintainers:
- name: Brawdunoir
email: yann.lacroix@avisto.com
Expand Down
85 changes: 48 additions & 37 deletions charts/cloudbeaver/README.md

Large diffs are not rendered by default.

9 changes: 8 additions & 1 deletion charts/cloudbeaver/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,12 @@
Return the name of the Secret used to store the runtime configuration
*/}}
{{- define "cloudbeaver.secretRuntimeConfName" -}}
{{ template "common.names.fullname" . }}-runtime-conf
{{ include "common.names.fullname" . }}-runtime-conf
{{- end -}}

{{/*
Return the correct hostname
*/}}
{{- define "cloudbeaver.hostname" -}}
{{- coalesce (tpl .Values.hostname $) (tpl .Values.ingress.hostname $) -}}
{{- end -}}
2 changes: 1 addition & 1 deletion charts/cloudbeaver/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
kind: Deployment
metadata:
name: {{ template "common.names.fullname" . }}
name: {{ include "common.names.fullname" . }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: cloudbeaver
Expand Down
46 changes: 46 additions & 0 deletions charts/cloudbeaver/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:
- {{ include "cloudbeaver.hostname" . }}
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 "common.names.fullname" $ }}
port: {{ $.Values.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 -}}
8 changes: 4 additions & 4 deletions charts/cloudbeaver/templates/ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ spec:
ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
{{- end }}
rules:
{{- if .Values.ingress.hostname }}
- host: {{ (tpl .Values.ingress.hostname .) | quote }}
{{- if (include "cloudbeaver.hostname" .) }}
- host: {{ include "cloudbeaver.hostname" . | quote }}
http:
paths:
{{- if .Values.ingress.extraPaths }}
Expand All @@ -42,8 +42,8 @@ spec:
tls:
{{- if and .Values.ingress.tls (or (include "common.ingress.certManagerRequest" ( dict "annotations" .Values.ingress.annotations )) .Values.ingress.secrets .Values.ingress.selfSigned) }}
- hosts:
- {{ (tpl .Values.ingress.hostname .) | quote }}
secretName: {{ printf "%s-tls" (tpl .Values.ingress.hostname .) }}
- {{ include "cloudbeaver.hostname" . | quote }}
secretName: {{ printf "%s-tls" include "cloudbeaver.hostname" . }}
{{- end }}
{{- if .Values.ingress.extraTls }}
{{- include "common.tplvalues.render" (dict "value" .Values.ingress.extraTls "context" $) | nindent 4 }}
Expand Down
4 changes: 2 additions & 2 deletions charts/cloudbeaver/templates/networkpolicy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ SPDX-License-Identifier: APACHE-2.0
kind: NetworkPolicy
apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }}
metadata:
name: {{ template "common.names.fullname" . }}
name: {{ include "common.names.fullname" . }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: controller
Expand Down Expand Up @@ -47,7 +47,7 @@ spec:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 14 }}
- podSelector:
matchLabels:
{{ template "common.names.fullname" . }}-client: "true"
{{ include "common.names.fullname" . }}-client: "true"
{{- if .Values.networkPolicy.ingressNSMatchLabels }}
- namespaceSelector:
matchLabels:
Expand Down
2 changes: 1 addition & 1 deletion charts/cloudbeaver/templates/service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ SPDX-License-Identifier: APACHE-2.0
apiVersion: v1
kind: Service
metadata:
name: {{ template "common.names.fullname" . }}
name: {{ include "common.names.fullname" . }}
namespace: {{ include "common.names.namespace" . | quote }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.service.labels .Values.commonLabels ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
Expand Down
4 changes: 2 additions & 2 deletions charts/cloudbeaver/templates/tests/test-connection.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v1
kind: Pod
metadata:
name: {{ template "common.names.fullname" . }}-test-connection
name: {{ include "common.names.fullname" . }}-test-connection
namespace: {{ include "common.names.namespace" . | quote }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.service.labels .Values.commonLabels ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
Expand All @@ -12,5 +12,5 @@ spec:
- name: wget
image: busybox
command: ['wget']
args: ['{{ template "common.names.fullname" . }}:{{ .Values.service.ports.http }}']
args: ['{{ include "common.names.fullname" . }}:{{ .Values.service.ports.http }}']
restartPolicy: Never
35 changes: 33 additions & 2 deletions charts/cloudbeaver/values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,11 @@
}
}
},
"hostname": {
"type": "string",
"description": "Hostname for cloudbeaver exposure (HTTPRoute/Ingress)",
"default": ""
},
"extraEnvVars": {
"type": "array",
"description": "An array to add extra env vars",
Expand Down Expand Up @@ -629,8 +634,8 @@
},
"hostname": {
"type": "string",
"description": "Default host for the ingress record (evaluated as template)",
"default": "cloudbeaver.local"
"description": "(DEPRECATED use `hostname` instead) Default host for the ingress resource",
"default": ""
},
"hostnameStrict": {
"type": "boolean",
Expand Down Expand Up @@ -693,6 +698,32 @@
"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": {}
}
}
}
}
}
55 changes: 51 additions & 4 deletions charts/cloudbeaver/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,9 @@ sidecars: []
##
containerPorts:
http: 8978
## @param hostname Hostname for cloudbeaver exposure (HTTPRoute/Ingress)
##
hostname: ""
## @param extraEnvVars An array to add extra env vars
##
extraEnvVars: []
Expand Down Expand Up @@ -368,7 +371,8 @@ persistence:
## @param persistence.dataSource Custom PVC data source
##
dataSource: {}
## Network Policies

## @section Cloudbeaver network parameters
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
##
networkPolicy:
Expand Down Expand Up @@ -426,7 +430,7 @@ networkPolicy:
##
ingressNSMatchLabels: {}
ingressNSPodMatchLabels: {}
## Cloudbeaver ingress parameters

## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
##
ingress:
Expand All @@ -449,9 +453,9 @@ ingress:
## set to `gce` if using the GCE ingress controller
##
controller: default
## @param ingress.hostname Default host for the ingress record (evaluated as template)
## @param ingress.hostname (DEPRECATED use `hostname` instead) Default host for the ingress resource
##
hostname: cloudbeaver.local
hostname: ""
## @param ingress.hostnameStrict Disables dynamically resolving the hostname from request headers.
## Should always be set to true in production, unless your reverse proxy overwrites the Host header.
## If enabled, the hostname option needs to be specified.
Expand Down Expand Up @@ -544,3 +548,46 @@ 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: []
## @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: /