Which helm chart to use ?

In order to deploy open-balena, as far as I understood using helm chart is a great way to make it scalable but since I have no experience on kubernetes, I’m having hard time to do it correctly.

First of all, which one I need to use? I’m trying on DigitalOcean Managed Kubernetes (DOKS) and I have found the following repositories across the forum:

  1. GitHub - bartversluijs/open-balena: Open source software to manage connected IoT devices
  2. GitHub - dcaputo-harmoni/open-balena-helm: OpenBalena Kubernetes Helm repository
  3. GitHub - nexelit/open-balena-helm: OpenBalena Kubernetes Helm repository

I tried first one, but had some certificate issues on “balena login” command. I guess I may have made a mistake on cert-manager step. I also realized it uses v0.209.2 for open-balena-api which makes it unusable for the latest balena-cli.

I attempted second one since its open-balena-api seems more recent and also have some extras like admin-ui and delta support, but I guess it tries to install on “docker-desktop”. Was this context purposely hard-coded to show it should not be installed on cloud environment? Also it seems the repo setup for open-balena@f7207fb which is two years old.

The third one I guess is a separated repo, that a merging expected from the user.

I’m very appreciated for your efforts for making these charts. @bversluijs @drcnyc

I’d be grateful if you could direct me, or propose some blog post or descriptions if there’s already.

@ahmet I can speak to the second one in your list. You can ignore the version of the open-balena repo that it is linked to, because that repo is only used to generate some configuration variables such as certificates and passwords used in the initial setup. I don’t actually use that repo to set up my own secrets as we use vault to handle all of that. But since I assumed most people do not use a tool like vault, I simply linked in the open-balena repo to help generate those values. The actual version numbers used for the various open-balena components can be found in values.yaml and are much more recent.

And regarding the docker-desktop comment, that context is just used for the sample shell script, which is meant as a guide and not actually intended to be used in a production environment, You should create your own deployment scripts to suit your own environment, which would specify other things like persistent volumes, storage classes etc.

@drcnyc Thank you very much for the explanation. I will try to modify script and deploy.

(Btw, there was also a reply explaining DOKS deployment, but it’s gone, I don’t know why)

@drcnyc I’ve finally managed to make it work on DigitalOcean Kubernetes.

But balena devices supported command gives an empty list. Why it might be? (btw, on admin interface I can see all the device types)

Hi @ahmet
balena devices supported does not work in any of the openbalena version
Check this url - open-balena/src/balena-tests/balena.sh at master · balena-io/open-balena · GitHub

if you are using dcaputo-harmoni/open-balena-helm then you will face issue with listing devices types.
Which means whenever you do a balena device configure you will notice device type not found issue.
To solve that you can do the step mentioned on Optional: sync device-type information on this link - Supported devices in Open Balena - #17 by markdegroot

Finally you will see some issue on OpenVPN container.
You will notice that openvpn does not run.
This is something I am not able to figure it out yet.
I think its related to balenaRootCA.pem not generated.

@rohitsharmar2p the dcaputo-harmoni/open-balena-helm helm charts actually do support syncing private device types, just set the following values:

api:
  contractsPrivateRepoOwner:
  contractsPrivateRepoName:
  contractsPrivateRepoBranch:
  contractsPrivateRepoToken:

I just checked the command balena devices supported and all of our custom device types are showing up there. As for stock device types, those should get automatically sync’d with any openbalena instance, including these helm charts.

1 Like