Releases: argoproj-labs/argocd-image-updater
v0.10.0
Release description
The version v0.10.0 brings a couple of new and exciting features as well as bug fixes to Argo CD Image Updater.
Major new features:
-
New
digestupdate strategy: This update strategy lets you track the most recent pushed version a single tag, e.g.latest. Image Updater will compare the SHA256 sum of the currently running image to the SHA256 sum of the image in the registry, and update if appropriate. -
Modify
kustomization.yamldirectly: In addition to persisting the changes in the parameter overrides, Argo CD Image Updater can now modify akustomization.yamldirectly in order to update the image. -
Custom Git commit messages: Users can now specify a custom Git commit message using Go string templates.
-
Start with empty image: Argo CD Image Updater is now able to update applications that have no initial image tag specified.
The Argo Project would like to thank the following people for their awesome contributions that made this release possible:
Upgrade notes (no really, you MUST read this)
No special instructions this time.
Bug fixes
- fix: Prevent update loop with git write-back (#171)
- fix: Multiple tags on the same image return same order (#173)
- fix: Prevent concurrent updates to git repositories (#177)
- fix: Prevent nil pointer deref on emtpy tag with running image (#182)
- fix: Correctly consider image with force-update set and semver strategy (#192)
- fix: Images not updated if registry or repository is different with same version (#194)
- fix: Correctly marshal non-updated images (#203)
- fix: git client branch function (#213)
- fix: Fix a possible race condition in metadata retrieval (#215)
- fix: Don't return original tag if no tag was considered (#219)
New features
- feat: #164 Send events on image change (#167)
- feat: Introduce update strategy 'digest' (#176)
- feat: allow image updates to be forced if container not present #181 (#189)
- feat: Allow setting custom Git commit messages (#193)
- feat: allow write-back to actual kustomization files (#200)
- feat(manifests): add ssh volume mounts and volume (#212)
Other changes
- chore: Add openssh-client to container image (#165)
- docs: fix document (#201)
- docs: Update strategy docs (#178)
- docs: Update documentation regarding Git write-back (#166)
- docs: Grammatical fix in start.md (#225)
- chore: Upgrade Go to v1.16.5 (#229)
- chore: Upgrade Argo CD dependencies to v2.0.5 (#230)
- chore: Fix readthedocs builds (#231)
- docs: Mention support channels and some fixes (#232)
v0.9.5
v0.9.4
v0.9.3
v0.9.2
Release description
Bug fix release for the 0.9 release branch, which fixes a few bugs related to Git write-back and the latest update strategy.
Thanks to @magmax and @eplightning for reporting these issues and also for providing the related fixes.
Upgrade notes (no really, you MUST read this)
N/A
Bug fixes
- fix: Prevent concurrent updates to git repositories (#177)
- fix: Multiple tags on the same image return same order (#173)
New features
N/A
Other changes
N/A
v0.9.1
v0.9.0
Release description
We're happy to announce that starting with release v0.9.0, support for persisting changes to Git was added. Please be aware that using the Git write back feature will require Argo CD v2.0 and upwards.
Also, we are working towards a more "zero-conf" approach. For this, we have introduced a new way for interacting with Argo CD using the Kubernetes API. This removes the previous requirement of having to change your Argo CD configuration (e.g. creating a user, RBAC rules, etc) and we hope will make integration much easier for our users. This also has become the default. In order to use the Argo CD API, the --applications-api parameter must be explicitly set to argocd.
Upgrade from v0.8.0 is attached with a couple of required actions, please see below.
Upgrade notes (no really, you MUST read this)
-
Attention: By default,
argocd-image-updaternow uses the K8s API to retrieve applications, instead of the Argo CD API. Also, it is now recommended to install in the same namespace as Argo CD is running in (argocdby default). For existing installations, which are running in a dedicated namespace.To retain previous behaviour, set
applications_api: argocdinargocd-image-updater-configConfigMap before updating. However, it is recommended to move your installation into theargocdnamespace (or wherever your Argo CD is installed to) -
The permissions for the
argocd-image-updater-saServiceAccount have been adapted to allow read access to resources of typeSecretandargoproj.io/Application
Bug fixes
- fix: install missing git binary (#148)
- fix: run 'git add' for create files before pushing back (#143)
New features
- feat: support managing Application CRD using K8S client (#144)
- feat: Allow reuse of Argo CD repo credentials
- feat: Git write-back of parameters (#133)
Other changes
- refactor: make argocd-image-updater-config volume mapping optional (#145)
v0.8.0
Release description
This release mainly improves compatibility with different registries and introduces support for rate limiting requests to the registry APIs. Also, Argo CD Image Updater will now fetch metadata for tags in parallel, instead of doing it sequentially, which greatly improves performance.
A new method for fetching credentials has been added, ext, which allows to execute a script that generates the credentials. Also, credentials configured at the registry level can be set to expire now, to support generated tokens with a limited lifetime.
A new command has been added to argocd-image-updater CLI, namely the test command. This new command allows you to check how Argo CD Image Updater would behave with a certain set of configuration, without having to annotate any live resources in your clusters. For more information on how to use it, see the documentation. It's not feature complete yet, and more features will be added in the future.
Upgrade notes (no really, you MUST read this)
-
Attention: For the
latestupdate-strategy,argocd-image-updaternow fetches v2 manifests by default, instead of the v1 manifests in previous versions. This is to improve compatibility with registry APIs, but may result in a significant higher number of manifest pulls. Due to the recent pull limits imposed by Docker Hub, it is not recommended to uselatestupdated strategy with Docker Hub registry anymore if those pull limits are enforced on your account and/or images, especially if you have more than a couple of tags in your image's repository. Fetching meta data for any given tag counts as two pulls from the view point of Docker Hub. -
The default rate limit for API requests is 20 requests per second per registry. If this is too much for your registry, please lower this value in the
registries.confby settingratelimitto a lower value.
Bug fixes
- fix: Correctly apply ignore list when matchfunc is not set (#116)
- fix: Prevent nil pointer dereference in image creds (#126)
New features
- feat: Get tag creation date also from v2 manifest schemas (#115)
- feat: add argocd-image-updater test command (#117)
- feat: Implement rate limiter and metadata parallelism (#118)
- feat: Support for getting pull creds from external scripts (#121)
- feat: Export Prometheus compatible metrics (#123)
- feat: Support for expiring credentials (#124)
Other changes
- chore: Update to Golang v1.14.13
v0.7.0
Release description
This release adds out-of-the-box support for the new GitHub Container Registry ghcr.io and lets users ignore certain tags from a repository.
Also, it adds some usability features & fixes.
Upgrade notes (no really, you MUST read this)
Deprecation notice: The annotation argocd-image-updater.argoproj/<image>.tag-match has been deprecated in favour of argocd-image-updater.argoproj/<image>.allow-tags to be consistent with the new argocd-image-updater.argoproj/<image>.ignore-tags annotation. The old annotation will still work, but a warning message will be issued in the log. Users are encouraged to rename their annotations asap, as the tag-match annotation is subject to removal in a future version of the image updater.
Bug fixes
- fix: Correctly parse & use pull secret entries without protocol (#99)
New features
- feat: Support for GitHub Container Registry (ghcr.io)
- feat: Allow setting log level from configmap (and environment)
- feat: Allow ignoring set of tags
Other changes
- refactor: Introduce allow-tags and deprecate tag-match annotation
- chore: Externalize version & build information
v0.6.2
Release description
Bug fix release for the 0.6 release branch, which fixes several problems accessing custom registries
Upgrade notes (no really, you MUST read this)
N/A
Bug fixes
- fix: Tag sort mode for custom registries aren't honored
New features
- feat: Allow configuration of default namespace for registries
Other changes
N/A