scalableminds / webknossos

Visualize, share and annotate your large 3D images online
https://webknossos.org
GNU Affero General Public License v3.0
123 stars 18 forks source link

Enable option to maintain & provide specific backups to restore FossilDB via FossilDB-client #7910

Open aaronkanzer opened 1 week ago

aaronkanzer commented 1 week ago

Detailed Description

While standing up our own self-hosted version of WebKNOSSOS, we have been looking into data integrity/site reliability -- mostly, how to efficiently backup and restore our systems to a certain point in time.

Via the fossildb-client, the backup and restore commands work as intended -- as provided here; however, upon backup, we observe that the most recent backup is overwritten, and that no option is provided for where to point a new restore command (if multiple backups existed on the file system)

Specifically for the restore command, further logic could be available upon the protobuf extension of RestoreFromBackupRequest

proto_rpc.FossilDBStub(channel).RestoreFromBackup(proto.RestoreFromBackupRequest())

While this is not a blocker (we intend to routinely export the data off the EC2 instance to S3, etc.), it could become a useful convenience for users, and to quickly get systems back online if multiple backups can live next door to running instances.

Let us know -- we are happy to attempt a PR if this is something that could be useful -- otherwise, if you have insight into how you rountinely backup and restore FossilDB instances, that would be much appreciated!

Cc @kabilar

normanrz commented 1 week ago

We typically run mv, scp or equivalent after calling backup. The entire backup is contained in the backup folder, so it is easy to move around and to keep multiple versions available.