Skip to main content

llm_optimizer_processor/actuator/
mod.rs

1//! Actuator module
2//!
3//! This module provides deployment and configuration management capabilities
4//! with canary deployments and automatic rollback.
5//!
6//! # Example
7//!
8//! ```rust,no_run
9//! use processor::actuator::{ActuatorCoordinator, ActuatorConfig, Actuator, DeploymentRequest};
10//!
11//! #[tokio::main]
12//! async fn main() -> anyhow::Result<()> {
13//!     // Create actuator
14//!     let config = ActuatorConfig::default();
15//!     let mut actuator = ActuatorCoordinator::new(config);
16//!
17//!     // Start actuator
18//!     actuator.start().await?;
19//!
20//!     // Deploy configuration change
21//!     let request = DeploymentRequest { /* ... */ };
22//!     let status = actuator.deploy(request).await?;
23//!
24//!     println!("Deployment status: {:?}", status.state);
25//!
26//!     Ok(())
27//! }
28//! ```
29
30pub mod canary;
31pub mod config;
32pub mod configuration;
33pub mod coordinator;
34pub mod error;
35pub mod health;
36pub mod rollback;
37pub mod traits;
38pub mod types;
39
40// Re-export commonly used types
41
42// Core traits
43pub use traits::{Actuator, CanaryDeployment, ConfigurationManager, HealthMonitor, TrafficSplitter};
44
45// Main coordinator
46pub use coordinator::ActuatorCoordinator;
47
48// Component implementations
49pub use canary::CanaryDeploymentEngine;
50pub use configuration::{
51    AuditLogEntry, ConfigurationBackend, ConfigurationDiff, ConfigurationManagerImpl,
52    DiffType, InMemoryBackend,
53};
54pub use health::{HealthCheckType, HealthMonitorConfig, ProductionHealthMonitor};
55pub use rollback::{
56    NotificationHandler, NotificationSeverity, RollbackEngine, RollbackHistoryEntry, RollbackMode,
57    RollbackNotification, RollbackPhase, RollbackStats, RollbackStatus, RollbackTrigger,
58    ThresholdViolation,
59};
60
61// Configuration
62pub use config::{ActuatorConfig, ConfigurationManagementConfig, HealthMonitoringConfig, RollbackConfig};
63
64// Types
65pub use types::{
66    ActuatorStats, CanaryConfig, CanaryPhase, ConfigurationSnapshot, DeploymentMetrics,
67    DeploymentRequest, DeploymentState, DeploymentStatus, DeploymentStrategy, HealthCheckResult, HealthStatus,
68    RollbackReason, RollbackRequest, RollbackResult, StatisticalAnalysis, SuccessCriteria,
69    SystemMetrics, TrafficSplitStrategy,
70};
71
72// Error types
73pub use error::{ActuatorError, ActuatorResult, ActuatorState};