Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

Outline

Helm Chart for Bytebase

Bytebase is a Database CI/CD tool for DevOps teams, built for Developers and DBAs.

TL;DR

$ helm repo add bytebase-repo https://bytebase.github.io/bytebase
$ helm repo update
$ helm -n <YOUR_NAMESPACE> \
--set "bytebase.option.port"={PORT} \
--set "bytebase.option.externalPg.url"={PGDSN} \
--set "bytebase.version"={VERSION} \
install <RELEASE_NAME> bytebase-repo/bytebase

Prerequisites

  • Kubernetes 1.24+
  • Helm 3.9.0+

Pinning container images by digest

Set bytebase.digest to a complete OCI digest, including the algorithm prefix. The chart keeps the configured version tag for readability, but Kubernetes uses the digest to select the image.

helm -n <YOUR_NAMESPACE> \
--set "bytebase.version"={VERSION} \
--set-string "bytebase.digest"="sha256:{DIGEST}" \
install <RELEASE_NAME> bytebase-repo/bytebase

Set bytebase.busyboxDigest to pin the BusyBox init container used when bytebase.option.externalPg.escapePassword is enabled. Azure Marketplace deployments can set global.azure.images.bytebase.digest for the image copied to the Azure registry.

High availability note

The bundled Helm chart currently deploys Bytebase as a single-replica StatefulSet. It does not expose a Helm value for running multiple Bytebase application replicas.

If you are preparing an HA deployment, treat the multi-replica topology as operator-managed outside this chart. Each HA replica must still start with --ha and the same shared external PostgreSQL PG_URL; review the operator runbook before proceeding:

Installing the Chart

$ helm -n <YOUR_NAMESPACE> \
--set "bytebase.option.port"={PORT} \
--set "bytebase.option.externalPg.url"={PGDSN} \
--set "bytebase.version"={VERSION} \
--set "bytebase.option.external-url"={EXTERNAL_URL} \
--set "bytebase.persistence.enabled"={TRUE/FALSE} \
--set "bytebase.persistence.storage"={STORAGE_SIZE} \
--set "bytebase.persistence.storageClass"={STORAGE_CLASS} \
install <RELEASE_NAME> bytebase-repo/bytebase

For example:

$ helm -n bytebase \
--set "bytebase.option.port"=443 \
--set "bytebase.option.externalPg.url"="postgresql://bytebase:bytebase@database.bytebase.ap-east-1.rds.amazonaws.com/bytebase" \
--set "bytebase.option.external-url"="https://bytebase.ngrok-free.app" \
--set "bytebase.version"=3.20.1 \
--set "bytebase.persistence.enabled"="true" \
--set "bytebase.persistence.storage"="10Gi" \
--set "bytebase.persistence.storageClass"="csi-disk" \
install bytebase-release bytebase-repo/bytebase

Uninstalling the Chart

helm delete --namespace <YOUR_NAMESPACE> <RELEASE_NAME>

Upgrade Bytebase Version/Configuration

Use helm upgrade command to upgrade the bytebase version or configuration.

For HA-aware operations, note that this chart still renders replicas: 1. A helm upgrade does not enable a multi-replica topology by itself. If you operate multiple Bytebase servers outside this chart, keep --ha and the shared external PostgreSQL PG_URL consistent on every replica and follow the operator runbook and upgrade guidance here:

helm -n <YOUR_NAMESPACE> \
--set "bytebase.option.port"={NEW_PORT} \
--set "bytebase.option.externalPg.url"={NEW_PGDSN} \
--set "bytebase.version"={NEW_VERSION} \
--set "bytebase.option.external-url"={EXTERNAL_URL} \
--set "bytebase.persistence.enabled"={TRUE/FALSE} \
--set "bytebase.persistence.storage"={STORAGE_SIZE} \
--set "bytebase.persistence.storageClass"={STORAGE_CLASS} \
upgrade bytebase-release bytebase-repo/bytebase

Parameters

