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
Update controller-runtime to 0.18.1 #13346
Conversation
Skipping CI for Draft Pull Request. |
/test pre-kubermatic-test |
/test all |
79ff6a1
to
545fac2
Compare
/test all |
/test pre-kubermatic-mla-e2e |
/test pre-kubermatic-mla-e2e |
1adf3ce
to
fa28b72
Compare
/test all |
/override pre-kubermatic-test-integration |
@xrstf: Overrode contexts on behalf of xrstf: pre-kubermatic-test-integration In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/override pre-kubermatic-test-integration |
@xrstf: Overrode contexts on behalf of xrstf: pre-kubermatic-test-integration In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
LGTM label has been added. Git tree hash: e2373d664acd2329b26232de2403812384a454da
|
@kron4eg rebased 😁 |
/lgtm |
LGTM label has been added. Git tree hash: bc931a4606d195fd69097211a549dccc7ea947ef
|
/approve |
1 similar comment
/approve |
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.
/approve
What this PR does / why we need it:
This updates KKP to the new controller-runtime version. There is one major change that affected us: the generics support in the controller. Manually setting up Watch() calls means you have to use typed generic stuff, which is really verbose and a lot of boilerplate. I tried it with 3 controlllers and then quickly gave up. The code became unreadable.
It's much smarter to finally migrate everything to the controller builder, an abstraction we never used because back when KKP was written, the builder didn't support what we needed and then every time we created a new controller, we simply copy&pasted an existing one.
So this PR refactors every single controller in KKP to use the controller builder, which is a really nice interface and works perfectly for every controller in KKP.
What type of PR is this?
/kind chore
Does this PR introduce a user-facing change? Then add your Release Note here:
Documentation: