Deploy
Every path installs the same chart from oci://ghcr.io/m-a-m-a-ai/charts/presponsievelite. What differs is how much of the surrounding infrastructure you build yourself.
| Path | Use when |
|---|---|
| Quickstart | You have a cluster, a database, and a bucket already |
| GKE | Cloud SQL with IAM auth, native GCS, IAP sign-in |
| EKS | RDS, S3 with IRSA, ALB, external OIDC |
| Terraform blueprints | Empty cloud account, want the infrastructure built too |
| Evaluation | Trying it before planning anything |
Azure and other platforms follow the EKS shape: external database, external S3-compatible storage, external OIDC.
Before any of them
Three things, in this order.
Generate the crypto material. Four values, backed up somewhere outside the cluster. See Requirements.
Create the application secret. Everything sensitive lives in one Kubernetes secret. See Secrets.
Decide how people sign in. OIDC, an identity-aware proxy, or Google Sign-In. This is harder to change later than it looks, because it determines whether the app is reachable directly. See Authenticate.
Render before you apply
helm template presponsieve oci://ghcr.io/m-a-m-a-ai/charts/presponsievelite \
-f my-values.yaml --set image.tag=<TAG> | less
A bad value shows up here rather than as a half-applied release.
Verify properly
A health check only proves the pod started. Run one analysis end to end: it exercises the database write, the object-storage upload, and signed-URL retrieval in a single flow.
kubectl get pods,job -n presponsieve
kubectl port-forward -n presponsieve svc/presponsieve 8080:80
curl -s localhost:8080/healthz # {"status":"ok"}
Then sign in, run an analysis, and confirm the report, radar image, and PDF all come back.