-
Notifications
You must be signed in to change notification settings - Fork 31
Embed CAPI Operator reconcile inside turtles pod #1511
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
Merged
alexander-demicev
merged 8 commits into
rancher:main
from
Danil-Grigorev:embed-capio-reconcile
Jul 8, 2025
Merged
Embed CAPI Operator reconcile inside turtles pod #1511
alexander-demicev
merged 8 commits into
rancher:main
from
Danil-Grigorev:embed-capio-reconcile
Jul 8, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ef04575 to
77d2f08
Compare
Signed-off-by: Danil-Grigorev <[email protected]>
Signed-off-by: Danil-Grigorev <[email protected]>
Signed-off-by: Danil-Grigorev <[email protected]>
Signed-off-by: Danil-Grigorev <[email protected]>
4bd098e to
9e60e2e
Compare
Signed-off-by: Danil-Grigorev <[email protected]>
Signed-off-by: Danil-Grigorev <[email protected]>
alexander-demicev
previously approved these changes
Jul 7, 2025
Will continue with operator chart removal after some investigation. It works better and is simpler than a new flag
Signed-off-by: Danil-Grigorev <[email protected]>
Signed-off-by: Danil-Grigorev <[email protected]>
357bff1 to
6e71c33
Compare
alexander-demicev
approved these changes
Jul 8, 2025
anmazzotti
approved these changes
Jul 8, 2025
Contributor
anmazzotti
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.
Great work!
This was referenced Sep 8, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area/operator
kind/enhancement
Categorizes issue or PR as related to a new feature.
ok-to-test
Allow CI run on PR
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
Merges CAPI Operator reconcile implementation with turtles pod. Current implementation omits implementing
CAPIProviderdirectly as a resource for the operator to reconcile.Main reason for this is that operator holds a lot of type reflection logic, directly assigned to the existing provider types. Example, example2. This requires client wrapper to perform:
CAPIProviderto*Providerresource and back toCAPIProviderwithout losingCAPIProvidercustom fields data.CAPIProviderfields which are currently set bysynceron regular operator resources, to ensure successful reconcile. Operator in addition always performspatchrequest on the resource, setting theseephemeralfields on the resource, breaking the no-spec-changeGitOpsexpectation on the resource.The solution to this is to decouple operator phases, and draw the separation for
Coreprovider vsnon-coreprovider. This needs to be implemented upstream first, and was attempted back in March last year in kubernetes-sigs/cluster-api-operator#475. Omitting generics introduction, it separates phases into core vs non-core.Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)format, will close the issue(s) when PR gets merged):Depends on #1510
Fixes #1397, #1415, #1413
Special notes for your reviewer:
Long run: https://github.com/rancher/turtles/actions/runs/16115602289
Checklist: