I would like to interact with the restic client via an API, as I understand restic does not provide it out of the box. My question is if it a good idea to to create another golang program and interact with restic via the exec package or if there is a better way ?
What do you think ?
What kind of usecase do you see in using a REST API?
Would you use it to check a status like when was the last successful backup? Or did a backup fail? There is a thread where somebody is also asking for getting statuses like that; not with a API but just using restic. Monitoring the freshness of backups
Or more of controlling restic itself like creating a new repo etc?
With an API exposed people could easily create an Browser based UI for restic, so yes mainly for interacting.
I’ve been following the project for a while now and had a very similar idea. I’m not a Go developer but would love to create applications that use restic. I was wondering if someone is interested in a platform and language independent api like Apache Thrift or maybe is already doing something like that?
What if a PHP application was created that ran the Restic commands via CLI, enabling external interaction via API Rest provided by this same PHP application?
restic does act as a kind of API with the fuse mount option, with folders that expose many aspects of the repository including all the snapshots. Additional /proc like folders could be added if anything you need was missing. Then your app could operate against that filesystem - for readonly aspects anyway.