This chart is intended for high availability instances of KoboToolbox running in kubernetes. Small and casual instances should use kobo-install.
This chart is versioned using semver: <Major>.<Minor>.<Patch>
- Major: Indicates breaking changes to the chart. Upgrading will require manual intervention, value updates, or migration steps (e.g., breaking changes to values.yaml, removing/renaming values, dropping Kubernetes version support, or changing resource selectors that trigger resource recreation).
- Minor: Indicates backwards-compatible feature additions. Used when adding new default values, optional templates, or supporting new Kubernetes resources/capabilities without breaking existing installations.
- Patch: Indicates backwards-compatible bug fixes. Used for internal template fixes, updating non-breaking default configurations, or updating the chart documentation and metadata without changing the external contract.
- As generic as possible, agnostic about the environment variables set for each service
- Supports high availability via k8s's horizontal pod autoscaler (HPA), pod disruption budget (PDB), and topology spread constraints
- Stick to defaults and conventions from
helm createwhen possible - Every deployment/job should do one thing. Migrate, run uwsgi, run celery, etc
This chart requires values for kpi.version and enketo.version - there are no defaults set for them.
- Carefully review values.yaml. Set image tag version, if desired. Set databases, secret keys, etc.
helm install your-kobo oci://ghcr.io/kobotoolbox/kobo -f your-values.yaml --set kpi.version=VERSION_TO_DEPLOY --set enketo.version=VERSION_TO_DEPLOY
This chart requires values for kpi.version and enketo.version - there are no defaults set for them.
helm repo updatehelm upgrade your-kobo kobo -f your-values.yaml --set kpi.version=VERSION_TO_DEPLOY --set enketo.version=VERSION_TO_DEPLOY
Tip: Consider using helm diff to preview changes first.
Includes ideas from: