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.

Constants§

SERVED_OPERATIONS
Every (METHOD, path) the daemon serves, in the path-template form the published OpenAPI document uses (gonzalo#198).

Functions§

ancestor_cap_from_env
Resolve the backing store’s ancestor cap from GONZALO_ANCESTOR_CAP (gonzalo#203, spec §3.9), via the environment accessor get.
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.