holger-server-lib 0.6.9

Holger server library: config, wiring, gRPC service, Rust API
docs.rs failed to build holger-server-lib-0.6.9
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

The holger server crate: turns a RON config into a running artifact server.

Config is a directed graph of three node kinds — [Repository] (a backend plus its upstreams), [ExposedEndpoint] (a gRPC + optional HTTP/OCI gateway), and [StorageEndpoint] (disk or a znippy archive). [wire_holger] resolves that graph in passes: index every node by ron_name, wire forward refs (repo→storage, repo→exposed) and reverse links (exposed→repos), then build a per-endpoint [FastRoutes] table. Any repo with configured upstreams is wrapped in a ProxyBackend at this stage so a 404 in the local archive falls through to the upstream pull-through automatically.

Two entry modes share the same wired graph: call [Holger::fetch]/[Holger::put] in-process, or [Holger::start] to spin up the tonic gRPC services (and HTTP gateways) fronted by shared auth ([auth]) and one append-only audit sink ([audit]). Boot is deliberately fault-tolerant — a single bad archive is disabled and logged (see [Holger::instantiate_backends]) rather than sinking the whole server; only an all-repos failure hard-fails.

Gotcha: the wiring uses raw *const pointers between nodes, so the graph is valid only while the owning Vecs stay put — never mutate or reallocate repositories/exposed_endpoints/storage_endpoints after wire_holger. Related seams: ron_url/ron_http_url parse as bare SocketAddrs, so any scheme'd URL must go through bare_socket_addr first (see [dev_pair_ron]).