code: func UpdateTransport(stopCh <-chan struct{}, clientConfig *restclient.Config, clientCertificateManager certificate.Manager, exitAfter time.Duration) (func(), error) {
  	return updateTransport(stopCh, 10*time.Second, clientConfig, clientCertificateManager, exitAfter)
  }
docs: // 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.