in controllers/certs.go [144:160]
func (r *EtcdadmClusterReconciler) getCACert(ctx context.Context, cluster *clusterv1.Cluster) ([]byte, error) {
caCert := &secret.Certificates{
&secret.Certificate{
Purpose: secret.ManagedExternalEtcdCA,
},
}
if err := caCert.Lookup(ctx, r.Client, util.ObjectKey(cluster)); err != nil {
return []byte{}, errors.Wrap(err, "error looking up external etcd CA certs")
}
if caCertKey := caCert.GetByPurpose(secret.ManagedExternalEtcdCA); caCertKey != nil {
if caCertKey.KeyPair == nil {
return []byte{}, errors.New("ca cert key pair not found for cluster")
}
return caCertKey.KeyPair.Cert, nil
}
return []byte{}, fmt.Errorf("nil returned from getting etcd CA certificate by purpose %s", secret.ManagedExternalEtcdCA)
}