This is a helm Chart for KoboToolbox.
- A Kubernetes cluster
- Helm
- The built-in nginx container only supports http for now. It is expected that https support will typically be handled at the ingress level
- This setup requires the availability of 3 subdomains under the same root domain (just like
kobo-install) - Due to a known issue, the
kpicontainer sometimes tries to accesskobocatvia its public address. This means that your DNS and possibly TLS handling must be in place for the full setup to work - setting those up in your localhostsfile will not suffice. The symptom for this problem is that logging in to the main Kobotoolbox UI will appear to succeed, but most features won't work. Calls to/mewill return an HTTP 500 error. A workaround is provided that lets you force an appropriate DNS resolution in thekpicontainer, but this will only work if your external address is configured ashttp, nothttps.
Refer to the values.yaml for details of all the variables that can be overridden, and create your own overrides in a separate file, e.g. my-values.yaml.
In particular you will need to setup a number of secrets, as well as provide a valid public domain name that the application will be reachable on.
Then, install the helm release as usual.
# Clone the project
git clone https://github.com/one-acre-fund/kobo-k8s && cd kobo-k8s
# Install chart dependencies
helm dependency update helm/kobotoolbox
# Override desired values in your own override file
cat <<EOF > my-values.yaml
postgresql:
postgresqlPostgresPassword: some_password
EOF
# Install chart
helm upgrade --install --values my-values.yaml kobo helm/kobotoolboxYou should see a bunch of new pods popping up:
$ kubectl get pods
oaf-kobo-kobo-694bb8449d-55gjl 4/4 Running 0 13m
oaf-kobo-mongodb-5fc744955b-z76j9 1/1 Running 0 125m
oaf-kobo-postgresql-0 1/1 Running 0 125m
oaf-kobo-rediscache-master-0 1/1 Running 0 125m
oaf-kobo-redismain-master-0 1/1 Running 0 125m- Publish to ArtifactHub
- Lint
- Auto-generate doc from values.yaml with
helm-docs - Add
testhooks