Skip to main content

Crate gonzalo_server

Crate gonzalo_server 

Source
Expand description

The gonzalo daemon library: a transport-agnostic Service over a Store, served over gRPC (serve_grpc) and/or HTTP/JSON (serve_http). Operators choose whichever transport they want.

Structs§

GrpcAdapter
Adapts Service to the generated gRPC trait, enforcing namespace-scoped auth (ADR 0015) per call from the request’s bearer metadata.
Principal
An authenticated caller and the namespaces it may read/write. "*" in a list grants that access on every namespace.
Service
Wraps a Store (records) and a BlobStore (content-addressed slices) and exposes their operations to the daemon transports. The daemon backs both with the same FsStore.
ViewSummary
One indexed view, as reported by Service::graph_views.

Enums§

Access
The kind of access an operation needs on a namespace.
Auth
The daemon’s token registry. Disabled means no auth was configured — every request is served as an implicit admin (local/library behavior).
StoreConfig
The selected storage substrate and its parameters.

Functions§

router
Build the axum router. auth governs per-namespace authorization (ADR 0015); Auth::Disabled serves open. The middleware authenticates every non-probe request (bearer → Principal, or 401) and hands the principal to the handlers, which authorize against the target namespace.
serve_grpc
Serve gRPC on an already-bound listener until the process ends. auth governs per-call namespace authorization (ADR 0015); Auth::Disabled serves open.
serve_http
Serve HTTP/JSON on an already-bound listener until the process ends.