Open tvs opened 6 years ago
We have created an issue in Pivotal Tracker to manage this:
https://www.pivotaltracker.com/story/show/158703657
The labels on this github issue will be updated when the story is started.
We believe to be impacted by this when going through this tutorial: https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster/
Is there a way to work around this in order to complete the tutorial linked above? After approving the request we are not seeing the certificate entering the status of issued.
Is this a BUG REPORT or FEATURE REQUEST?: /kind bug
What happened: Certificate Authorities, client certs, and server certificates generated as part of the default manifest are not (all) configured with usages.
With
kubo_ca
, we do not set thekey_usage
, which results in a CA that doesn't have a usage set forkeyCertSign
orcRLSign
:While the RFC doesn't explicitly disallow this, it makes little sense to have a CA that doesn't have at least
keyCertSign
.For server certs, we have
tls-kubelet
, where we do not setextended_key_usage
to make it clear that this cert is intended as the server cert forkubelet
's API server (e.g.serverAuth
):The same goes for Docker, Heapster, Dashboard, and so on.
What you expected to happen: Certs should have both their
key_usage
andextended_key_usage
configured and consistent with one another. It's worth consulting both RFC 5280 and the Credhub API.How to reproduce it (as minimally and precisely as possible): Deploy CFCR using
manifests/cfcr.yml
, check the creds either by pulling them from Credhub, looking at them on the VM, or by using something likeopenssl s_client
against the API servers.Anything else we need to know?: Cert names in the manifest are confusing.
tls-kubelet-client
is not a client cert for thekubelet
, but rather a cert thatkube-apiserver
presents when communicating with thekubelet
. It's probably worth revisiting the variable names, but the fact that they're also missing their usages only makes it more confusing.