Add local in-memory pubsub

This commit is contained in:
Eric Wendland 2026-05-17 18:23:51 +02:00
commit 6c85a341b8
13 changed files with 246 additions and 14 deletions

View file

@ -105,8 +105,14 @@ enforcement, and replication are future work.
state placeholder and local-only sync status. Automerge state, editing, and sync
are future work.
`geth-pubsub`, `geth-pipe`, and `geth-ssh-proxy` currently define types,
command shape, and roadmap stubs.
`geth-pubsub` currently supports local publish/subscribe snapshots through the
daemon control protocol. Messages live in a bounded in-memory ring buffer and
are lost when the daemon stops. This is deliberate: pubsub is a lossy wakeup and
presence channel, not authoritative storage. Iroh-gossip replication, private
topics, and capability enforcement are future work.
`geth-pipe` and `geth-ssh-proxy` currently define types, command shape, and
roadmap stubs.
`geth-ssh-identity` defines SSH trust namespaces plus certificate request,
approval, certificate import, and revocation-list data models. The bootstrap

View file

@ -228,11 +228,16 @@ authorization and durable-state boundaries clear.
- `[ ]` Prefix-scoped capabilities can allow or deny writes.
- `[ ]` KV metadata is replicated through Iroh Documents.
- `[ ]` Iroh-gossip pubsub integration.
- `[~]` Iroh-gossip pubsub integration.
Acceptance criteria:
- `geth pubsub pub/sub` works for local test nodes.
- Pubsub messages are lossy notifications, not durable facts.
- Docs and tests keep durable state in CAS/KV/document/db instead.
- `[x]` `geth pubsub pub/sub` works against the local daemon.
- `[x]` Local pubsub messages are kept in a bounded daemon-lifetime ring
buffer.
- `[x]` Pubsub messages are documented and tested as lossy notifications, not
durable facts.
- `[ ]` `geth pubsub pub/sub` works across local test nodes over Iroh.
- `[ ]` Pubsub publish/subscribe access is capability checked.
- `[ ]` Docs and tests keep durable state in CAS/KV/document/db instead.
## Phase 4: Pipes, SSH Proxy, And SSH Distribution