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