-
Notifications
You must be signed in to change notification settings - Fork 6.6k
feat(hydrator): syncSource as a different repository (#22719) #25464
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
base: master
Are you sure you want to change the base?
Conversation
🔴 Preview Environment stopped on BunnyshellSee: Environment Details | Pipeline Logs Available commands (reply to this comment):
|
crenshaw-dev
left a comment
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 for the PR! Added one top-level question.
|
@crenshaw-dev did you maybe forgot to send the question? because I can't find it for now.. Regarding the E2E tests, I’m still not sure why they’re failing in this way. The only regression I’ve noticed so far during testing is that when hydrating to another repository, the commit hash added to the commit message is no longer rendered as a link. |
|
Oops! Added. afk now but I'll address your other points ASAP. 🙂 |
…rgoproj#22719) Signed-off-by: Elias Rami <[email protected]>
Signed-off-by: Elias Rami <[email protected]>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #25464 +/- ##
==========================================
+ Coverage 62.49% 62.58% +0.08%
==========================================
Files 351 351
Lines 49602 49692 +90
==========================================
+ Hits 31001 31101 +100
+ Misses 15631 15623 -8
+ Partials 2970 2968 -2 ☔ View full report in Codecov by Sentry. |
Signed-off-by: Elias Rami <[email protected]>
e2852d5 to
b362b76
Compare
…and reverted to orig protobuff order and used struct as map key (#3) Signed-off-by: Elias Rami <[email protected]>
Signed-off-by: Elias Rami <[email protected]>
Signed-off-by: Elias Rami <[email protected]>
| if repoURL == "" { | ||
| repoURL = s.DrySource.RepoURL | ||
| if path == "" { | ||
| path = s.DrySource.Path |
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.
I don't think we should fall back to the dry source path if it isn't specified on the sync source. The DRY branch is likely to have a significantly different directory structure (e.g. Kustomize overlays). syncSource.path is basically a required field.

feat(hydrator): support different repository for syncSource
Summary
This PR extends the Source Hydrator feature to support hydrating manifests to different Git repositories, not just different branches within the same repository. This enables users to maintain clean separation between their DRY source repositories and dedicated GitOps repositories for rendered manifests.
Changes
Core Functionality
repoURLfield toSyncSource: Allows specifying a different repository for syncing hydrated manifests. If not set, defaults toDrySource.RepoURL.Implementation Details
GetSyncSource()method: Now respects theSyncSource.RepoURLfield instead of always usingDrySource.RepoURL.DestinationRepoURLfield toHydrationQueueKeyto ensure proper deduplication when multiple applications hydrate to different repositories.Documentation
docs/user-guide/source-hydrator.md:syncSourcewith different repositoriesAPI & Schema Changes
repoURLandpathfields toSyncSourcein both Application and ApplicationSet CRDsUI & CLI
Testing
Use Cases
This feature enables several important use cases:
Example Configuration
Breaking Changes
None. All new fields are optional and maintain backward compatibility with existing configurations.
Migration
No migration required. Existing applications will continue to work as before, with
SyncSourcedefaulting to theDrySourcerepository URL when not explicitly specified.Closes [ISSUE #22719]
Checklist: