Say what a backup needs on an rclone remote and fix four more findings
check / check (push) Successful in 11m52s

- `README.md`, `docs/REPOSTRUCTURE.md`, `internal/cli/snapshot.go`: a
  backup needs only write permission on S3; an rclone remote that can
  move objects also needs read and delete, and an upload there stops
  when its look-up is refused.
- `docs/DATAMODEL.md`, `docs/REPOSTRUCTURE.md`: a restore reads no
  file, chunk or blob rows from the local index, but it does open it.
- `README.md`: confirmation prompts go to stdout.
- `internal/cli/remote.go`: `remote nuke` leaves the backup destination
  store empty, not a bucket prefix.
- `README.md`: a TODO section, as `REPO_POLICIES.md` requires.

Model: fable-5-1
This commit is contained in:
clawbot committed 2026-11-09 02:29:25 +00:00
1 parent 46b2a9fc78
commit 1196bd7598
5 files changed
+31 -16

No files matched your search

+16 -7
View File
@@ -311,8 +311,8 @@ It needs:
- At least one public key in `age_recipients`.
- Read access to the configured paths.
- Permission to write objects at the destination. See
[Destination permissions](#destination-permissions).
- Permission to write objects at the destination, and more on some rclone
remotes. See [Destination permissions](#destination-permissions).
- Free temporary space. See [Temporary files](#temporary-files).
- The [lock](#locking).
@@ -1025,9 +1025,9 @@ A leftover `.partial` file is ignored. You can delete it.
Commands need these permissions at the destination:
- `snapshot create` without `--prune` needs only permission to write objects. A
machine you back up can therefore hold credentials that can neither read nor
delete.
- `snapshot create` without `--prune` writes objects. On S3 it needs no other
permission, so a machine you back up can hold credentials that can neither
read nor delete.
- These commands list and read:
- `snapshot list`
- `snapshot verify`
@@ -1039,6 +1039,10 @@ Commands need these permissions at the destination:
- `remote nuke`
- `prune` and `snapshot create --prune` list, read and delete.
An rclone remote that can move objects also needs permission to read and
delete. An upload there looks up the object it replaces and deletes it. It stops
when the look-up is refused.
`snapshot verify` and `snapshot restore` list only when you give a remote key.
`snapshot remove --local-only` does not reach the destination.
`snapshot remove --dry-run` deletes nothing.
@@ -1046,8 +1050,8 @@ Commands need these permissions at the destination:
A machine that runs `snapshot create --prune` can delete its own backups. To
keep it to write-only credentials, run `prune` from a separate, trusted machine.
A backup tries to look up the marker file and each blob before it writes. It
goes on when the destination refuses those look-ups.
A backup tries to look up the marker file and each blob before it writes. On S3
it goes on when the destination refuses those look-ups.
### The marker file
@@ -1166,6 +1170,7 @@ progress:
stdout carries the output you asked for:
- status and progress lines
- confirmation prompts
- warnings, and the errors that `snapshot create` and `snapshot restore` print
about files
- tables and reports
@@ -1477,6 +1482,10 @@ Each archive holds three files:
The release files are not signed, have no software bill of materials and are
not built reproducibly.
## TODO
Planned work is listed in [`TODO.md`](TODO.md).
## license
[MIT](https://opensource.org/license/mit/)