Skip to main content

Module origin

Module origin 

Source
Expand description

Where each synced line came from: <store>/mesh/origins.jsonl, one signed record per line hash.

{ "h": "<blake3 of the line>", "key": "<hex key of the node that first stamped it>", "ms": 1760000000000,
  "sig": "<that key's signature of borg-origin-v1, h and ms>" }

A node stamps the lines its own hooks wrote (any line without a record) with its key and the time it first saw them; a line received from a peer travels with its record, which the receiver verifies before storing either. The membership then decides whether a line is admitted (Membership::admits): a member’s always, a revoked key’s only if stamped before the revocation. Records are verified on receipt, not on every load: only this node writes this file.

Structs§

Origin

Functions§

admitted
The lines of set the membership admits (lines without a record are not shared yet).
append
apply
Quarantines every log of home against m and records that it did. Returns how many lines moved.
apply_if_new
apply, unless the logs were already checked against exactly this membership.
join
borg mesh join: installs the documents an admin handed over (one version, or the history file) and quarantines what the resulting membership no longer admits. Returns the installed membership and how many lines moved.
load
The first record per line hash.
path
quarantine
Applies revocations to a log already on disk: lines whose origin the membership no longer admits move to <store>/mesh/quarantine.jsonl, so the conscience stops asking them. Returns how many moved.
revoke
borg mesh revoke: the admin’s new version, and its own logs quarantined at once (a line the revoked node stamped after now, a clock running ahead, may already be here).
stamp
Stamps every line of logs that has no record yet as this node’s, at now; returns how many.