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)
}