bryopsida / patchwork

Inspects the images in use in a kubernetes cluster and checks if updates are available on that tag. Automatically fetches and does rollouts when it detects updates.
https://bryopsida.github.io/patchwork/
MIT License
0 stars 0 forks source link

Add auto updating of helm releases #61

Open bryopsida opened 1 year ago

bryopsida commented 1 year ago

As a maintainer I want something that will automatically update existing helm releases in cluster that is as close to zeroconf as possible. This can be accomplished by interfacing with the cluster in the following ways. Create on demand worker with helm binary installed that the main container can queue bull jobs to. This worker will use the helm binary to detect active helm releases and queue update checks.

This will assume secrets are the state storage backend for the helm releases. If needed support for other stores could be added but as this is the default behavior lets use this to start with and worry about other backends if the need ever arises.

Information that cannot be extracted using helm binary can be fetched via the latest release/revision secret. To test this local see.

k get secret sh.helm.release.v1.<release-name>.<rev num> -o yaml | yq .data.release | base64 -d | base64 -d | gzip -d | jq . | less

AC

bryopsida commented 1 year ago

May opt for detecting well known open charts from manifest source repo and defer on detecting private repos/registries.

bryopsida commented 1 year ago

Should wait on upstream helm PR that is adding the chart repo url to release state.