Wire KV sync through iroh-docs
This commit is contained in:
parent
72f28224ce
commit
59c463eb40
9 changed files with 406 additions and 47 deletions
16
README.md
16
README.md
|
|
@ -153,8 +153,9 @@ The bootstrap implementation provides:
|
|||
`geth db sync <node-id> <name>`
|
||||
- local SQLite-backed KV commands: `geth kv create/set/get`; `kv set` accepts
|
||||
`--subject <principal>` to exercise local capability checks for non-local
|
||||
callers; `geth kv sync <node-id> <name> [--bearer-secret <secret>]` pulls
|
||||
authorized remote updates
|
||||
callers. The daemon mirrors named KV stores into Iroh Documents and
|
||||
`geth kv sync <node-id> <name> [--bearer-secret <secret>]` pulls authorized
|
||||
remote updates after receiving a read-only docs ticket through geth control.
|
||||
- local Automerge document commands: `geth document create/status/set/get`;
|
||||
CLI input and output are JSON views, while the store keeps durable Automerge
|
||||
save bytes. `geth document sync <node-id> <name> [--bearer-secret <secret>]`
|
||||
|
|
@ -201,8 +202,10 @@ Iroh endpoint, verifies the BLAKE3 hash, stores it in local CAS, and records the
|
|||
serving peer as a provider visible with `geth cas providers <hash>`.
|
||||
`geth-iroh` is pinned to `iroh 0.95.1` and compiles the native backend
|
||||
libraries `iroh-blobs 0.97.0`, `iroh-docs 0.95.0`, and `iroh-gossip 0.95.0`
|
||||
against the same daemon-owned endpoint generation. KV and pubsub still use their
|
||||
documented bootstrap equivalents until their native protocol migrations land.
|
||||
against the same daemon-owned endpoint generation. KV stores are mirrored into
|
||||
native `iroh-docs` namespaces and peers receive read-only document tickets only
|
||||
after geth authorization succeeds. Pubsub still uses its documented bootstrap
|
||||
equivalent until the native gossip migration lands.
|
||||
Remote resource commands that accept `--bearer-secret` can also authorize with a
|
||||
resource-scoped bearer proof generated from the private bearer token returned at
|
||||
creation time. The persisted auth log stores a public bearer id and token
|
||||
|
|
@ -239,8 +242,9 @@ can safely apply non-conflicting remote creates, updates, deletes, and renames
|
|||
only where local state still matches the recorded base.
|
||||
Named KV stores participate in the same live-sync loop once they exist locally:
|
||||
manual `geth kv sync <node-id> <name>` and background ticks require `kv.read`
|
||||
on the remote `resource:kv:<name>` and import only remote entries that are not
|
||||
older than the local value.
|
||||
on the remote `resource:kv:<name>`. Authorized sync imports from the remote
|
||||
Iroh Documents namespace where available, keeps SQLite as the durable local
|
||||
index, and imports only remote entries that are not older than the local value.
|
||||
Remote pubsub publish uses the protected Iroh control path too. The remote peer
|
||||
requires `pubsub.publish` on `resource:pubsub:<topic>` before recording the
|
||||
message in its local daemon-lifetime ring buffer. Pubsub remains lossy and is
|
||||
|
|
|
|||
Loading…
Reference in a new issue