Skip to main content

xbp_deploy/
lib.rs

1//! Declarative, service-centric deploy engine for XBP.
2//!
3//! **Purity rule:** the engine depends only on:
4//! - project config (view types)
5//! - OCI resolver/promoter traits
6//! - Kubernetes adapter traits
7//!
8//! No CLI I/O, no Athena product islands, no implicit runtime state.
9
10mod context;
11mod error;
12mod graph;
13mod history;
14mod lock;
15mod planner;
16mod promotion;
17mod runner;
18mod target_resolver;
19mod types;
20mod validator;
21mod verifier;
22
23pub use context::{DeployContext, DeployFlags, DeployMode};
24pub use error::{DeployError, Result};
25pub use graph::{order_services, ServiceGraph, ServiceNode};
26pub use history::{DeployHistoryIndex, DeployHistoryStore, HistoryEntry};
27pub use lock::{
28    compute_plan_hash, load_lock, lock_from_plan, write_lock, DeployLockFile, DeployLockImage,
29};
30pub use planner::{DefaultDeployPlanner, DeployPlanner};
31pub use promotion::DefaultPromoter;
32pub use runner::{DefaultDeployRunner, DeployRunner, DeployResult};
33pub use target_resolver::{resolve_target, TargetResolution};
34pub use types::*;
35pub use validator::validate_project_config;
36pub use verifier::{DefaultDeployVerifier, DeployVerifier, VerifyResult};