Values in angle brackets are placeholders. Defaults shown as — mean the variable is empty unless you set it, and the feature it belongs to stays off.
Core
With neither variable set and Celum running inside Kubernetes, it falls back to its own in-cluster service account — again as
__default__.Authentication
Authorization
GitOps
Observability
Integrations
Secret store
Credential-shaped values can come from Vault or Azure Key Vault instead of the environment. SetSECRET_BACKEND to switch it on.
- Vault
- Azure Key Vault
Which values the store resolves
Under Vault the mount is prepended, so
backend/gitlab is read from celum/backend/gitlab by default. Non-credential values — URLs, IDs, site and section names — stay in the environment.
Precedence
1
The store wins
A non-empty value from the store is used, and the environment variable is ignored.
2
Absent or empty falls back to the environment
A missing secret, or one present but empty, falls through to the environment variable. A mistyped path therefore degrades to the old value rather than blanking the credential.
3
Any other error fails the boot
Denied, sealed, or unreachable stops the backend from starting. It does not fall back — booting with empty credentials would log everyone out and break integrations silently.
env, env(fallback), the backend name, or ERROR. Names and sources only, never values. Check it when a hotfix value you set in the environment appears to have no effect: store-wins means it was ignored.
Dashboard
The Next.js dashboard reads a much smaller set:BACKEND_PUBLIC_URL is injected at request time rather than baked in at build time, so one image runs against any environment. No NEXT_PUBLIC_ variables are used.Related
Quickstart
A working Compose stack using these variables.
Authentication & IAM
What the OIDC variables do in the sign-in flow.
Permissions model
IAM_ENABLED and IAM_DEBUG in context.Glossary
Terms used across these settings.