Kubernetes
The repository includes a Helm chart under server/deploy/helm/gestalt.
Install The Chart
helm upgrade --install gestalt ./server/deploy/helm/gestalt \
--set image.tag=<version> \
--dry-run --debugRemove --dry-run --debug when you are ready to apply the release to a real
cluster.
Important Chart Values
| Value | Purpose |
|---|---|
config | Rendered as /etc/gestalt/config.yaml. |
extraEnv | Environment variables used by ${VAR} placeholders in config. |
persistence | PVC settings for SQLite or other local state. |
pluginInit.enabled | Runs gestaltd init in an init container before the main server starts. |
ingress | Standard ingress settings. |
Example Values
config:
server:
port: 8080
base_url: "${GESTALT_BASE_URL}"
encryption_key: "${GESTALT_ENCRYPTION_KEY}"
auth:
provider: oidc
config:
issuer_url: "${OIDC_ISSUER_URL}"
client_id: "${OIDC_CLIENT_ID}"
client_secret: "${OIDC_CLIENT_SECRET}"
redirect_url: "${OIDC_REDIRECT_URL}"
datastore:
provider: postgres
config:
dsn: "${DATABASE_URL}"
extraEnv:
- name: GESTALT_BASE_URL
value: "https://gestalt.example.com"
pluginInit:
enabled: trueWhen To Enable pluginInit
Enable the init container when your config uses:
plugin.packageplugin.sourceui.plugin.packageui.plugin.source
The init container copies the rendered config and runs:
/gestaltd init --config /etc/gestalt/config.yaml
The main container then starts in locked mode against the prepared state.