Skip to main content

vcon_server/
lib.rs

1//! The vcon-server program. The binary in `main.rs` is a thin front end;
2//! everything it runs lives here so tests can drive it.
3//!
4//! This library is not an API for other crates. It exists for the
5//! vcon-server binary, its tests and its fuzz targets, and any release may
6//! change it without notice: semver covers the program's command line, HTTP
7//! API and data directory, not these modules. To read or check vCons from
8//! Rust, use the [vcon](https://docs.rs/vcon) crate.
9// The API Guidelines' future-proofing rules are for a public library, which
10// this is not (above): its enums and structs are matched and built whole
11// by the binary, tests and fuzz targets.
12#![allow(
13    clippy::exhaustive_enums,
14    clippy::exhaustive_structs,
15    reason = "an internal library: no semver promise, see the crate docs"
16)]
17
18pub mod access;
19#[expect(
20    missing_docs,
21    missing_debug_implementations,
22    clippy::missing_errors_doc,
23    reason = "the Rust style rules, met module by module"
24)]
25pub mod api;
26#[expect(
27    missing_docs,
28    clippy::missing_errors_doc,
29    clippy::missing_panics_doc,
30    clippy::must_use_candidate,
31    reason = "the Rust style rules, met module by module"
32)]
33pub mod audit;
34pub(crate) mod backend;
35#[expect(
36    missing_docs,
37    clippy::missing_errors_doc,
38    clippy::multiple_unsafe_ops_per_block,
39    reason = "the Rust style rules, met module by module"
40)]
41pub mod catalog;
42pub mod clock;
43#[expect(
44    missing_docs,
45    clippy::missing_errors_doc,
46    clippy::must_use_candidate,
47    reason = "the Rust style rules, met module by module"
48)]
49pub mod commands;
50pub mod config;
51pub mod console;
52#[expect(
53    missing_docs,
54    clippy::missing_errors_doc,
55    clippy::must_use_candidate,
56    reason = "the Rust style rules, met module by module"
57)]
58pub mod datadir;
59pub mod envelope;
60pub mod fs;
61pub mod ids;
62pub mod mcp;
63pub mod query;
64pub mod retention;
65#[expect(
66    clippy::missing_errors_doc,
67    clippy::must_use_candidate,
68    reason = "the Rust style rules, met module by module"
69)]
70pub mod serve;
71#[expect(
72    missing_docs,
73    missing_debug_implementations,
74    clippy::missing_errors_doc,
75    clippy::must_use_candidate,
76    reason = "the Rust style rules, met module by module"
77)]
78// Its one undocumented panic is in code built only for tests.
79#[cfg_attr(
80    test,
81    expect(
82        clippy::missing_panics_doc,
83        reason = "the Rust style rules, met module by module"
84    )
85)]
86pub mod store;
87#[expect(
88    missing_docs,
89    missing_debug_implementations,
90    clippy::missing_errors_doc,
91    clippy::must_use_candidate,
92    reason = "the Rust style rules, met module by module"
93)]
94// Its one undocumented panic is in code built only for tests.
95#[cfg_attr(
96    test,
97    expect(
98        clippy::missing_panics_doc,
99        reason = "the Rust style rules, met module by module"
100    )
101)]
102pub mod tenants;