-
Notifications
You must be signed in to change notification settings - Fork 42
Open
Description
Hey @vermorag,
Following up on #119 and your work on the .helm/ chart in PR #294 — I've built and tested a production-ready Helm chart that fixes all the known Kubernetes deployment issues.
Repo: https://github.com/khalid244/cattr-helm
Helm repo: helm repo add cattr-helm https://khalid244.github.io/cattr-helm
What it fixes
- s6-overlay
/var/runand timeout issues — emptyDir mounts +S6_CMD_WAIT_FOR_SERVICES_MAXTIME=300000 - MySQL trigger creation fails —
--log-bin-trust-function-creators=1(required for Cattr's migrations that create triggers) - App starts before DB is ready — init container waits for MySQL TCP
- Cache/session write errors — ephemeral emptyDir mounts for framework cache and sessions
- Migration conflicts — documented workarounds for
redmine_instancesduplicate table and Sanctumexpires_atcolumn
Improvements over current .helm/ chart
| Feature | Current .helm/ |
This chart |
|---|---|---|
| Service template | Missing | Included |
| PVC templates | Missing | Included |
| Ingress | YAML syntax error | Working, with TLS/cert-manager |
| APP_KEY | encryptAES (non-standard) |
randAlphaNum + b64enc |
| MySQL | Bitnami subchart | Built-in MySQL (no external deps) |
| DB startup order | None | Init container waits for MySQL |
| MySQL triggers | Not handled | --log-bin-trust-function-creators=1 |
| Values style | Custom | Bitnami-style with @param annotations |
Tested on
- 3-node Hetzner cluster (MicroK8s)
- Longhorn storage
- nginx-ingress + cert-manager (Let's Encrypt)
- All s6 services start cleanly: nginx, octane, reverb, queue, supercronic
- 144 migrations run successfully
- Full app functional at https endpoint
Happy to submit a PR to replace or improve the existing .helm/ chart if you're interested. Let me know how you'd like to proceed.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels