The most relevant values when installing 3B with the Helm chart. To see every value with its default for a given release:
helm show values oci://oci.tines.com/3b/charts/3b --version <VERSION>
(On the single-server install, don’t set these directly — the installer generates the values from /opt/3b/.env. Use EXTRA_VALUES_FILE there if you need chart settings the .env doesn’t expose.)
Core
Value | Description |
| Required. Stable unique identifier for this deployment. Do not change after first install. |
| The signed 3B license token ( |
| Address users open in the browser. The app hostname. |
| Optional. The API is served by path on the app hostname, so it follows |
| Address 3B shares externally (webhooks and edge links). Its own hostname. |
| Must match |
| Parent domain shared by the URLs, for sign-in cookies. |
|
|
| List containing the name of the registry pull secret you created (e.g. |
You need two hostnames: the app (UI, API, and Zero sync) and edge. You do not need to configure images — the published chart pins every image to the tags for its release.
Rename externalUrls.public to externalUrls.edge in existing values files. The old key remains supported for upgrades; externalUrls.edge takes precedence when both are set. If neither is set, the edge URL is http://localhost:30080.
The legacy publicDomain, stackPublicBaseDomain, and ingress.public values also remain supported. Use edgeDomain, stackEdgeBaseDomain, and ingress.edge for new configuration. New values take precedence, including explicit false or empty values. Keep the new mapping empty or omit a new value to use its legacy counterpart.
Secrets
Value | Default | Description |
|
| When |
Identity
Value | Default | Description |
|
| The built-in identity provider, so a fresh install is immediately usable without external SSO. |
Database and storage
Value | Default | Description |
|
| Run Postgres in-cluster. Set |
|
| Size of the Postgres persistent volume. |
|
| StorageClass for Postgres (empty = cluster default). Must allow volume expansion. |
|
| Size of the blob storage persistent volume. |
|
| StorageClass for the blobstore (empty = cluster default). Must allow volume expansion. See Blobstore disk. |
Networking and TLS
Value | Default | Description |
|
| The chart’s built-in reverse proxy and front door. |
|
| NodePort for HTTP. |
|
| Bind the node’s port directly (e.g. |
|
| Terminate TLS at nginx with the certificate in |
|
| Kubernetes TLS secret holding the certificate and key. |
|
| NodePort for HTTPS. |
|
| Create Ingress resources (for ALB, nginx-ingress, Traefik, etc.) instead of fronting the |
|
| Outbound proxy settings, injected into the application services. |
|
| Comma-separated CIDR blocks workflow code may reach on internal networks. Bypasses the SSRF guard — see the warning in the environment variable reference. |
|
| Enables space-specific edge hosts. Set it to the parent of the |
Nodes and scheduling
Value | Default | Description |
|
| Privileged per-node DaemonSet that raises the user-namespace sysctls gVisor workers need on hardened nodes (e.g. EKS Auto Mode). See the AWS EKS guide. |
|
| Scope the DaemonSet to a node pool. |
|
| Pin the worker to a dedicated node pool. |
|
| Kubernetes ServiceAccount used by every pod; |
Replicas and resources
Each service (api, orchestrator, edge, worker, zero, blobstore) exposes replicas and resources blocks with sensible single-node defaults. Leave them alone for a first install; raise them when scaling out.
blobstore.resources defaults to a request of 2 CPU and 4 GiB of memory, a memory limit of 4 GiB, and no CPU limit. This is the serving Blobstore baseline. Increase it for workloads that need more CPU or memory, and ensure the node has capacity for the requests before upgrading.
Value | Default | Description |
|
| The “from” address on emails 3B sends. |
The SMTP connection string itself lives on the api-secrets secret (smtp-url), not in values — see the installation guide appendix.
