mesh/merge-gate checking again: the gate refused `unknown` because the controller judged with a node-engine validator pinned before mesh-host #117; mesh-co…
mesh/repo-check checking again: the gate refused `unknown` because the controller judged with a node-engine validator pinned before mesh-host #117; mesh-co…
mesh/delivery-group group feat/owned-paths checking: 0 of 2 member(s) ready
mesh/delivery superseded: a newer head of the same pull request
Every directory and archive resource carries `unknown`: move-out for a home folder whose program writes nothing there (the node-engine, delivered in mesh-host #117, moves the rest to ~/.local/state/mesh-moved/<module>/ with a list), module for ~/.ssh and ~/.claude, program elsewhere; `knows` keeps what a program or the operator relies on (powerlevel10k's compiled files, i3's scripts and the asus/g14 drop-ins, dunst's slack rule, betterbird's records, node-env's forge credential, issue 1033). Two shared folders are no longer declared. Each module's README says it. checks/owned holds every manifest to it; checks/sshdir stays while main's merge check runs it (issue 1035). Tests that pin a manifest follow the new key only. Reviewed in three rounds.
31 lines
1.7 KiB
Markdown
31 lines
1.7 KiB
Markdown
# restic
|
|
|
|
The machine's backups as the `node-backup` seat (novox/hq ADR 0214, to-be 43, ADR 0233): one restic
|
|
repository on the machine, one restore point per module a night, thinned by the machine's settings.
|
|
Against mistakes, not disasters: nothing leaves the machine.
|
|
|
|
## How restore points are kept
|
|
|
|
- **A night's restore point** is tagged with its module alone and thinned by `keep-daily`,
|
|
`keep-weekly` and `keep-monthly` (14, 8 and 6 by default).
|
|
- **A restore point taken by hand** (`node-backup.now`, asked by a person, or by the mesh before a
|
|
module moves) is tagged `hand` as well. The thinning keeps that tag (`--keep-tag hand`), so the
|
|
next night never takes it (novox/hq issue 453). It is let go, by its id, only when both hold:
|
|
it is older than `keep-hand-taken-days` (7 by default), and a later night of its module was
|
|
recorded as good. A partial night, where restic wrote a restore point but could not read every
|
|
file, does not count.
|
|
- **A module that left the machine** gets no later night, so its restore points taken by hand are
|
|
kept for good. That is a choice: deleting a module's last restore point is a person's act, and
|
|
until then it costs only space.
|
|
|
|
`node-backup.backed-up` lists each module's restore points taken by hand under `handTaken`: when
|
|
each was taken, the time it is kept at least until, whether it still waits for a later good night,
|
|
and a sentence saying so.
|
|
|
|
## Files it does not know
|
|
|
|
Each directory or archive this module declares says how it treats a file it did not write (ADR 0422, ADR 0416).
|
|
|
|
- `${dir:state}`: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
|
|
- `${dir:repository}`: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
|