(Sorry, I can't reply to the original thread as I wasn't a member of the list at the time)
Can I throw restic[0] in to the mix? It's very similar to borg, but super fast[1]. I moved away from borg a while ago for various reasons.
It's written in golang, so it's a simple ELF executable to deploy. Supports lots of destinations[2] and multiple keys [3].
Specifically, I'm thinking the multiple key feature would allow us to have the client push backups to the backup server over a read-only connection (SSH, S3, rsync, whatever), then be able to run restic server-side to handle the cleanups.
Anyway, 'food for thought' that we can discuss.
Cheers,
~p