Enforce local KV write capabilities

This commit is contained in:
Eric Wendland 2026-05-18 04:06:41 +02:00
commit 5751748458
8 changed files with 118 additions and 10 deletions

View file

@ -98,7 +98,9 @@ The bootstrap implementation provides:
`geth db status <name>` with schema and `crsql_changes` metadata; the DB
crate and daemon can extract typed local `crsql_changes` batches through
`geth db changes <name>` for future sync
- local SQLite-backed KV commands: `geth kv create/set/get`
- local SQLite-backed KV commands: `geth kv create/set/get`; `kv set` accepts
`--subject <principal>` to exercise local capability checks for non-local
callers
- local JSON document commands: `geth document create/status/set/get`
- local daemon-lifetime pubsub snapshots: `geth pubsub pub/sub`
- SSH certificate flow metadata:
@ -135,8 +137,9 @@ Everything meaningful is modeled as a resource. Planned resource kinds are:
Authorization is resource-scoped and capability-based. Bearer secrets may grant
specific resource capabilities but do not create trusted node identity. The auth
evaluator supports scoped KV write grants such as `kv.write_prefix:apps/foo/`
for `kv.write_key:apps/foo/config` explain checks; command-level KV enforcement
is still future work.
for `kv.write_key:apps/foo/config` explain checks. `geth kv set --subject
<principal>` enforces those local grants for test callers; the local node/agent
still has owner access for local administration.
## Local State