If you want an all-in-one cluster with bundled Postgres/Mongo/Valkey/SeaweedFS,
follow the Installation Guide instead.
Prerequisites
Step 0 — Log in to the chart registry
$.
Step 1 — Pull the default values
Step 2 — Start your secrets file
Pull the chart so you can inspect the secret files it ships:bud/secrets.bud.yaml enumerates the full set of secret key paths the
platform needs (externalServices.*, microservices.*, daprExtra.crypto,
novu.*); secrets.demo.yaml is a minimal example that carries only the
registry pull credentials. Both shipped files are SOPS-encrypted (values
appear as ENC[...]), so they are not drop-in templates — use
secrets.bud.yaml for the key structure and supply your own plaintext values
in a separate secrets.yaml, following the references in Steps 3–4. Keep
secrets.yaml out of version control (or SOPS-encrypt it).
Step 3 — Wire up external services
All managed services are configured underexternalServices in values.yaml
and the matching credential blocks live in secrets.yaml. Provision the
resources below first, then fill in the values.
PostgreSQL
Create one database per backend service, each with its own user.
Required databases:
budapp, budcluster, budmetrics, budmodel, budsim,
budeval, buddoc, budprompt, budask, mcpgateway, budpipeline,
budcodeinterpreter.
MongoDB (Novu)
Redis / Valkey
A single Redis instance, multiplexed by logical DB index.
The
novu.externalRedis block references the same instance; only the host is
restated — the password is shared from externalServices.valkey.password
via the <release>-novu-externalredis Secret.
S3-compatible object storage
Works with SeaweedFS (the bundled default), AWS S3, Azure Blob via an S3 gateway, or any other S3-compatible store. Create the buckets ahead of time.ClickHouse
Kafka
OIDC identity provider
Any OIDC-compliant IdP is supported — budapp validates ID tokens via OIDC discovery and stores all authorization state in its own Postgres PDP. If you don’t already operate one, the siblingkeycloak chart
(oci://registry.bud.studio/charts/keycloak) gives you a working Keycloak in one
install.
You must pre-create the OAuth clients that the redirect-flow uses
(budadmin-web, budcustomer-web, budplayground-web, plus the
mcpgateway client) in your IdP and copy the client secrets into
secrets.yaml (see Application secrets).
The issuer is set directly on
externalServices.oidc.url. As of chart 0.14.0
budapp uses externalServices.oidc.url as its OIDC issuer verbatim — for a
default Keycloak that is https://<auth-host>/realms/bud-keycloak (the realm
segment is part of the URL). It must match the keycloak chart’s ingress.host.
The oidc.clients.mcpgateway.* keys configure the mcpgateway OAuth client
specifically; they do not change budapp’s issuer.Using a non-Keycloak IdP. Any OIDC-compliant IdP works, but the defaults are
Keycloak-shaped. To point budapp at Auth0 / Authentik / Cognito / Azure AD,
override these in
microservices.budapp.env rather than just setting .url:
OIDC_ISSUER (your provider’s full issuer URL) and OIDC_ROLES_CLAIM_PATH
(where the IdP encodes roles — Keycloak realm_access.roles, Auth0
https://yourapp/roles, Cognito cognito:groups). The legacy
keycloak.auth.adminUser / adminPassword fields are only consulted when you
run the bundled Keycloak chart.Step 4 — Application secrets & cluster config
These are not wired to external services but are required for a new install. All paths below live insecrets.yaml unless noted.
Registry pull credentials
Per-service secrets you must change
Cluster-level config in values.yaml
Step 5 — Install
Step 6 — Verify
Running within ~5–10 minutes. Backend pods run a
Dapr sidecar so expect 2/2 READY for most of them.
Common pitfalls
budmetricsdatabase name must bemetrics;- Redirect-flow clients must exist in the realm before the budapp pod
boots, otherwise the login flow returns
invalid_client. registries.registry.bud.studiocredentials are required even for airgapped clusters that already mirrored the images — the chart still creates the imagePullSecret referenced by every Deployment.
Next steps
Helm Configuration Reference
Full list of values and overrides.
Installation Guide
Full in-cluster install with bundled dependency charts (ArgoCD).