Hello everybody,
I am using restic since a long time, with multiple machines and a dedicated rest server. All good so far.
Since a while an idea is forming, hear me out
In the cloud native world, everything wants some sort of S3 frontend.
Now, I have a storage provider for instance longhorn, which wants to backup its data to S3 (or local, or NFS). So we have something like this:
longhorn —push backup—> S3 <—pull backup— restic
Why not just … kill the middleman? Or, well, give the middleman a direct wire to restic.
longhorn —push backup----> S3 to stdout | restic backup --stdin
So I propose a user facing S3 interface that directly backups to restic (not via --stdin, more like the rest implementation).
Therefore the repository unlocking would need to happen through the S3 bridge, or the repository is just always open. When a stream of data hits the S3 bridge, it starts a new backup, once it doesnt receive more data for x amount of time, it completes the snapshot and waits for more.
I experimented a little bit with backups from stdin and rclone serve s3/restic combinations, but realised it needs more than that. But maybe I am missing something …
What do you think? Is there maybe a solution to this already?