Deploy Bifrost to an existing Google Kubernetes Engine cluster
This guide deploys Bifrost to an existing GKE cluster using the Helm chart. It covers the Bifrost image, secrets, storage, database connection, service exposure, verification, and scaling.
The Helm configuration is validated in the repository. The complete guide is not continuously exercised in a live Google Cloud project, so test the selected values in a non-production cluster before rollout.
OSS or supplied Enterprise image on linux/amd64 or linux/arm64 nodes
HTTP and health
ClusterIP Service on 8080/TCP; GET /health
SQLite (OSS only)
One replica and a ReadWriteOnce Persistent Disk or another compatible CSI volume
PostgreSQL
PostgreSQL 16 or later reachable from the pod network, regardless of provider
External access
Any compatible Gateway API, ingress, Service LoadBalancer, mesh gateway, or proxy
Enterprise mesh
Kubernetes discovery and pod-to-pod 10101/TCP+UDP, 10102/TCP
Image pull
Public Docker Hub for OSS; Enterprise pull secret/identity from Enterprise GCP
Bifrost Enterprise requires PostgreSQL 16 or later for both stores and does not support SQLite. The SQLite path below is available only for OSS deployments.
The encryption key protects persisted credentials. Create it once, keep it unchanged after Bifrost writes encrypted data, and use the same value for every replica. Replacing the key makes existing encrypted values unreadable.
This uses PostgreSQL for both Bifrost stores and does not create a Bifrost SQLite PVC. Enterprise customers should replace the image settings and registry authentication using the values supplied by Maxim.Cloud SQL for PostgreSQL is one Google Cloud-hosted option. The database may instead be operated by the customer or another provider as long as the cluster can reach it.Verify connectivity from the cluster before installing Bifrost:
Enter the PostgreSQL password when psql prompts. A successful connection confirms DNS, TCP, TLS, and database authentication from the pod network. Confirm that server_version reports PostgreSQL 16 or later and server_encoding reports UTF8.
This option is available only for OSS Bifrost. Use SQLite for a single replica and select a compatible ReadWriteOnce StorageClass; the default Persistent Disk class is suitable for many single-replica deployments.
Replace <STORAGE_CLASS> with a class returned by kubectl get storageclass. This creates persistent /app/data storage for the OSS SQLite deployment. PostgreSQL is not required for this OSS option.
Point the hostname to the ingress address, configure a Google-managed certificate or another TLS implementation, and verify https://<BIFROST_HOSTNAME>/health.