Configure
Everything is a Helm value. Non-secret values become a ConfigMap; secret values come from a Kubernetes secret you name with app.existingSecret.
app:
existingSecret: presponsieve-secrets
config:
KMS_BACKEND: "k8s"
LICENSE_ENFORCEMENT: "enforce"
SIMULATION_SAMPLES: "1000"
Do not put secret material in app.secrets in a values file. It works, and it puts plaintext in your Git history.
What you will actually configure
| Topic | Page |
|---|---|
| The one secret and what goes in it | Secrets |
| Connecting to Postgres | Database |
| Report artifact storage | Object storage |
| The license gate and the content key | Licensing |
| Narrative rendering and what it costs you | Rendering |
| Replicas and autoscaling | Scaling |
| Sign-in | Authenticate |
The exhaustive list is in the Helm values reference.
Checking what applied
helm get values presponsieve -n presponsieve
helm get values presponsieve -n presponsieve --all # including chart defaults
Changing configuration
Through Helm, always. Editing a Deployment or ConfigMap directly works until the next helm upgrade reverts it, at which point you have an outage nobody can explain.
helm upgrade presponsieve oci://ghcr.io/m-a-m-a-ai/charts/presponsievelite \
-n presponsieve -f my-values.yaml --set image.tag=0.1.0
GKE-only settings stay in their own block
Everything under gke: is off by default so the chart stays portable. Do not add GKE-specific fields to the portable sections; the overlay pattern exists to keep that separation clean.