diff --git a/pkg/controller/certificates/sync.go b/pkg/controller/certificates/sync.go index c02f6932f..661ec3dae 100644 --- a/pkg/controller/certificates/sync.go +++ b/pkg/controller/certificates/sync.go @@ -115,6 +115,13 @@ func (c *Controller) Sync(ctx context.Context, crt *v1alpha1.Certificate) (reque return false, nil } + // If this is an ACME certificate, ensure the certificate.spec.acme field is + // non-nil + if issuerObj.GetSpec().ACME != nil && crtCopy.Spec.ACME == nil { + c.Recorder.Eventf(crtCopy, corev1.EventTypeWarning, "BadConfig", "spec.acme field must be set") + return false, nil + } + issuerReady := issuerObj.HasCondition(v1alpha1.IssuerCondition{ Type: v1alpha1.IssuerConditionReady, Status: v1alpha1.ConditionTrue,