Repository navigation
Do multiple git generators with the same branch revision always resolve the same commit? #28267
Replies: 1 comment
|
Not guaranteed. Each Git generator fetches independently from the repo-server cache, and the cache has a TTL (default 3 minutes for polling). If a new commit is pushed between when the first generator resolves HEAD and when the second generator resolves HEAD, they can land on different commits. In practice this race is rare for typical commit frequencies, but it is a real possibility — especially in high-velocity repos or when the cache expires mid-evaluation. For the multi-source application question: same answer — each source is resolved independently, so How to get strict consistency:
The ApplicationSet controller does not hold a lock across generator evaluations, so there is no built-in mechanism to make a multi-generator evaluation atomic against concurrent pushes. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Is it guaranteed that all git generators inside a matrix/merge generator with the same revision (e.g. HEAD) will resolve the same commit? Or is it possible (however unlikely) that while the applicationset controller is processing an ApplicationSet it resolves one commit for a git generator and then a newer commit on another git generator (for example, perhaps due to the repo-server cache expiring in-between: https://argo-cd.readthedocs.io/en/latest/operator-manual/applicationset/Generators-Git/#git-polling-interval)
Example: https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Matrix/#overriding-parameters-from-one-child-generator-in-another-child-generator
Edit: Btw, what about the same branch revision on multiple sources of an application?
All reactions