pub mod strategies;
pub mod auto_scaling;
pub mod health;
pub mod orchestration;
mod private
{
use serde::{ Deserialize, Serialize };
use std::time::SystemTime;
#[ derive( Debug, Clone, PartialEq, Eq, Serialize, Deserialize ) ]
pub enum DeploymentState
{
Pending,
Active,
Updating,
Scaling,
RollingBack,
Failed,
Terminated,
}
#[ derive( Debug, Clone, PartialEq, Eq, Serialize, Deserialize ) ]
pub enum DeploymentEnvironment
{
Development,
Staging,
Production,
Custom( String ),
}
#[ derive( Debug, Clone, Serialize, Deserialize ) ]
pub struct DeploymentSummary
{
pub deployment_id : String,
pub name : String,
pub version : String,
pub state : DeploymentState,
pub environment : DeploymentEnvironment,
pub instance_count : usize,
pub cpu_utilization : f64,
pub memory_utilization : f64,
pub error_rate : f64,
pub response_time_ms : f64,
pub uptime_percentage : f64,
pub is_healthy : bool,
pub created_at : SystemTime,
pub total_requests : u64,
}
pub use super::strategies::{ DeploymentStrategy, DeploymentCache };
pub use super::auto_scaling::{
ScalingConfig,
ScalingConfigBuilder,
ResourceConfig,
ResourceConfigBuilder,
IntelligentScaler,
ScalingDecision,
};
pub use super::health::{
DeploymentHealthCheckConfig,
DeploymentHealthCheckConfigBuilder,
MonitoringConfig,
MonitoringConfigBuilder,
DeploymentMetrics,
PerformanceOptimizer,
OptimizationRecommendation,
OptimizationCategory,
OptimizationPriority,
ImpactEstimate,
ImplementationEffort,
};
pub use super::orchestration::{
ContainerConfig,
ContainerConfigBuilder,
OrchestrationConfig,
ModelDeployment,
DeploymentBuilder,
};
}
::mod_interface::mod_interface!
{
exposed use private::DeploymentState;
exposed use private::DeploymentEnvironment;
exposed use private::DeploymentStrategy;
exposed use private::ScalingConfig;
exposed use private::ScalingConfigBuilder;
exposed use private::ResourceConfig;
exposed use private::ResourceConfigBuilder;
exposed use private::DeploymentHealthCheckConfig;
exposed use private::DeploymentHealthCheckConfigBuilder;
exposed use private::MonitoringConfig;
exposed use private::MonitoringConfigBuilder;
exposed use private::ContainerConfig;
exposed use private::ContainerConfigBuilder;
exposed use private::OrchestrationConfig;
exposed use private::DeploymentMetrics;
exposed use private::ModelDeployment;
exposed use private::DeploymentBuilder;
exposed use private::DeploymentSummary;
exposed use private::DeploymentCache;
exposed use private::IntelligentScaler;
exposed use private::ScalingDecision;
exposed use private::PerformanceOptimizer;
exposed use private::OptimizationRecommendation;
exposed use private::OptimizationCategory;
exposed use private::OptimizationPriority;
exposed use private::ImpactEstimate;
exposed use private::ImplementationEffort;
}