Parameter Description Default Value
bytebase.version The version of Bytebase to be installed. "latest"
bytebase.digest OCI digest used to pin the Bytebase image. Include the algorithm prefix, for example sha256:abc123. The digest takes precedence over the version tag. ""
bytebase.registryMirrorHost The host for the Docker registry mirror. Leave empty for default registry usage. ""
bytebase.busyboxDigest OCI digest used to pin the BusyBox init container when PostgreSQL password escaping is enabled. ""
bytebase.option.port Port where Bytebase server runs. 8080
bytebase.option.data Data directory of Bytebase data stored. /var/opt/bytebase
bytebase.option.external-url The address for users to visit Bytebase, visit our docs to get more details. "https://docs.bytebase.com/get-started/self-host/external-url"
bytebase.option.externalPg.url The PostgreSQL url(DSN) for Bytebase to store the metadata. ""
bytebase.option.externalPg.existingPgURLSecret The name of Secret stores the PostgreSQL url(DSN) for Bytebase to store the metadata. ""
bytebase.option.externalPg.existingPgURLSecretKey The key of Secret stores the PostgreSQL url(DSN) for Bytebase to store the metadata. Should be used with bytebase.option.externalPg.existingPgURLSecret together. ""
bytebase.option.externalPg.pgHost The PostgreSQL host for Bytebase metadata storage. "host"
bytebase.option.externalPg.pgPort The PostgreSQL port for Bytebase metadata storage. "port"
bytebase.option.externalPg.pgUsername The PostgreSQL username for Bytebase metadata storage. "username"
bytebase.option.externalPg.pgPassword The PostgreSQL password for Bytebase metadata storage. "password"
bytebase.option.externalPg.pgDatabase The name of the PostgreSQL database for Bytebase. "database"
bytebase.option.externalPg.existingPgPasswordSecret The name of Secret that stores the existing PostgreSQL password for Bytebase metadata storage. ""
bytebase.option.externalPg.existingPgPasswordSecretKey The key of Secret storing the existing PostgreSQL password. Should be used with bytebase.option.externalPg.existingPgPasswordSecret. ""
bytebase.option.externalPg.escapePassword Controls whether to escape the password in the connection string. bytebase.option.externalPg.existingPgPasswordSecret or bytebase.option.externalPg.pgPassword should be specified with this value together. Experimental feature. false
bytebase.option.externalPg.awsRdsIam.enabled Enables AWS RDS IAM authentication for the Bytebase metadata PostgreSQL database when the chart constructs PG_URL from externalPg fields, including sslmode=verify-full. false
bytebase.option.externalPg.awsRdsIam.region AWS region used to sign RDS IAM authentication tokens for the Bytebase metadata PostgreSQL database. Required when awsRdsIam.enabled is true. ""
bytebase.option.externalPg.gcpCloudSqlIam.enabled Enables GCP Cloud SQL IAM authentication for the Bytebase metadata PostgreSQL database when the chart constructs PG_URL from externalPg fields. false
bytebase.option.externalPg.gcpCloudSqlIam.instanceConnectionName GCP Cloud SQL instance connection name (project:region:instance) for the Bytebase metadata PostgreSQL database. Required when gcpCloudSqlIam.enabled is true. ""
bytebase.persistence.enabled Enable/disable persistence for Bytebase. false
bytebase.persistence.existingClaim Name of the existing PersistentVolumeClaim for Bytebase persistence. ""
bytebase.persistence.storage Size of the persistent volume for Bytebase data. "2Gi"
bytebase.persistence.storageClass Storage class for the persistent volume used by Bytebase. ""
bytebase.extraSecretMounts Additional Bytebase secret mounts. Defined as an array of volumeMount objects. []
bytebase.extraVolumes Additional Bytebase volumes. Defined as an array of volume objects. []

If you enable bytebase persistence, you should provide storageClass and storage to bytebase to request a PVC, or provide the already existed PVC by existingClaim.

Need Help?

Morty Proxy This is a proxified and sanitized view of the page, visit original site.