actionqueue_daemon/lib.rs
1#![forbid(unsafe_code)]
2//! Daemon utilities and abstractions for the ActionQueue system.
3//!
4//! This crate provides the daemon infrastructure for the ActionQueue system,
5//! including configuration, bootstrap, HTTP introspection routes, and metrics.
6//!
7//! # Overview
8//!
9//! The daemon crate provides:
10//! - [`config`] - Deterministic daemon configuration
11//! - [`bootstrap`] - Bootstrap entry point for assembling runtime dependencies
12//! - [`time`] - Authoritative daemon clock abstractions
13//!
14//! # Invariant boundaries
15//!
16//! All read-only introspection endpoints are enabled by default. Control
17//! endpoints require explicit enablement via `enable_control` in configuration.
18//! No mutation authority bypass is introduced.
19//!
20//! # Example
21//!
22//! ```no_run
23//! use actionqueue_daemon::bootstrap::bootstrap;
24//! use actionqueue_daemon::config::DaemonConfig;
25//!
26//! let config = DaemonConfig::default();
27//! let state = bootstrap(config).expect("bootstrap should succeed");
28//!
29//! // Use state to start HTTP server at a higher level
30//! // (HTTP server startup is not part of bootstrap)
31//! ```
32
33pub mod bootstrap;
34pub mod config;
35pub mod http;
36pub mod metrics;
37pub mod time;