Skip to content

controller: requeue periodically to detect DNS drift#70

Open
tamalsaha wants to merge 1 commit into
masterfrom
feat/periodic-requeue
Open

controller: requeue periodically to detect DNS drift#70
tamalsaha wants to merge 1 commit into
masterfrom
feat/periodic-requeue

Conversation

@tamalsaha

Copy link
Copy Markdown
Contributor

Summary

The reconciler never returned `RequeueAfter` on success, so it only revisited an ExternalDNS when its Source / Secret / CR changed. Drift introduced outside the operator (manual provider edits, TTL turnover) stayed invisible until the next event.

  • New field `ExternalDNSReconciler.ReconcileInterval` (default 5m, exposed via `--reconcile-interval`)
  • Both success exits return `{RequeueAfter: r.ReconcileInterval}`
  • `--reconcile-interval=0` preserves the old event-only behavior

Test plan

  • `go build ./...`
  • Create an ExternalDNS, wait the interval, confirm a reconcile fires without touching the CR

Reconcile never returned RequeueAfter on success, so the operator only
revisited an ExternalDNS when its Source / Secret / CR changed. Drift
introduced outside the operator (manual provider edits, TTL-driven
cache turnover) was invisible until the next external event.

Add a ReconcileInterval field on the reconciler, default 5m, exposed
via --reconcile-interval. Both success exits now return
{RequeueAfter: r.ReconcileInterval}. Setting the flag to 0 keeps the
old event-only behavior.

Signed-off-by: Tamal Saha <tamal@appscode.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant