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

+2 -2
View File
@@ -11,8 +11,8 @@ The local index has two jobs:
- It is the source of each snapshot's own database. A backup uploads a trimmed,
encrypted copy of the index with every snapshot.
A restore does not need the local index. It reads the copy that was uploaded
with the snapshot.
A restore reads no file, chunk or blob rows from the local index. It reads the
copy that was uploaded with the snapshot.
## Terms
+9 -4
View File
@@ -105,7 +105,7 @@ This has two consequences:
A backup looks a blob up by name before it uploads it. It does not upload a
blob that is already there.
When the destination refuses the look-up, the backup uploads the blob. An
On S3, when the destination refuses the look-up, the backup uploads the blob. An
object with that name is then replaced by one that holds the same chunk data.
## Metadata
@@ -314,8 +314,8 @@ Trust the temporary directory as much as the directory you restore into.
### Commands need different permissions
`snapshot create` without `--prune` needs only permission to write objects.
Other commands need more:
`snapshot create` without `--prune` writes objects. On S3 it needs no other
permission. Other commands need more:
- These commands list and read:
- `snapshot list`
@@ -328,6 +328,10 @@ Other commands need more:
- `remote nuke`
- `prune` lists, reads and deletes.
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 they are given a remote
key. `snapshot remove --local-only` does not reach the destination.
`snapshot remove --dry-run` deletes nothing.
@@ -421,7 +425,8 @@ To avoid this case, give each machine and each user its own destination.
- the snapshot's `db.zst.age`
- the blobs that hold the files to restore
A restore does not read the manifest and does not need the local index.
A restore does not read the manifest, or the file, chunk and blob rows of the
local index.
It works in these steps: