Documentation
¶
Overview ¶
Package deletecomplete provides the durable record a controller uses to tell the Crossplane managed reconciler that it has finished releasing the external resource it owns.
The reconciler removes a managed resource's finalizer only once Observe reports the external resource as gone, and while Observe keeps reporting it present it re-runs Delete on every pass - it deliberately requeues to verify the external resource actually disappeared. A controller therefore has to be able to say "gone" at some point, or the object never terminates.
Delete has no channel to report completion through, so controllers record it here and Observe reports ResourceExists: false once it is present.
Index ¶
Constants ¶
const ( // Annotation records that Delete has finished releasing the external // resource this managed resource owns. Annotation = "keycloak.m.crossplane.io/delete-completed" // AnnotationValue is the only value that counts as complete. AnnotationValue = "true" // ErrMarkFailed is returned when completion cannot be persisted. ErrMarkFailed = "cannot record that the external resource was released" )
Variables ¶
This section is empty.
Functions ¶
func Mark ¶
Mark records that the external resource has been released.
The annotation is persisted with an explicit patch rather than assigned in memory, because the reconciler only writes back status - a metadata change made inside an external client is otherwise discarded with the reconcile.
Callers must not call Mark when release failed, or the finalizer will be removed while the external resource still exists.
Types ¶
This section is empty.