borgbackup/docs
Thomas Waldmann 5415062564 borg serve --rest: serve rest:// repositories with borg
Make `borg serve` able to be the server-side component of a rest:// repository,
selected with a new --rest option. Plain `borg serve` (no option) keeps serving
legacy borg-1.x repos and stays command-line compatible with borg 1.x.

- serve_cmd.py: add --rest and --backend. With --rest, serve the given
  --backend FILE:<path> on stdio via borgstore.server.rest.serve(); honor
  --restrict-to-path/--restrict-to-repository (validated against the FILE path)
  and --permissions (mapped via borg_permissions). Without --rest, run the legacy
  RepositoryServer as before.
- repository.py: for rest:// locations, build the borgstore REST backend with a
  command that runs `borg serve --rest --backend FILE:<path>` (locally via
  sys.executable, or over ssh reusing borgstore's ssh_cmd / BORG_REMOTE_PATH),
  instead of borgstore's hardcoded `borgstore-server-rest`. So a remote only needs
  borg installed. Extracted the permissions string->dict mapping into the reusable
  borg_permissions().
- tests: unit tests for the rest serve command builder. The existing
  remote_archiver (rest:///) suite now runs against `borg serve --rest`.
- docs: changelog + quickstart updated.

Legacy serve and the legacy ssh client are unchanged (client still spawns plain
`borg serve`).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 14:52:41 +02:00
..
3rd_party fixed typos and grammar (AI) 2025-09-23 14:56:23 +02:00
_static revert logo colour to #00dd00 (per @TW) 2017-08-16 17:50:59 +02:00
_templates docs: move RTD version selector to sidebar top-left 2026-03-02 20:46:26 +01:00
binaries CI: use macOS 15 for binary builds 2025-12-15 17:40:51 +01:00
borg_theme/css docs: revise pack file internals based on PR #9669 review, refs #8572 2026-05-29 00:45:12 +05:30
deployment remove ssh:// and socket:// remote repository for current repos 2026-06-08 08:04:59 +02:00
internals repokey: use same format as with external keyfile 2026-05-31 22:50:25 +02:00
man build_usage build_man 2026-03-15 14:37:50 +01:00
misc manual corrections/reverts 2025-09-23 14:56:35 +02:00
usage fix typos / grammar in transfer docs 2026-06-06 19:34:46 +02:00
authors.rst fix levels in authors section 2016-11-04 21:14:59 -04:00
book.rst fixed typos and grammar (AI) 2025-09-23 14:56:23 +02:00
changes.rst borg serve --rest: serve rest:// repositories with borg 2026-06-08 14:52:41 +02:00
changes_0.x.rst fixed typos and grammar (AI) 2025-09-23 14:56:23 +02:00
changes_1.x.rst fixed typos and grammar (AI) 2025-09-23 14:56:23 +02:00
conf.py update year in LICENSE and docs/conf.py 2026-05-30 14:49:31 +02:00
deployment.rst add non-root deployment strategy 2024-02-24 21:17:01 +01:00
development.rst CI: use locked requirements, add canary job, fixes #9361 2026-03-12 15:01:00 +01:00
faq.rst repo-compress: remove this command for now 2026-05-22 13:00:13 +02:00
global.rst.inc use xxhash from PyPI, fixes #6535 2026-03-08 13:06:01 +01:00
index.rst fixed typos and grammar (AI) 2025-09-23 14:56:23 +02:00
installation.rst remove python 3.10 support (master branch), fixes #9707 2026-06-06 15:34:05 +02:00
internals.rst docs: add pack file format design and internals documentation, refs #8572 2026-05-27 13:26:18 +05:30
introduction.rst fixed typos and grammar (AI) 2025-09-23 14:56:23 +02:00
Makefile fixed typos and grammar (AI) 2025-09-23 14:56:23 +02:00
man_intro.rst fixed typos and grammar (AI) 2025-09-23 14:56:23 +02:00
quickstart.rst borg serve --rest: serve rest:// repositories with borg 2026-06-08 14:52:41 +02:00
quickstart_example.rst.inc manual corrections/reverts 2025-09-23 14:56:35 +02:00
support.rst docs: reflow some really long lines 2020-03-11 16:27:57 -07:00
usage.rst repo-compress: remove this command for now 2026-05-22 13:00:13 +02:00
usage_general.rst.inc [DOCS] #4587 – Make Sphinx warnings break docs build 2020-03-16 19:22:59 +01:00