-
Notifications
You must be signed in to change notification settings - Fork 278
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add update strategy to restart deployment if digest for same tag has changed #174
Comments
I'd discourage this solution, due to the docker behavior: if the image tag is present in the host, it won't ask to the server if there is any change. The result of this is some hosts using an image and others using other, despite both are using "latest". In addition, if you change the "latest" tag by "latest" in the pod, it won't redeploy it despite having The only best solution is, as you said, using permanent tags. |
Yes, I'm aware that this situation is less-than-ideal. I would use another update strategy if I could but I am specifically using third-party container images to avoid burdening myself with maintaining my own images for third-party software when there are other people maintaining it, and being able to automate image updates is another logical step in that direction. Would it be possible for ArgoCD to perform a rollout restart on the active pods since the manifest won't change? |
Actually, |
After some research, I guess we could introduce a new updater strategy for this purpose, something along:
Which would be a mix of strategy
I think this would be possible to achieve. |
That is exactly what I had in mind, it would be very useful to me and others I'm sure. |
I came up with #176, which can be configured slightly different than what I proposed above. The tag to be inspected will be configured in the image list as constraint, instead of a parameter to the update strategy:
The new strategy will be part of the v0.10.0 release, but I can't tell right now when we'll release it. But feel free to give it a spin from the |
Thanks for the quick implementation, I test it and it works great! Looking forward to the next release, I am using the development build for the moment. |
Hi i am using argocd image updater to update my image automatically. I am facing some issue during implementation i have two images name nitish9282/apache:alpine and nitish9282/apache:master. My annotations are mentioned below
when image updater run it update both the images to latest sha value but i need two different values like nitish9282/apache:@<sha_of_alpine_tag> and nitish9282/apache:@<sha_of_master_tag> |
Is your feature request related to a problem? Please describe.
I would like to use argocd-image-updater to update some container images I have pinned to the
latest
tag (specifically linuxserver.io container images) because some image have "specific" tags are very long and nonsensical e.g.linuxserver/qbittorrent:version-14.3.4.99202103270406-7346-81a7b0c03ubuntu20.04.1
. I realize this locking an image tag tolatest
isn't usually a good idea but it's necessary in this case. I can't use the "latest" update strategy because the latest images are pre-release builds I don't want to use.I initially thought I could do something like:
But then I quickly realized that that will only check that the deployment is locked to
linuxserver/qbittorrent:latest
but doesn't check the digest to see if that tag has been updated upstream at the registry since they are mutable.Describe the solution you'd like
I'd like to see a new strategy added that just watches a single tag for digest updates and then restarts the relevant deployment (given that it is using
ImagePullPolicy: Always
) so that it pulls an updated image.The text was updated successfully, but these errors were encountered: