-
Notifications
You must be signed in to change notification settings - Fork 272
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
feat: Support app-wide update-strategy annotations #338
feat: Support app-wide update-strategy annotations #338
Conversation
Hi @janpieper - will you have time to finish this PR? I'm asking because I really would like to include this feature with v0.12.0, which is most likely going to be released early February. |
Will try to get this done by the end of the week 😉 Don't know whether I find some time before the weekend, but let's see 😉 |
13e0614
to
1b95356
Compare
1b95356
to
7a5a57f
Compare
@jannfis I think (hope?) the changes should be complete for the proposed new feature, so I mark this PR ready for review 😉 I did not include all your changes from your closed PR, to not blow up this PR with "unrelated" changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for this contribution, @janpieper! Much appreciated.
Change LGTM.
* feat: support app-wide update-strategy annotations * refactor: rename constants for pull-secret annotations
Problem
Currently, you're forced to specify e.g the update strategy per image, although it might be the same for all:
Proposal
This PR adds four new annotations to allow you to specify update-strategy related options for all images in a ArgoCD application.
argocd-image-updater.argoproj.io/allow-tags
argocd-image-updater.argoproj.io/ignore-tags
argocd-image-updater.argoproj.io/force-update
argocd-image-updater.argoproj.io/update-strategy
argocd-image-updater.argoproj.io/pull-secret
(Note: I am using the update-strategy annotations for all of my following examples, but the handling is the same of all of them)
With these new annotations you can use only one annotations to specify it for all of them:
You can still override the app-wide configuration by adding the image-based annotation:
Order
When configuring these annotations, that's the order of how the options get evaluated:
argocd-image-updater.argoproj.io/<alias>.<option>
argocd-image-updater.argoproj.io/update-strategy
Additional changes
SecretListAnnotation
toPullSecretAnnotation
ApplicationWideSecretListAnnotation
toApplicationWidePullSecretAnnotation