snapscheduler
snapscheduler copied to clipboard
Add metadata.ownerReferences to all created VolumeSnapshots
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
tokubectl 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:
Also we could implement some flag disableOwnerReferences
in SnapshotSchedule resource to allow user disable this feature
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.