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
.