manta_shared/lib.rs
1//! Shared library used by both `manta-cli` and `manta-server`.
2//!
3//! Top-level modules:
4//!
5//! - [`shared`] — wire-shaped data (request `*Params`, response DTOs,
6//! cluster-status helpers). Genuinely used by both binaries.
7//! - [`common`] — bi-binary behavioural helpers: the `config` loader
8//! (returns an untyped `::config::Config`), `MantaError`, and
9//! `log_ops::configure(...)`. Single-binary helpers (`audit`,
10//! `kafka`, `jwt_ops`, the SAT-file Jinja renderer) and the typed
11//! config schemas (`CliConfiguration`, `ServerConfiguration`,
12//! `Auditor`/`Kafka`) live with whichever binary uses them.
13//!
14//! The backend bridge (`StaticBackendDispatcher`, the CSM/OCHAMI trait
15//! impls, and `authorization` helpers that take a `&StaticBackendDispatcher`)
16//! lives in `manta-server`; the CLI never reaches it.
17
18// Every public item in this crate must carry a `///` doc comment.
19// We're a publishable crate (`publish = true`); the docs.rs page is
20// the primary external interface and stale-or-missing docs there are
21// user-facing. CI's `cargo doc` step keeps this honest.
22#![deny(missing_docs)]
23
24pub mod common;
25pub mod shared;