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(crate) mod export;
61pub mod fs;
62pub mod ids;
63pub mod mcp;
64pub mod query;
65pub mod retention;
66#[expect(
67    clippy::missing_errors_doc,
68    clippy::must_use_candidate,
69    reason = "the Rust style rules, met module by module"
70)]
71pub mod serve;
72#[expect(
73    missing_docs,
74    missing_debug_implementations,
75    clippy::missing_errors_doc,
76    clippy::must_use_candidate,
77    reason = "the Rust style rules, met module by module"
78)]
79// Its one undocumented panic is in code built only for tests.
80#[cfg_attr(
81    test,
82    expect(
83        clippy::missing_panics_doc,
84        reason = "the Rust style rules, met module by module"
85    )
86)]
87pub mod store;
88#[expect(
89    missing_docs,
90    missing_debug_implementations,
91    clippy::missing_errors_doc,
92    clippy::must_use_candidate,
93    reason = "the Rust style rules, met module by module"
94)]
95// Its one undocumented panic is in code built only for tests.
96#[cfg_attr(
97    test,
98    expect(
99        clippy::missing_panics_doc,
100        reason = "the Rust style rules, met module by module"
101    )
102)]
103pub mod tenants;