-
Notifications
You must be signed in to change notification settings - Fork 40k
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
CABundle should not be required in Webhook ClientConfig #69590
Comments
/kind enhancement cc: @deads2k |
Using system certs when the CA is empty seems fine. Semi-related, I do not want to support an insecure option. No CA cannot mean insecure, it must mean system certs. |
Agree on both counts. If you leave it empty today (which is allowable), I think that is the current behavior (use system certs) |
So, is the fix just to relax the constraint in the types.go? |
Check for an existing test that confirms that it defaults safely (not insecure). If one exists, link it in. If one doesn't, I'd like to see such a test. Otherwise, yeah. |
Any chance this would land in 1.13? |
I don't see why not. The change is trivial, just needs a testcase added. |
opened #70138 to fix the optional indicator and added a test to make sure the transport created from that config uses default rootca bundle and is not made insecure |
I had the same error, but it was related with the management of the helm dependencies My cluster version is 1.12.7, but the error in my case was by the following: I was trying attach cert-manager as a helm dependency in my requirements.yaml helm chart file and when I do that, I execute Then a
And my problem with the |
An empty caBundle will use the root CA on the Node - which (as you see!)
will fail to validate cluster issued certs.
You need to provide the base64 cluster CA cert as the value to caBundle.
…On Wed, Aug 21, 2019 at 10:57 AM Guillaume Gelin ***@***.***> wrote:
Do I understand correctly that an empty caBundle value should be
equivalent to a caBundle that contains $(kubectl config view --raw
--minify --flatten -o
jsonpath='{.clusters[].cluster.certificate-authority-data}') (as used here
<https://github.com/morvencao/kube-mutating-webhook-tutorial/blob/master/deployment/webhook-patch-ca-bundle.sh>
)?
If so, how to explain that I end up with errors like x509: certificate
signed by unknown authority without caBundle, whereas it works correctly
when specified?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#69590?email_source=notifications&email_token=AAAEQ4GKHB77KS4R7IQVS6TQFV6W3A5CNFSM4F2QBI7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD42SPQA#issuecomment-523577280>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAAEQ4BSOYDZNY2DLUZMCDDQFV6W3ANCNFSM4F2QBI7A>
.
|
Rancher users seem to use Let's Encrypt to expose their kube-apiserver. This means that their kubeconfig file has no client-ca. Any custom controller that uses self-hosted EAS to implement admission webhooks has no place to look for CABundle.
But CABundle is a required field for Webhook ClientConfig . https://github.com/kubernetes/api/blob/e3c5c37695fbce2b0b46845e3bb4806c4b8faf47/admissionregistration/v1beta1/types.go#L290
We use the self-hosted webhook pattern shown in https://github.com/openshift/kubernetes-namespace-reservation with our tools . This makes installing such tools in Rancher cluster very cumbersome.
CABundle
should be an optional field to indicate that webhook server might be using a trusted certificate.xref: https://github.com/kubedb/project/issues/309
The text was updated successfully, but these errors were encountered: