func()

in controllers/certs.go [162:178]


func (r *EtcdadmClusterReconciler) getClientCerts(ctx context.Context, cluster *clusterv1.Cluster) (tls.Certificate, error) {
	clientCert := &secret.Certificates{
		&secret.Certificate{
			Purpose: secret.APIServerEtcdClient,
		},
	}
	if err := clientCert.Lookup(ctx, r.Client, util.ObjectKey(cluster)); err != nil {
		return tls.Certificate{}, err
	}
	if clientCertKey := clientCert.GetByPurpose(secret.APIServerEtcdClient); clientCertKey != nil {
		if clientCertKey.KeyPair == nil {
			return tls.Certificate{}, fmt.Errorf("client cert key pair not found for cluster")
		}
		return tls.X509KeyPair(clientCertKey.KeyPair.Cert, clientCertKey.KeyPair.Key)
	}
	return tls.Certificate{}, fmt.Errorf("nil returned from getting etcd CA certificate by purpose %s", secret.APIServerEtcdClient)
}