Make snapshot rm clean up the remote by default
snapshot rm <id> now does the full cleanup: removes the local index entry, strips the snapshot's metadata from the destination store, and prunes any blobs that were only referenced by the just-removed manifest. The --remote flag is retired; --local-only opts out for the rare case where the user wants to forget a snapshot locally without touching the remote. If the destination store is unreachable, the local-DB removal still completes and a warning is emitted; the user can rerun 'vaultik prune' to retry the remote half later. RemoveAllSnapshots gets the same treatment: after deleting every snapshot's metadata (local + remote + orphan keys), an automatic blob prune sweep removes the now-unreferenced blob set.
This commit is contained in:
@@ -27,11 +27,11 @@ func (v *Vaultik) NukeRemote(force bool) error {
|
||||
}
|
||||
|
||||
v.UI.Begin("Removing all snapshot metadata from backup destination store.")
|
||||
if _, err := v.RemoveAllSnapshots(&RemoveOptions{Force: true, Remote: true}); err != nil {
|
||||
if _, err := v.RemoveAllSnapshots(&RemoveOptions{Force: true}); err != nil {
|
||||
return fmt.Errorf("removing all snapshots: %w", err)
|
||||
}
|
||||
|
||||
v.UI.Begin("Removing all blobs from backup destination store.")
|
||||
v.UI.Begin("Removing any blobs still present in backup destination store.")
|
||||
if err := v.PruneBlobs(&PruneOptions{Force: true}); err != nil {
|
||||
return fmt.Errorf("pruning blobs: %w", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user