Argo CD Image Updater: Automate Image Updates
An Image Updater automates deployments by watching for new container image versions and telling Argo CD to update your app. It's used to automatically roll out new builds, but misconfiguring update strategies can accidentally deploy unstable tags to…
Why it exists
Manual image tag updates are slow, error-prone, and break the continuous deployment flow. A GitOps approach keeps configuration in Git, but something still needs to tell Git about new image versions. Image updaters bridge this gap between the container registry, where new artifacts live, and the Git repository, the source of truth for deployment.
The mental model
Think of an image updater as a robot assistant for your Argo CD setup. You tell the robot: "Watch this 'my-app' image in our registry. If you see a new version that matches the '1.x.x' pattern, update the application's parameters to use the new tag." It automates the tedious and error-prone step of manually bumping version numbers.
How it works
The Argo CD Image Updater runs as a controller in your cluster. You create an ImageUpdater custom resource (CR) in the same namespace as the Argo CD applications you want to manage. In this CR, you specify which images to track and what update strategy to use. The controller periodically queries the container registry for new tags. When it finds a new tag that satisfies the strategy, like a higher semantic version, it updates the corresponding Argo CD Application resource's parameters. Depending on the app's sync policy, Argo CD then either deploys the change automatically or marks the app as OutOfSync for manual approval.
When to use it
Use an image updater when you want to implement true Continuous Deployment, automatically promoting images from a registry to a live environment. It's ideal for environments where you trust your CI pipeline to produce stable, versioned artifacts. It is also useful for automatically keeping development or staging environments up-to-date with the latest builds.
When not to use it
Avoid using an automatic image updater for critical production systems if you don't have robust automated testing and a semver strategy in place. Updating based on mutable tags like 'latest' is risky, as you can't guarantee what code is running. If your release process requires manual sign-offs or follows a specific schedule, a fully automated updater might be too aggressive.
One canonical example
A team wants to automatically deploy new patch releases of their backend-service to staging. They create an ImageUpdater CR that targets their staging-backend Argo CD application. They configure it to watch the 'ghcr.io/my-org/backend-service' image with the 'semver' strategy and a constraint of '~1.2.0'. When CI builds and pushes 'v1.2.5', the updater sees it, verifies it matches the constraint, and updates the Argo CD application's Helm parameter 'image.tag' from '1.2.4' to '1.2.5'. Argo CD then syncs and deploys the new version.
Interview question
What is the immediate effect of the Argo CD Image Updater identifying a new, valid image tag?
- a.It sends a notification to the CI pipeline to rebuild the application with the new tag.
- b.It modifies the parameters of the relevant Argo CD Application resource.Correct
- c.It directly commits the new image tag to the application's Git repository.
- d.It triggers Argo CD to immediately deploy the new image to the cluster.
Why? this is the answer
The card states the Image Updater "updates the corresponding Argo CD Application resource's parameters." This modification then prompts Argo CD to act according to its sync policy. The Image Updater does not directly commit to Git, nor does it directly trigger deployment; it updates the resource that Argo CD monitors.
Just read this? Test yourself on what you have been reading.
Read the original → argocd-image-updater.readthedocs.io
- #gitops
- #argo cd
- #ci/cd
- #kubernetes
Put your scrolling time to good use
Learn one idea, try a quiz and save useful cards for revision. Tezvyn makes it easy to learn and stay current in your tech field, a few minutes at a time.
The iPhone app is on the way
We are building it. Until it lands, nothing here is held back from you: every interview card, your saved cards, streaks and the job board all work in Safari, plus hundreds of free practice quizzes of thirty questions each. Sign in and it all carries over to the app the day it arrives.
Want it as an icon? Tap Share at the bottom of Safari, then Add to Home Screen. It opens full screen and the cards you have read stay available offline.
We are hiring for this. Open roles that interview on gitops — each one lists the topics its interview covers.
See open roles