-
Notifications
You must be signed in to change notification settings - Fork 33
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
Handle certificate rotation #7
Comments
Worth a look, something we could leverage: https://github.com/open-policy-agent/cert-controller |
I always wonder why every project (like kucero for CaaSP) has to re-implement certificate handling. This should be built into Kubernetes. |
We decided not to leverage https://github.com/open-policy-agent/cert-controller since it does not support zero-downtime CA rotation. |
Closing, all the mandatory tasks have been done. |
Description
Our controller uses two different CA roots:
cert-manager
, which generates the CRD webhook leaf certificatePolicyServerController
reconciliation loop the first time a policy server is created, which is used to generate the policy servers' TLS certificate.There are a few problems with this approach:
cert-manager
, see: Feature Request: make cert-manager optional #422cert-manager
and our implementation on the PolicyServer side do not rotate the CA root (see Allow CA issuer secret rotation cert-manager/cert-manager#2478)Solution
We need to implement our certificate rotation logic inside the controller.
Specifically, we need to:
CertController
that periodically checks if the certificates are expired and regenerates them using a lookahead interval. If a TLS certificate is expired we can re-generate it, and it will be picked up by the servers eventually. If the CA root is expired we need to regenerate all the leaf certificates and implement the logic needed to prevent downtime during this phase.Tasks
1.17
rancher/kubewarden-ui#839The text was updated successfully, but these errors were encountered: