Overview
DBeaver is a database administration tool that manages many database engines from one interface. This template deploys the self-hosted CloudBeaver web application — the browser-based edition of DBeaver — giving you a SQL editor, connection manager, and data browser for PostgreSQL, MySQL, MariaDB, MongoDB, Redis, SQLite, Oracle, SQL Server, and more. The template runs a single CloudBeaver instance on a persistent workspace volume. The admin account is bootstrapped from an opaque secret you create before installing, and the console is reachable only from inside the GVC until you deliberately publish it.What Gets Created
Prerequisites
One opaque secret must exist before you install. The admin password guards a database administration console, and whoever holds it can query every database that console is connected to — so it is never a Helm value and never lands in the release.Create the admin password secret
--gvc flag:admin.passwordSecretName to this name.Pick an admin login name
admin.name to the login name you want. It is not sensitive and stays a plain value; the default is cbadmin.Installation
Install the template into an existing GVC, naming the admin-password secret you created:UI
CLI
Terraform
Pulumi
Configuration
Image
Admin Login
admin.name to CloudBeaver as CB_ADMIN_NAME and references the secret as CB_ADMIN_PASSWORD: cpln://secret/SECRET_NAME.payload, so the password itself never appears in the workload spec or the Helm release.
Access
publicAccess.enabled— whentrue, the workload’s external inbound firewall opens to0.0.0.0/0and Control Plane assigns a*.cpln.appcanonical endpoint. With it off, requests to the canonical endpoint return403 RBAC: access denied.internalAccess.type— which workloads inside Control Plane may reach the console.internalAccess.workloads— list of workload links, used only whentypeisworkload-list.
Resources and Storage
resources.cpu/resources.memory— CPU and memory allocated to the CloudBeaver container.volumeset.capacity— persistent volume size in GiB for the workspace: server configuration, saved connections, and user accounts.
Connecting
200 means CloudBeaver is serving its UI.
First Run
The chart supplies all four of CloudBeaver’s automatic-setup parameters (CB_SERVER_NAME, CB_SERVER_URL, CB_ADMIN_NAME, CB_ADMIN_PASSWORD), so the server configures itself on first start and there is no setup wizard to complete. The recommended sequence keeps the console private until the admin account is confirmed working:
Install with public access off
publicAccess.enabled: false. Wait for the workload to report ready:Tunnel to the UI and sign in
http://localhost:8978, choose Settings (the cog icon, top right) → Login, and sign in with admin.name and the password from your secret. The administration panel is under Settings → Administration, or directly at http://localhost:8978/#/admin.Add a database connection
WORKLOAD_NAME.GVC_NAME.cpln.local, with the engine’s port. As the admin you can save a connection to the Shared project and grant users or teams access to it on the connection’s Access tab; a Private connection is visible only to you.Publish the console only if you need to
Operations
Backing Up
There is no scheduled-backup feature. The volume set takes no scheduled snapshots; the only automatic snapshot is the final one taken when the volume set is deleted, kept for 7 days. Take a manual snapshot of the workspace before a risky change:Changing the Admin Password
The password in your secret is applied only when the workspace is first initialized, so rotate it in CloudBeaver itself: sign in as an administrator, open Settings → Administration → Users and Teams → Users, select the user, and assign a new password on the Info tab. Update the secret too if you want it to reflect the current password, but doing so on its own changes nothing. If no administrator can sign in, CloudBeaver documents an admin password recovery procedure that edits.cloudbeaver.runtime.conf under the workspace’s .data directory and restarts the server. On this template the workspace is the volume set mounted at /opt/cloudbeaver/workspace; the procedure has not been verified here, and because the chart also supplies the automatic-setup variables, the server may re-configure itself from them rather than show the wizard the upstream page describes.
Upgrading From 1.2.1 or Earlier
Create the admin password secret
admin.passwordSecretName to that name, and remove admin.password from your values — it no longer exists in the chart.Decide whether you still want public access
publicAccess.enabled: true explicitly. If you were not, do nothing and the console becomes internal-only. Either way, allow a few minutes for the firewall change to take effect.Keep signing in with your old login
adminusername, not the new cbadmin default — then change the password in the UI (see Changing the Admin Password).Scaling and Availability
This template is single-instance. CloudBeaver Community Edition has no clustering, and the workspace is one volume bound to one replica, so do not scale the workload out. Be aware that this chart version sets CPU autoscaling to a maximum of 3 replicas, which you cannot change in values: under sustained CPU load extra replicas can start, each with its own empty workspace volume, so a session may land on a replica that lacks your saved connections. The firsthelm upgrade after an install restarts the workload even when no value changed, making the UI briefly unavailable; later no-op upgrades do not.
Troubleshooting
The workload never starts after install
The workload never starts after install
cpln helm install succeeded, but the workload has no running replica and cpln logs returns nothing.Cause: The secret named in admin.passwordSecretName does not exist. The deployment is paused waiting for it.Fix: Confirm with cpln workload get-deployments RELEASE_NAME-dbeaver --gvc GVC_NAME -o yaml — status.versions[].message reads The secret SECRET_NAME no longer exists. Workload updates are paused until the secret is added or the reference to the secret removed. Create the secret as shown in Prerequisites; the deployment recovers on its own, or run cpln workload force-redeployment RELEASE_NAME-dbeaver --gvc GVC_NAME to skip the wait.Invalid user credentials after changing the secret
Invalid user credentials after changing the secret
Invalid user credentials while the old one still works.Cause: CloudBeaver reads CB_ADMIN_PASSWORD only when it initializes an empty workspace. The account stored on the volume set is authoritative afterwards.Fix: Change the password in the UI under Settings → Administration → Users and Teams → Users (see Changing the Admin Password).Cannot connect to an external or managed database
Cannot connect to an external or managed database
WORKLOAD_NAME.GVC_NAME.cpln.local, with the engine’s port.Canonical endpoint returns 403 RBAC access denied
Canonical endpoint returns 403 RBAC access denied
*.cpln.app endpoint return 403 RBAC: access denied.Cause: publicAccess.enabled is false (the default), so the external inbound firewall is closed.Fix: Reach the UI with cpln port-forward RELEASE_NAME-dbeaver 8978:8978 --gvc GVC_NAME, or run a Helm upgrade with --set publicAccess.enabled=true and allow a few minutes for the change to take effect.An access change appears to do nothing
An access change appears to do nothing
publicAccess.enabled or internalAccess.type and the console still behaves as before.Cause: Firewall changes take up to a few minutes to take effect.Fix: Wait a few minutes and test again before concluding the setting is wrong.Important Notes
- Create the admin-password secret before installing. A missing secret does not fail the install — the workload waits on it with no container logs to diagnose from.
- The admin name and password are read only when the workspace is first initialized. Change the password in the CloudBeaver UI; rotating the secret alone changes nothing.
- Anyone who can read this workload’s logs can authenticate as the admin. CloudBeaver logs the submitted password hash at its default log level, and its API accepts that hash in place of the password. This is upstream behavior the chart does not configure; treat log access to this workload as admin access to every database it is connected to.
publicAccess.enabled: trueputs a database administration console on the public internet. Anyone who reaches it needs only the admin password to query every connected database. Set a strong password first, and prefer leaving it off.- Outbound traffic is closed and there is no knob for it — only databases inside the same GVC can be connected.
- Saved connections and users live on the volume set and survive redeploys and upgrades.
cpln helm uninstalldeletes the volume set, taking every saved connection with it; the final snapshot is kept for 7 days. - The prerequisite secret is not owned by the release — it survives
cpln helm uninstalland must be deleted separately if you no longer need it. - Upgrading from 1.2.1 or earlier closes public access and requires the secret — see Upgrading From 1.2.1 or Earlier before you upgrade.