Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewCertificateManager ¶
func NewCertificateManager( certDirectory string, nodeName types.NodeName, certFile string, keyFile string, clientsetFn certificate.ClientsetFunc, pairNamePrefix string, commonName string, organization []string, ) (certificate.Manager, error)
NewCertificateManager sets up a certificate manager without a client that can be used to sign new certificates (or rotate). If a CSR client is set later, it may begin rotating/renewing the client cert.
func UpdateTransport ¶
func UpdateTransport(stopCh <-chan struct{}, clientConfig *restclient.Config, clientCertificateManager certificate.Manager, exitAfter time.Duration) (func(), error)
UpdateTransport instruments a restconfig with a transport that dynamically uses certificates provided by the manager for TLS client auth.
The config must not already provide an explicit transport.
The returned function allows forcefully closing all active connections.
The returned transport periodically checks the manager to determine if the certificate has changed. If it has, the transport shuts down all existing client connections, forcing the client to re-handshake with the server and use the new certificate.
The exitAfter duration, if set, will terminate the current process if a certificate is not available from the store (because it has been deleted on disk or is corrupt) or if the certificate has expired and the server is responsive. This allows the process parent or the bootstrap credentials an opportunity to retrieve a new initial certificate.
stopCh should be used to indicate when the transport is unused and doesn't need to continue checking the manager.
Types ¶
This section is empty.