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.
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
Discovers helm releases
Follows existing include/exclude rules
Detects helm repo source
Checks to see if there are new helm updates
Upgrades helm releases using the same value set from the last revision
Accepts semver rules such as only take minor, patch, updates.
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