zigbee2mqtt icon indicating copy to clipboard operation
zigbee2mqtt copied to clipboard

[Feature request]: Helm chart

Open jlpedrosa opened this issue 1 year ago • 6 comments

Is your feature request related to a problem? Please describe

Not a problem.

Describe the solution you'd like

Provide a helm chart that enables deploying zigbee2mqtt in kubernetes clusters via helm releases.

Describe alternatives you've considered

The non-official charts available around, seem not very well maintained and/or updated frequently.

Additional context

I am happy to contribute to the project and provide the helm charts for it. Tipically maintaining the images updated is relatively simple as long as we can enable renovate/dependabot on the repository.

jlpedrosa avatar Mar 16 '24 13:03 jlpedrosa

I am happy to contribute to the project and provide the helm charts for it. Tipically maintaining the images updated is relatively simple as long as we can enable renovate/dependabot on the repository.

I'm fine with this, please make a pull request

The non-official charts available around, seem not very well maintained and/or updated frequently.

What maintenance is needed?

Koenkk avatar Mar 17 '24 09:03 Koenkk

What maintenance is needed?

It's not a lot, but also it's not 0. Some examples of maintenance:

  • A new parameter is added to the configuration.yaml, probably it should be added to the Helm chart too (depends how we encode them)
  • A new release of zigbee2mqtt is created (so a new docker image tag is released), we should update the default image in the chart (this typically can be done with renovate/dependabot).
  • Kubernetes deprecates an API (Service, Deployment, ConfigMap) we would have to update the chart, based on the objects required for this object, this changes will be extremely infrequent as the API is far away from alpha/beta.

jlpedrosa avatar Mar 17 '24 11:03 jlpedrosa

A new release of zigbee2mqtt is created (so a new docker image tag is released), we should update the default image in the chart (this typically can be done with renovate/dependabot).

This can be done in https://github.com/Koenkk/zigbee2mqtt/blob/master/.github/workflows/ci.yml

For the other points, I don't see how to automate them (that's fine)

Koenkk avatar Mar 17 '24 14:03 Koenkk

I'm currently playing with the chart, I'm getting out of the configuration.yaml as much as I can to other files. Kubernetes does not allow to modify the ConfigMaps from the container/pod. This means that the features that are managed through the UI but are not in a separate file, will fail to get updated.

I could potentially dump the config into a volume with an init container, but that means that the config could not be managed via helm. Tradeoffs.

jlpedrosa avatar Mar 17 '24 17:03 jlpedrosa

@Koenkk let's keep this open until we have tested it e2e and the documentation is merged? BTW, if you feel the release process gets complicated feel free to ping me. There's also another chart that I did for other open-source project in a "detached repo" https://github.com/unpoller/helm-chart/pull/1

jlpedrosa avatar May 06 '24 18:05 jlpedrosa

Maybe is worth to just cross reference the new helm chart repo https://github.com/Koenkk/zigbee2mqtt-chart/pull/1

pmarques avatar May 18 '24 07:05 pmarques

@pmarques Thanks! I was just looking where the helm chart suddenly went. :)

vsigler avatar Jun 01 '24 14:06 vsigler