Description
What:
Vcluster should perform a two-way synchronization of the finalizers on certain resources.
Why:
Prevent premature deletion of the physical resource when a resource in vcluster still exists due to its finalizer(s). This seems especially important for the resources that represent data, e.g. Volumes or VolumeSnapshotContents.
Provide insight into the reasons that block resource deletion.
Allow the removal of the finalizers to force the deletion of the physical resource that is synced from vcluster.
How:
Add a generic implementation, similar to the one for annotations. The implementation should be able to detect when a new finalizer is added or when one is removed from either virtual or physical resources.
Use this for resources where we want to prevent premature deletion and where the host cluster adds finalizers to the resource, e.g. Volumes, VolumeSnapshotContents, etc.