It seems that even if a repo with immutability/object locking
is used, one can still delete snapshots in kopia
(at least according to my tests, shouldn’t that be impossible?).
One can then use --point-in-time
connect option to access the data, but can these existing snapshots be easily recovered as if they were not deleted at all and just continue the incremental chain, apart from restoring first and the re-uploading them, that is assuming the source data is intact?
Both data and repository can be recovered using --point-in-time
option. To restore snapshots you can use kopia repository sync-to
and sync snapshots to another repo.
Right, this is certainly an option - kopia repository sync-to
, but it’s still a (potentially expensive) data copy IIUC. My point was to recover the repo “in-place”, like rollback the state of the repo right before the deletion.
It is not possible using kopia but I think you could achieve it using other tools. For example you could use rclone with --s3-version-at
flag to access past bucket state and sync it to the current one. All operation can be done server side so you can avoid any egress charges. Or use the same logic and cloud specific tools like aws cli.
It is not possible using kopia but I think you could achieve it using other tools - that’s what I wasn’t sure about, thanks for confirming. I will test it on the could side as you suggested.
That said, I still think it makes sense for kopia
to be able to reject any snapshot deletions on an immutable repo.
You can run your repo in append only mode. But this is something entirely different than object lock. And yes you can use both at the same time if it suits your requirement.