Skip to content

Commit 09ba66a

Browse files
estenryeclaude
andcommitted
fix: increase RequeuePeriod from 5s to 15s to honor ZeroSSL's Retry-After
ZeroSSL's ACME server returns 'Retry-After: 15' on order status polls while in 'processing' state. Certbot (ZeroSSL's reference client via zerossl-bot) honors this header; cert-manager was polling every 5s, ignoring it. Changing RequeuePeriod to 15s aligns with ZeroSSL's expectations and reduces unnecessary API calls. The correct flow per Certbot's implementation: 1. POST finalize → 403 orderNotReady (ZeroSSL accepts internally) 2. Poll → 'processing' + Retry-After: 15 3. Eventually: poll → 'ready' (ZeroSSL finished internal checks) 4. POST finalize again → 200 OK + certificate Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent e27c219 commit 09ba66a

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

pkg/controller/acmeorders/sync.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,11 @@ const (
5555
)
5656

5757
var (
58-
// RequeuePeriod is the default period after which an Order should be re-queued.
58+
// RequeuePeriod is the default period after which an Order should be re-queued
59+
// when in processing state. Set to 15 seconds to match ZeroSSL's Retry-After: 15
60+
// response header; this is also a reasonable default for other ACME servers.
5961
// It can be overridden in tests.
60-
RequeuePeriod = time.Second * 5
62+
RequeuePeriod = time.Second * 15
6163
)
6264

6365
func (c *controller) Sync(ctx context.Context, o *cmacme.Order) (err error) {

0 commit comments

Comments
 (0)