This is the change log for argocd-image-updater
. Please read thoroughly
when you upgrade versions, as there might be non-obvious changes that need
handling on your side.
-
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
- fix: install missing git binary (#148)
- fix: run 'git add' for create files before pushing back (#143)
- feat: support managing Application CRD using K8S client (#144)
- feat: Allow reuse of Argo CD repo credentials
- feat: Git write-back of parameters (#133)
- refactor: make argocd-image-updater-config volume mapping optional (#145)
-
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.
- fix: Correctly apply ignore list when matchfunc is not set (#116)
- fix: Prevent nil pointer dereference in image creds (#126)
- 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)
- chore: Update to Golang v1.14.13
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.
- fix: Correctly parse & use pull secret entries without protocol
- feat: Support for GitHub Container Registry (ghcr.io)
- feat: Allow setting log level from configmap (and environment)
- feat: Allow ignoring set of tags
- refactor: Introduce allow-tags and deprecate tag-match annotation
- chore: Externalize version & build information
N/A
- fix: Tag sort mode for custom registries aren't honored
- feat: Allow configuration of default namespace for registries
N/A
N/A
- fix: Make insecure TLS connections to registries actually work
N/A
N/A
N/A
- fix: Use default Helm parameter names if none given in annotations
- fix: Application spec updates should be atomic
- feat: Allow insecure TLS connections to registries
- chore: Update Argo CD client to 1.7.4
- chore: Update K8s client to v1.18.8
N/A
- fix: Correctly parse version constraints containing equal signs
N/A
N/A
If you use the latest
or name
update strategy and relied on the semantic
version constraint to limit the list of tags to consider, you will need to
use an additional tag-match
annotation to limit the tags. The constraint
will only be used for update strategy semver
from v0.5.0 onwards.
- fix: Do not constraint tags to semver if update strategy is latest
- fix: Multiple same images in the same application not possible
- feat: Allow filtering applications by name patterns
- enhancement: Slightly increase verbosity in default log level
- enhancement: Provide default RBAC rules for serviceaccount
- enhancement: Warm-up cache before starting image cycle
N/A
- fix: Properly load registry configuration
- fix: Use a default path for registries.conf
- fix: Make installation base compatible with Kustomize v2
- feat: Allow filtering of tags using built-in filter functions
- feat: Allow specifying per-image pull secrets
- feat: Support GitHub Docker registry
- refactor: Lots of refactoring "under the hood"
- fix: Only fetch metadata when require by update strategy
- 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
- fix: Possible race while waiting for app updating goroutines
- feat: Allow setting the sort mode for tags per image via annotation
- 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
- fix: Correctly get Helm target parameter names from annotations
- fix: Enforce sane concurrency limit
- feat: Introduce dry run mode
- feat: Allow for concurrent update of multiple applications
refactor: Reduced number of necessary ArgoCD API requests (#4)
Quick bug-fix release to get rid of some left-over working names
- Changed the binary name from
argocd-image-controller
(old working name) toargocd-image-updater
.
N/A
N/A
Initial release.
N/A
N/A
N/A