Add owner-rooted node management
This commit is contained in:
parent
59ccf6c748
commit
b941037652
9 changed files with 1001 additions and 52 deletions
|
|
@ -275,15 +275,18 @@ The identity plane is `geth-keychain`: admin keys, users, devices, nodes, agents
|
|||
and endpoint bindings. Endpoint rotation must not destroy higher-level node
|
||||
identity. Keychain operations reduce into an active view containing current
|
||||
admin keys, users, devices, node records, agent bindings, and endpoint-to-node
|
||||
bindings. Revoked identity subtrees are excluded from that active view. The
|
||||
daemon persists local keychain init/admin-key operations and `keychain status`
|
||||
reports the reduced local view. `keychain init --signing-key <path>` writes the
|
||||
canonical keychain signing payloads, runs `ssh-keygen -Y sign` with the explicit
|
||||
`geth.keychain.v1@geth.local` namespace, and stores the resulting OpenSSH
|
||||
signatures in local SQLite. `keychain status` reports the stored signature
|
||||
count and verifies stored signatures against their canonical payloads with
|
||||
OpenSSH when possible. Rejection of unsigned or invalid replicated keychain
|
||||
operations is still future work.
|
||||
bindings. Revoked identity subtrees are excluded from that active view. `geth
|
||||
init --admin-key <pub> --signing-key <key> --node-name <name>` records an
|
||||
owner/admin key, user, device, node, and agent binding as keychain operations
|
||||
and signs them with OpenSSH under `geth.keychain.v1@geth.local`. Both keys are
|
||||
required when owner setup options are used, so the node does not create unsigned
|
||||
owner statements by accident. `geth node list` shows the active reduced node
|
||||
view. `geth node rename` and `geth node revoke` record signed keychain
|
||||
operations and require `--signing-key`. `geth keychain sync <node>` pulls
|
||||
keychain operations and signatures from an imported peer over Iroh and imports
|
||||
only operations with a valid OpenSSH signature from a currently trusted admin key
|
||||
over the canonical payload. This is currently a pull-based signed operation log,
|
||||
not a CRDT or Keyhive-style convergent authority.
|
||||
|
||||
The authorization plane is `geth-auth`: resource-local signed operation logs,
|
||||
grants, revocations, groups, and `auth explain`. Auth operations reduce into a
|
||||
|
|
|
|||
Loading…
Reference in a new issue