Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement REST client backend #18

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Conversation

ThomasWaldmann
Copy link
Member

No description provided.

@ThomasWaldmann
Copy link
Member Author

ThomasWaldmann commented Sep 2, 2024

I played a bit with the already existing REST server of restic via borgbase.com, but there are some differences, so that won't "just work":

  • it has no mkdir/rmdir and does not adhoc-create needed dirs, but creates all needed dirs at repository creation time on the server
  • list: it does nesting and directory recursion on the server, while borgstore does only flat dir listings in the backend and does nesting and recursion in Store, above the backend, on the client side. I did it like that to reduce backend complexity (and only implement that directory recursion once) and also to limit the result size of the directory listing (N/2**16 instead of N).
  • it enforces key == sha256(content), so .store can't work with arbitrary keys (like HMAC(plaintext))
  • .destroy (delete a repo) didn't work, maybe a borgbase.com specific feature so users don't accidentally kill their repos but have to use the web UI for that?

@ThomasWaldmann
Copy link
Member Author

@m3nu @buengese ^^

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant