Description
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.
- Waits on the rollout, on failure rollback.
Activity