Helm chart released 🎉

Hello world!

For all Kubernetes users out there, I have finally worked out a publication process for the Kobotoolbox Helm chart I’ve been working on, which we use internally in my team.

You can find the published chart on artifacthub here: kobotoolbox 0.1.2 · one-acre-fund/one-acre-fund

Any comments / suggestions / feedbacks welcome!

2 Likes

@yjouanique, could you also kindly provide a brief description of the same in your post so that the users should be able to get a glimpse of the same through the forum. Thank you for sharing this with the community!

Hello I’m not sure there’s much more to say - Helm charts are the de-facto standard way of deploying to Kubernetes these days, so this chart is providing a convenient package that lets users easily deploy Kobotoolbox to a Kubernetes cluster, with as little as 2 lines:

helm repo add one-acre-fund https://one-acre-fund.github.io/oaf-public-charts
helm install my-kobo one-acre-fund/kobotoolbox

This is a slightly more modern/robust alternative to the kobo-install solution that is based on docker-compose.

1 Like

Thank you @yjouanique once again for providing a brief. This should be very helpful for the entire community using KoBoToolbox.

Hi @yjouanique, thanks for sharing this with the public! I’m sure many will find it most helpful.

Could you elaborate on this a bit? Does one of those lines prompt installers to enter important deployment-specific configuration settings like domain names, email settings, and superuser credentials—or is that done separately in a text file?

Most of the purpose of kobo-install is to get these settings in order by having a question-answer session with person doing the installation. Contrast this this with kobo-docker, which expects installers to manually edit configuration files, demanding a higher level of systems administration competency.

1 Like

Indeed, Helm charts are basically templated Kubernetes deployment definition files. You typically feed it with input parameters either directly in command line (helm install --set general.externalDomain=www.mysite.com my-kobo one-acre-fund/kobotoolbox) or from a values file (helm install -f my-values.yaml my-kobo one-acre-fund/kobotoolbox). But the default values should work out of the box (with the caveat of the external domain that needs to be reachable from inside the containers because of Internal url should be used to create profile in KoBoCAT database · Issue #3001 · kobotoolbox/kpi · GitHub - now fixed but not yet released in a published image).

All the parameters are documented in the README.

The docker-based installers are fine to run everything on a single server, but a Kubernetes / Helm approach gives cluster-wide orchestration capabilities, deploying any number of replicas of each container across your available infrastructure, and handling all the network links between them, so it’s a much more robust solution if there’s a need to scale, and is very repeatable/automation-friendly, as a single value file holds all your configuration.

1 Like

Thanks for the clarification :+1: Best of luck with your installation!

1 Like