-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmod.rs
More file actions
47 lines (45 loc) · 1.86 KB
/
mod.rs
File metadata and controls
47 lines (45 loc) · 1.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//! Application Command Handlers (Application Layer)
//!
//! This module contains high-level application command handlers that orchestrate complete
//! deployment workflows. These command handlers represent the primary use cases of the system
//! and coordinate between domain services and infrastructure adapters.
//!
//! Command handlers implement the Command Handler pattern and follow the three-level architecture:
//! Command Handlers (Level 1) → Steps (Level 2) → Remote Actions (Level 3)
//!
//! ## Available Command Handlers
//!
//! - `configure` - Infrastructure configuration and software installation
//! - `create` - Environment creation and initialization
//! - `destroy` - Infrastructure destruction and teardown
//! - `list` - List all environments in the workspace (read-only)
//! - `provision` - Infrastructure provisioning using `OpenTofu`
//! - `register` - Register existing instances as alternative to provisioning
//! - `release` - Software release to target instances
//! - `run` - Stack execution on target instances
//! - `show` - Display environment information and status (read-only)
//! - `test` - Deployment testing and validation
//!
//! Each command handler encapsulates a complete business workflow, handling orchestration,
//! error management, and coordination across multiple infrastructure services.
pub mod common;
pub mod configure;
pub mod create;
pub mod destroy;
pub mod list;
pub mod provision;
pub mod register;
pub mod release;
pub mod run;
pub mod show;
pub mod test;
pub use configure::ConfigureCommandHandler;
pub use create::CreateCommandHandler;
pub use destroy::DestroyCommandHandler;
pub use list::ListCommandHandler;
pub use provision::ProvisionCommandHandler;
pub use register::RegisterCommandHandler;
pub use release::ReleaseCommandHandler;
pub use run::RunCommandHandler;
pub use show::ShowCommandHandler;
pub use test::TestCommandHandler;