Releases: argoproj-labs/argocd-image-updater
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-updater
now 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 (argocd
by default). For existing installations, which are running in a dedicated namespace.To retain previous behaviour, set
applications_api: argocd
inargocd-image-updater-config
ConfigMap before updating. However, it is recommended to move your installation into theargocd
namespace (or wherever your Argo CD is installed to) -
The permissions for the
argocd-image-updater-sa
ServiceAccount have been adapted to allow read access to resources of typeSecret
andargoproj.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
latest
update-strategy,argocd-image-updater
now 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 uselatest
updated 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.conf
by settingratelimit
to 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
v0.6.1
v0.6.0
Release description
This is mainly a bug fix release. It is now possible to skip TLS certificate verification when using self-hosted container registries.
Upgrade notes (no really, you MUST read this)
N/A
Bug fixes
- fix: Use default Helm parameter names if none given in annotations
- fix: Application spec updates should be atomic
New features
- feat: Allow insecure TLS connections to registries
Other changes
- chore: Update Argo CD client to 1.7.4
- chore: Update K8s client to v1.18.8
v0.5.1
v0.5.0
Release description
This release brings mainly bug fixes and other enhancements. The most obvious changes are:
- It's now possible to follow non-semver formatted tags when using update strategy
latest
- Adds the possibility to track the same image multiple times for different targets in the same application
Upgrade notes (no really, you MUST read this)
argocd-image-updater
now comes with default RBAC rules for the service account, to enable reading of secrets from the namespace the pod is running in. It is advised to install the updated manifests.
Bug fixes
- fix: Do not constraint tags to semver if update strategy is latest
- fix: Multiple same images in the same application not possible
New features
- feat: Allow filtering applications by name patterns
Other changes
- enhancement: Slightly increase verbosity in default log level
- enhancement: Provide default RBAC rules for serviceaccount
- enhancement: Warm-up cache before starting image cycle