Getting started¶
Workflow runs on any conformant Kubernetes cluster, 1.30 or later. Development and testing use k3s (k3d locally); production targets EKS or similar.
Prerequisites¶
| Requirement | Notes |
|---|---|
| Kubernetes 1.30+ | The chart uses preStop.sleep hooks |
| PostgreSQL 17 | The chart creates a CloudNativePG cluster by default (operator 1.30.x), or point it at any PostgreSQL 17 |
| Ingress | Traefik (bundled with k3s), the AWS Load Balancer Controller, or Gateway API HTTPRoutes |
| TLS | cert-manager on k3s, or ACM certificates on ALBs |
| Secrets | A pre-created Secret, SOPS-encrypted values, or External Secrets Operator |
| Sign-in | Any OpenID Connect provider (Keycloak, Google, Entra ID, Okta…), or local accounts with passwords and two-factor authentication |
| Object storage | Optional: S3 or an S3-compatible store for attachments; without it they are kept in PostgreSQL |
| KEDA | Optional: scales the worker on queue depth; without it the chart uses fixed replicas or CPU HPAs |
| Argo CD | Optional: the migration Job runs as a PreSync hook; plain helm works too |
Paths¶
- Run it on k3s for a local or home-lab install
- Deployment for chart values and production settings
- Configuration for every environment variable