Support logical deletion of objects when deleting BundleDeployments
The order in which objects composing operators or other applications on-cluster are removed matters for the successful removal of the application from the cluster. The default behavior is to mark all objects for deletion and remove them when the parent resource, in this case the BundleDeployment, is deleted. However a more fine grained removal policy may be desirable, which may be achievable entirely by finalizers or potentially by other resources.
See https://github.com/operator-framework/operator-lifecycle-manager/issues/2235 for an example of an issue that can arise when deleting objects all at once: if the roles are removed before the deployment the operator loses the ability to cleanup after itself.
The goal is to support an ordered removal of objects related to the installation such that the cluster can be in the same state as it was prior to the installation when the operator is uninstalled.
Moving to 0.3 milestone -- this is something we definitely want to support sooner rather than later, to ensure a clean teardown of operators and other applications.
Moving to a design ticket to architect this feature out.
Move to backlog for now.
This issue has become stale because it has been open 60 days with no activity. The maintainers of this repo will remove this label during issue triage or it will be removed automatically after an update. Adding the lifecycle/frozen label will cause this issue to ignore lifecycle events.