Expand description
The central server (conclave serve): the axum WSS endpoint and control plane.
A single self-contained binary that owns: the axum WSS endpoint and control RPCs; the
embedded store (see crate::store); in-memory presence with heartbeat reaping and the
fan-out router; and admin authorization against the config users allowlist plus each
channel’s created_by (DESIGN.md §7).
Durable state is config only — no message history. Presence, subscriptions, permission levels, and the admin allowlist are deliberately not in the DB (DESIGN.md §15).
The subsystem is split by responsibility: hub is the transport-agnostic core (store +
in-memory presence, subscriptions, and the fan-out router); session is the per-connection
handshake + frame loop; wss is the axum WebSocket adapter and the serve entrypoint. This
module owns the AclError authorization boundary type and re-exports the public surface.
Structs§
- Server
Config - The operator-supplied
serveconfiguration (DESIGN.md §7, §13).
Enums§
- AclError
- Errors at the access-control / authorization boundary (DESIGN.md §7, §16), matched on by the server and surfaced to the caller as a wire error frame.
Functions§
- serve
- Runs the central server until a shutdown signal (Ctrl-C) is received.
Type Aliases§
- Admin
Allowlist - The server-admin allowlist (DESIGN.md §7): each admin username mapped to the public key
(base64) permitted to claim it, or
Noneif unpinned. Pinning stops a fresh-deploy admin username from being squatted by the first client to register it (PRD-0007 T-002).