- Notifications
You must be signed in to change notification settings - Fork1.4k
cert-manager support#12188
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
cert-manager support#12188
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Signed-off-by: Katherine Stanley <11195226+katheris@users.noreply.github.com>
Signed-off-by: Katherine Stanley <11195226+katheris@users.noreply.github.com>
Signed-off-by: Katherine Stanley <11195226+katheris@users.noreply.github.com>
Signed-off-by: Katherine Stanley <11195226+katheris@users.noreply.github.com>
Signed-off-by: Kate Stanley <11195226+katheris@users.noreply.github.com>
katheris commentedDec 1, 2025
@ppatierno@scholzj I'm not ready to open a final PR yet, but would be interested in some initial feedback on how I'm integrating cert-manager. At the moment we have a lot of if/else checks for Strimzi managed vs cert-manager managed. I could put in further abstractions but wanted to see if 1 you thought that was needed or could be done later, and 2 if you are happy with roughly how I've laid things out before adding the abstraction code. The things I'm still working on:
|
3167e4c to51adc9bCompareSigned-off-by: Kate Stanley <11195226+katheris@users.noreply.github.com>
51adc9b to6f41bdbComparecodecovbot commentedDec 3, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Signed-off-by: Kate Stanley <11195226+katheris@users.noreply.github.com>
c974d46 to765cbebCompareThere 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.
Is there a way to change this into the regular typed fields as we use for example for listeners etc.? Or do we need to keep this strange shape because type is not required and is not there by default?
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'm not sure, I will investigate
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'm not sure I fully follow the logic of these separate RBAC files. Does it cause errors when cert-manager is not installed? If yes, maybe we should have two full sets of files. If not, maybe it should be merged into the main installation files?
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.
My thought process was that the operator should only have access to do the things it needs. Since this is an optional feature if users don't want to use it they might prefer the operator isn't granted any permissions related to cert-manager. So it was more just allowing for tighter control over what is being granted
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 think we have other optional resources all included in the main files (e.g. Routes, OCP Build, Ingress). So I would probably stick with keep it all in one and leave it to the users to remove things should they not want them.
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.
This will likely need to be in common and not be Vert.x based as the UO will need it as well?
scholzj commentedDec 16, 2025
I haven't done an in depth review of the code. But some thoughts:
|
katheris commentedDec 17, 2025
Thanks for your review@scholzj. As you've noticed there was an oversight in my outline of what was left, which I discovered on Monday when working on the Clients CA tests, which is I haven't implemented the logic to have cert-manager issue the User certificates 🤦♀️ So that is something I'm working on now. Your suggestions around the abstraction with having a CaProvider makes sense and were along the lines I was thinking, I have been wondering about even having that abstraction added as a separate PR upfront, similar to how I've already raised PRs to refactor the CaReconciler and Ca classes to make the final PR easier to review. One area I wanted to check your thoughts on was the reconcile loop. In all the reconcilers I am currently following the approach of having something like: Are you happy with this approach? The alternative which I had originally was to add the reconciling of the cert-manager Certificate resources within the |
scholzj commentedDec 17, 2025
I'm happy for more PRs if that is simple to do for you. I guess the question is how well can you actually define theinterface while the cert manager work is still in progress. Sometimes it's simple, sometimes it's not. So I'm happy to leave it up to you and your judgment.
Honestly, this is not one of the things I noticed while going through it. I think this is a bit strange way to do it as it does not encapsulate the logic and leaves it spread across the reconcilers. So when I look at the reconciled, I would definitely say that it should be all in one call, which does different things depending on how the certs are managed. Ideally, I would expect that for example the KafkaReconciler does not need to know what is used for certifciate management. That said, we spent a lot of time to make the CA classes as independent on any Kube details as possible. So, how would that work? If I follow up on the diagram I shared above, maybe the CA classes should be independent on Kubernetes, but the provider should have the Kubernetes logic? E.g. be in a way Not an easy question ... 🤔 |
Type of change
Select the type of your PR
Description
Add support for cert-manager issued certificates
Checklist
Please go through this checklist and make sure all applicable tasks have been done