-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
helm: Add support for mounting existing TLS secrets with optional root CA #11295
Conversation
ce14688
to
ab71919
Compare
ab71919
to
569eca5
Compare
b4d4973
to
6ef7027
Compare
Ran into some issues when deploying/testing this out this evening, part of which may or may not just be something missing on my end. Specifically - It seems the image
To get past this I overrode the value using
For reference, here's the values I deployed that with:
And here's the origin certificate I created in my personal Cloudflare tenant. This may just be a quirk of Cloudflare's Origin Certificates, but I'm still kind of digging into it to be sure. That or maybe I do need to set those env vars? |
@mattmelgard Thanks for testing. I'm unsure exactly what Cloudflare's origin certificates look like, but my guess is that their chain of trust is I'm going to do a little testing with this myself to confirm and maybe update the instructions. I have a feeling that the cert parser which backs Teleport's
|
@mattmelgard Looks like it works if you download Cloudflare's origin root CA (as per these instructions: https://developers.cloudflare.com/ssl/origin-configuration/origin-ca/#4-required-for-some-add-cloudflare-origin-ca-root-certificates - get the one named "Cloudflare Origin RSA PEM") and add it as a CA secret: wget https://developers.cloudflare.com/ssl/static/origin_ca_rsa_root.pem
kubectl create secret generic cloudflare-origin-cert-root-ca --from-file=ca.pem=origin_ca_rsa_root.pem Add this to your values and do a tls:
existingSecretNameCA: cloudflare-origin-cert-root-ca The issue with the |
Thanks for getting back so quickly, I appreciate the update! Seems you have it working so that's awesome. I'll validate on my end as well later tonight just to give you the extra data point, but if all goes well then this seems like a perfect solution for us. Thanks again for digging into this! |
@webvictim were you able to get that solution to work with a Cloudflare proxied DNS record? Seems the pods stand up okay, but I'm getting a 522 error when Cloudflare tries to connect to my backend load balancer for some reason. Might just be something misconfigured on my end, but the setup I have doesn't seem any different from other GCP managed endpoints that I've exposed using the Cloudflare origin certs/proxied DNS in the past. I'll try to dig in and debug a little more tomorrow though. |
@mattmelgard Afraid I haven't been that far down the rabbit hole with Cloudflare - if the pod started once the root CA was provided then that pretty much satisfies my requirement. I suspect it might be some kind of configuration issue somewhere. Do let me know how you get on, and thanks for the existing testing! |
This PR adds a
tls.existingSecretName
value to theteleport-cluster
Helm chart which makes it easier to provide a custom TLS keypair for Teleport to use when securing its web UI while still using other chart functionality.It also provides a
tls.existingSecretNameCA
value to mount a root/intermediate CA or other bundle into the pod using theSSL_CERT_FILE
environment variable so that Teleport can validate the full certificate chain itself and preventUser Message: unable to verify HTTPS certificate chain
errors in the pod logs.Docs counterpart is #11306 (separate PR due to some local workflow issues, fixed now)
Fixes #11103