ContainerConfig.image is now Option<String>, mutually exclusive with a new optional ContainerConfig.build: Option<BuildConfig>. Exactly one of image or build must be present, enforced in AppManifest::validate. Adds ResolvedSource enum (Pull | Build) and ContainerConfig::resolve + ::image_ref helpers so the orchestrator can treat pull and build uniformly. All 26 existing pull-only manifests continue to parse unchanged (covered by existing_pull_only_manifests_still_parse test). Call sites updated: podman_client, runtime::DockerRuntime, dev_orchestrator. Dev orchestrator errors out cleanly on Build sources until Step 2 lands build_image support on the runtime trait. Step 1 of docs/rust-orchestrator-migration.md. 10 new unit tests, all pass. Also includes: docs/rust-orchestrator-migration.md (design spec) and docs/STATUS.md resume section for the next session.
19 lines
649 B
Rust
19 lines
649 B
Rust
pub mod bitcoin_simulator;
|
|
pub mod dependency_resolver;
|
|
pub mod health_monitor;
|
|
pub mod manifest;
|
|
pub mod podman_client;
|
|
pub mod port_manager;
|
|
pub mod runtime;
|
|
|
|
pub use bitcoin_simulator::{BitcoinSimulationMode, BitcoinSimulator};
|
|
pub use dependency_resolver::DependencyResolver;
|
|
pub use health_monitor::HealthMonitor;
|
|
pub use manifest::{
|
|
AppManifest, BuildConfig, Dependency, HealthCheck, ResolvedSource, ResourceLimits,
|
|
SecurityPolicy,
|
|
};
|
|
pub use podman_client::{ContainerState, ContainerStatus, PodmanClient};
|
|
pub use port_manager::{PortError, PortManager};
|
|
pub use runtime::{AutoRuntime, ContainerRuntime, DockerRuntime, PodmanRuntime};
|