snapscheduler icon indicating copy to clipboard operation
snapscheduler copied to clipboard

Add metadata.ownerReferences to all created VolumeSnapshots

Open mnacharov opened this issue 1 year ago • 2 comments

Describe the feature you'd like to have.

add ownerReferences to all VolumeSnapshots created from SnapshotSchedule

What is the value to the end user? (why is it a priority?)

  • k8s garbage collector will remove all VolumeSnapshots after deleting owner SnapshotSchedule
  • one can specify --cascade=orphan to kubectl delete command to disable garbage collecting
  • dependencies will be visible in ArgoCD-like solutions:

How will we know we have a good solution? (acceptance criteria)

It looks like a quite rare case for me when we would like to delete SnapshotSchedule but keep VolumeSnapshots. And kubectl delete command has an option to cover that need --cascade=orphan.

Additional context

ArgoCD shows SnapshotSchedule Dependents: Screenshot 2023-04-07 at 15 21 09

mnacharov avatar Apr 07 '23 11:04 mnacharov

Also we could implement some flag disableOwnerReferences in SnapshotSchedule resource to allow user disable this feature

mnacharov avatar Apr 07 '23 12:04 mnacharov

In the initial design, I intentionally avoided adding an owner reference to help users avoid accidentally deleting their snapshots. They can be cleaned up in bulk by deleting based on the schedule label.

I am open to revisiting the behavior, particularly if it provides value within gitops or other cluster/application management tooling. Adding a flag to preserve the existing behavior would be important.

JohnStrunk avatar Apr 07 '23 14:04 JohnStrunk