Release description
The major new feature for this release is the introduction of update strategies:
- The strategy
latest
will evaluate the creation date and chose the latest created tag matching the version constraint for update - The strategy
name
will pick the last found tag according to alphabet sorting - The strategy
semver
(the default) will pick the latest allowed version according to version constraint
Also, this release introduces a simple in-memory cache for tag meta data and the code has seen some refactoring. Please see below for breaking changes and a complete list of things that have been done.
Upgrade notes (no really, you MUST read this)
- Syntax change for running:
argocd-image-updater run [flags]
instead ofargocd-image-updater [flags]
has now to be used - Attention: Helm annotation names have changed from
<image_alias>.image-{name,tag,spec}
to<image_alias>.helm.image-{name,tag,spec}
- Specifying target image name for Kustomize applications now require their own annotation, the image alias is not re-used for this anymore
Bug fixes
- fix: Possible race while waiting for app updating goroutines
New features
- feat: Allow setting the upgrade strategy for images via annotation
Other changes
- refactor: Change run behaviour by providing
run
andversion
commands - enhancement: Provide a
version
command to print out version information - enhancement: Allow storing metadata for image tags
- enhancement: Fetch tag metadata along with tags and store creation timestamp
- enhancement: Introduce simple cache for immutable metadata
- refactor: Make version constraints parametrizable
- enhancement: Allow sorting of tags by semver, date or name
- refactor: Give annotation names their own namespace-like living room
- enhancement: Kustomize target image name got its own annotation