source-controller
source-controller copied to clipboard
Update and persist `Reconciliation` status condition to reflect progress
The Reconciliation status condition should be set to True and its message should be updated in etcd every time we observe a drift to:
- resource generation (
metadata.generation != status.observedGeneration) - reconcileAt annotation (
metadata.annotations.reconcileAt != status.lastHandledReconcileAt) - upstream revision (
revision != status.artifact.revision)
In addition, when drift is detected, we should set Read=Unknown and update its message with the Reconciliation one.
If the reconciliation resulted in an error that will be retried, we should set the Reconciliation reason to ProgressingWithRetry.