Skip to main content

Crate mockforge_chaos

Crate mockforge_chaos 

Source
Expand description

Pillars: [Reality]

MockForge Chaos Engineering

Provides chaos engineering capabilities including traffic shaping, fault injection, and resilience pattern testing.

Re-exports§

pub use ab_testing::ABTest;
pub use ab_testing::ABTestConfig;
pub use ab_testing::ABTestStats;
pub use ab_testing::ABTestStatus;
pub use ab_testing::ABTestingEngine;
pub use ab_testing::MetricComparison;
pub use ab_testing::MetricType;
pub use ab_testing::SingleMetricComparison;
pub use ab_testing::SuccessCriteria;
pub use ab_testing::TestConclusion;
pub use ab_testing::TestVariant;
pub use ab_testing::VariantMetrics;
pub use ab_testing::VariantResults;
pub use advanced_analytics::AdvancedAnalyticsEngine;
pub use advanced_analytics::Anomaly;
pub use advanced_analytics::AnomalyType as AnalyticsAnomalyType;
pub use advanced_analytics::CorrelationAnalysis;
pub use advanced_analytics::DataPoint;
pub use advanced_analytics::HealthFactor;
pub use advanced_analytics::HealthScore;
pub use advanced_analytics::PredictiveInsight;
pub use advanced_analytics::TrendAnalysis;
pub use advanced_analytics::TrendDirection;
pub use advanced_orchestration::AdvancedOrchestratedScenario;
pub use advanced_orchestration::AdvancedScenarioStep;
pub use advanced_orchestration::Assertion;
pub use advanced_orchestration::Condition;
pub use advanced_orchestration::ConditionalStep;
pub use advanced_orchestration::ExecutionContext;
pub use advanced_orchestration::ExecutionReport;
pub use advanced_orchestration::Hook;
pub use advanced_orchestration::HookAction;
pub use advanced_orchestration::HookType;
pub use advanced_orchestration::OrchestrationLibrary;
pub use advanced_orchestration::RetryConfig;
pub use advanced_orchestration::StepResult;
pub use alerts::Alert;
pub use alerts::AlertHandler;
pub use alerts::AlertManager;
pub use alerts::AlertRule;
pub use alerts::AlertRuleType;
pub use alerts::AlertSeverity;
pub use alerts::AlertType;
pub use analytics::ChaosAnalytics;
pub use analytics::ChaosImpact;
pub use analytics::MetricsBucket;
pub use analytics::TimeBucket;
pub use api::create_chaos_api_router;
pub use api::ProfileManager;
pub use auto_remediation::ApprovalRequest;
pub use auto_remediation::EffectivenessMetrics;
pub use auto_remediation::RemediationAction;
pub use auto_remediation::RemediationConfig;
pub use auto_remediation::RemediationEngine;
pub use auto_remediation::RemediationResult;
pub use auto_remediation::RemediationStats;
pub use auto_remediation::RemediationStatus;
pub use auto_remediation::RiskAssessment as AutoRiskAssessment;
pub use auto_remediation::RiskLevel;
pub use auto_remediation::RollbackData;
pub use auto_remediation::SafetyCheck;
pub use auto_remediation::SystemMetrics;
pub use chaos_listener::ChaosClientAddr;
pub use chaos_listener::ChaosTcpListener;
pub use chaos_mesh::ChaosMeshClient;
pub use chaos_mesh::ChaosMeshExperiment;
pub use chaos_mesh::ExperimentSpec;
pub use chaos_mesh::ExperimentStatus;
pub use chaos_mesh::ExperimentType;
pub use chaos_mesh::NetworkChaosAction;
pub use chaos_mesh::NetworkDelay;
pub use chaos_mesh::NetworkLoss;
pub use chaos_mesh::PodChaosAction;
pub use chaos_mesh::PodSelector;
pub use chaos_mesh::StressConfig;
pub use collaboration::ChangeType;
pub use collaboration::CollaborationChange;
pub use collaboration::CollaborationManager;
pub use collaboration::CollaborationMessage;
pub use collaboration::CollaborationSession;
pub use collaboration::CollaborationUser;
pub use collaboration::CursorPosition;
pub use config::BulkheadConfig;
pub use config::ChaosConfig;
pub use config::CircuitBreakerConfig;
pub use config::ConnectionErrorKind;
pub use config::CorruptionType;
pub use config::ErrorPattern;
pub use config::FaultInjectionConfig;
pub use config::LatencyConfig;
pub use config::NetworkProfile;
pub use config::RateLimitConfig;
pub use config::TrafficShapingConfig;
pub use dashboard::DashboardManager;
pub use dashboard::DashboardQuery;
pub use dashboard::DashboardStats;
pub use dashboard::DashboardUpdate;
pub use distributed_coordinator::CoordinationMode;
pub use distributed_coordinator::DistributedCoordinator;
pub use distributed_coordinator::DistributedTask;
pub use distributed_coordinator::ExecutionMetrics;
pub use distributed_coordinator::LeaderState;
pub use distributed_coordinator::Node;
pub use distributed_coordinator::NodeExecutionState;
pub use distributed_coordinator::NodeStatus;
pub use distributed_coordinator::TaskStatus;
pub use failure_designer::ConditionOperator;
pub use failure_designer::ConditionType;
pub use failure_designer::FailureCondition;
pub use failure_designer::FailureDesignRule;
pub use failure_designer::FailureDesigner;
pub use failure_designer::FailureTarget;
pub use failure_designer::FailureType;
pub use fault::FaultInjector;
pub use fault::FaultType;
pub use gitops::GitOpsAuth;
pub use gitops::GitOpsConfig;
pub use gitops::GitOpsManager;
pub use gitops::SyncState;
pub use gitops::SyncStatus;
pub use incident_replay::IncidentEvent;
pub use incident_replay::IncidentEventType;
pub use incident_replay::IncidentFormatAdapter;
pub use incident_replay::IncidentReplayGenerator;
pub use incident_replay::IncidentTimeline;
pub use integrations::GrafanaConfig;
pub use integrations::GrafanaIntegration;
pub use integrations::IntegrationConfig;
pub use integrations::IntegrationManager;
pub use integrations::JiraConfig;
pub use integrations::JiraIntegration;
pub use integrations::Notification;
pub use integrations::NotificationResults;
pub use integrations::NotificationSeverity;
pub use integrations::PagerDutyConfig;
pub use integrations::PagerDutyIntegration;
pub use integrations::SlackConfig;
pub use integrations::SlackNotifier;
pub use integrations::TeamsConfig;
pub use integrations::TeamsNotifier;
pub use latency::LatencyInjector;
pub use latency_metrics::LatencyMetricsTracker;
pub use latency_metrics::LatencySample;
pub use latency_metrics::LatencyStats;
pub use metrics::registry as metrics_registry;
pub use metrics::ChaosMetrics;
pub use metrics::CHAOS_METRICS;
pub use middleware::chaos_middleware;
pub use middleware::ChaosMiddleware;
pub use ml_anomaly_detector::Anomaly as MLAnomaly;
pub use ml_anomaly_detector::AnomalyDetector;
pub use ml_anomaly_detector::AnomalyDetectorConfig;
pub use ml_anomaly_detector::AnomalySeverity;
pub use ml_anomaly_detector::AnomalyType as MLAnomalyType;
pub use ml_anomaly_detector::MetricBaseline;
pub use ml_anomaly_detector::TimeSeriesPoint;
pub use ml_assertion_generator::AssertionGenerator;
pub use ml_assertion_generator::AssertionGeneratorConfig;
pub use ml_assertion_generator::AssertionOperator;
pub use ml_assertion_generator::AssertionType;
pub use ml_assertion_generator::ExecutionDataPoint;
pub use ml_assertion_generator::GeneratedAssertion;
pub use ml_assertion_generator::MetricStats;
pub use ml_parameter_optimizer::ExpectedImpact;
pub use ml_parameter_optimizer::OptimizationObjective;
pub use ml_parameter_optimizer::OptimizationRecommendation;
pub use ml_parameter_optimizer::OptimizerConfig;
pub use ml_parameter_optimizer::OrchestrationRun;
pub use ml_parameter_optimizer::ParameterBounds;
pub use ml_parameter_optimizer::ParameterOptimizer;
pub use ml_parameter_optimizer::RunMetrics;
pub use multi_armed_bandit::Arm;
pub use multi_armed_bandit::ArmReport;
pub use multi_armed_bandit::BanditReport;
pub use multi_armed_bandit::BanditStrategy;
pub use multi_armed_bandit::MultiArmedBandit;
pub use multi_armed_bandit::ThompsonSampling;
pub use multi_armed_bandit::TrafficAllocator;
pub use multi_armed_bandit::UCB1;
pub use multi_cluster::ClusterTarget;
pub use multi_cluster::ExecutionStatus;
pub use multi_cluster::MultiClusterOrchestration;
pub use multi_cluster::MultiClusterOrchestrator;
pub use multi_cluster::MultiClusterStatus;
pub use multi_cluster::SyncMode;
pub use multi_tenancy::MultiTenancyError;
pub use multi_tenancy::ResourceQuota;
pub use multi_tenancy::ResourceUsage;
pub use multi_tenancy::Tenant;
pub use multi_tenancy::TenantManager;
pub use multi_tenancy::TenantPermissions;
pub use multi_tenancy::TenantPlan;
pub use observability_api::create_observability_router;
pub use observability_api::ObservabilityState;
pub use plugins::ChaosPlugin;
pub use plugins::CustomFaultPlugin;
pub use plugins::MetricsPlugin;
pub use plugins::PluginCapability;
pub use plugins::PluginConfig;
pub use plugins::PluginContext;
pub use plugins::PluginError;
pub use plugins::PluginHook;
pub use plugins::PluginMetadata;
pub use plugins::PluginRegistry;
pub use plugins::PluginResult;
pub use predictive_remediation::AnomalyDetector as PredictiveAnomalyDetector;
pub use predictive_remediation::DataPoint as PredictiveDataPoint;
pub use predictive_remediation::FailurePrediction;
pub use predictive_remediation::MetricTrend;
pub use predictive_remediation::MetricType as PredictiveMetricType;
pub use predictive_remediation::PredictiveRemediationEngine;
pub use predictive_remediation::TimeSeries;
pub use predictive_remediation::TrendAnalyzer;
pub use predictive_remediation::TrendDirection as PredictiveTrendDirection;
pub use predictive_remediation::TrendReport;
pub use protocols::graphql::GraphQLChaos;
pub use protocols::grpc::GrpcChaos;
pub use protocols::websocket::WebSocketChaos;
pub use rate_limit::RateLimiter;
pub use recommendations::Confidence;
pub use recommendations::EngineConfig;
pub use recommendations::Recommendation;
pub use recommendations::RecommendationCategory;
pub use recommendations::RecommendationEngine;
pub use recommendations::RecommendationSeverity;
pub use reinforcement_learning::AdaptiveRiskAssessor;
pub use reinforcement_learning::QLearningConfig;
pub use reinforcement_learning::RLAgent;
pub use reinforcement_learning::RemediationAction as RLRemediationAction;
pub use reinforcement_learning::RiskAssessment;
pub use reinforcement_learning::SystemState;
pub use request_matcher::HeaderMatch;
pub use request_matcher::RequestMatcher;
pub use resilience::Bulkhead;
pub use resilience::BulkheadError;
pub use resilience::BulkheadGuard;
pub use resilience::BulkheadManager;
pub use resilience::BulkheadMetrics;
pub use resilience::BulkheadStats;
pub use resilience::CircuitBreaker;
pub use resilience::CircuitBreakerManager;
pub use resilience::CircuitBreakerMetrics;
pub use resilience::CircuitState;
pub use resilience::CircuitStats;
pub use resilience::DynamicThresholdAdjuster;
pub use resilience::FallbackHandler;
pub use resilience::HealthCheckIntegration;
pub use resilience::JsonFallbackHandler;
pub use resilience::RetryConfig as ResilienceRetryConfig;
pub use resilience::RetryPolicy;
pub use resilience_middleware::default_resilience_state;
pub use resilience_middleware::resilience_middleware;
pub use resilience_middleware::resilience_state_from_configs;
pub use resilience_middleware::ResilienceMiddlewareState;
pub use resilience_api::create_resilience_router;
pub use resilience_api::BulkheadStateResponse;
pub use resilience_api::CircuitBreakerStateResponse;
pub use resilience_api::ResilienceApiState;
pub use scenario_orchestrator::OrchestratedScenario;
pub use scenario_orchestrator::ScenarioOrchestrator;
pub use scenario_orchestrator::ScenarioStep;
pub use scenario_recorder::ChaosEvent;
pub use scenario_recorder::ChaosEventType;
pub use scenario_recorder::RecordedScenario;
pub use scenario_recorder::ScenarioRecorder;
pub use scenario_replay::ReplayOptions;
pub use scenario_replay::ReplaySpeed;
pub use scenario_replay::ScenarioReplayEngine;
pub use scenario_scheduler::ScenarioScheduler;
pub use scenario_scheduler::ScheduleType;
pub use scenario_scheduler::ScheduledScenario;
pub use scenarios::ChaosScenario;
pub use scenarios::PredefinedScenarios;
pub use scenarios::ScenarioEngine;
pub use template_marketplace::CompatibilityInfo;
pub use template_marketplace::OrchestrationTemplate;
pub use template_marketplace::TemplateCategory;
pub use template_marketplace::TemplateMarketplace;
pub use template_marketplace::TemplateReview;
pub use template_marketplace::TemplateSearchFilters;
pub use template_marketplace::TemplateSortBy;
pub use template_marketplace::TemplateStats;
pub use traffic_shaping::TrafficShaper;
pub use version_control::Branch;
pub use version_control::Commit;
pub use version_control::Diff;
pub use version_control::DiffChange;
pub use version_control::DiffChangeType;
pub use version_control::DiffStats;
pub use version_control::VersionControlRepository;

Modules§

ab_testing
A/B testing framework for chaos engineering strategies
advanced_analytics
Advanced analytics engine for chaos engineering
advanced_orchestration
Advanced orchestration features
alerts
Alert system for chaos events
analytics
Chaos analytics and metrics aggregation
api
Management API for chaos engineering
auto_remediation
Auto-remediation engine for chaos recommendations
chaos_listener
TCP-level connection-error injection.
chaos_mesh
Pillars: [Reality]
collaboration
Collaborative editing support for orchestrations
config
Chaos engineering configuration
core_chaos_utilities
Re-export of chaos utility types from mockforge-core.
core_failure_injection
Re-export of failure injection types from mockforge-core.
core_network_profiles
Re-export of network profile types from mockforge-core.
core_traffic_shaping
Re-export of traffic shaping types from mockforge-core.
dashboard
Real-time dashboard WebSocket support
distributed_coordinator
Distributed chaos coordination
failure_designer
“What-If” Failure Designer
fault
Fault injection for simulating errors and failures
gitops
GitOps workflow support for chaos orchestrations
incident_replay
Incident Replay - Convert production incident timelines into replayable chaos scenarios
integrations
latency
Latency injection for simulating network delays
latency_metrics
Latency metrics tracking for real-time visualization
metrics
Prometheus metrics for chaos engineering
middleware
Chaos engineering middleware for HTTP
ml_anomaly_detector
ML-based anomaly detection for orchestration patterns
ml_assertion_generator
ML-based assertion generation from historical data
ml_parameter_optimizer
ML-based parameter optimization for chaos scenarios
multi_armed_bandit
multi_cluster
Multi-cluster orchestration support
multi_tenancy
Multi-Tenancy Support
observability_api
Observability API endpoints for the Admin UI
plugins
Chaos Plugin System
predictive_remediation
protocols
Protocol-specific chaos engineering modules
rate_limit
Rate limiting for controlling request throughput
recommendations
AI-powered chaos recommendations
reinforcement_learning
request_matcher
Per-request matcher for conditional chaos injection.
resilience
Advanced resilience patterns: Circuit Breaker and Bulkhead
resilience_api
API endpoints for resilience management
resilience_middleware
Axum middleware that wires every HTTP request through the CircuitBreakerManager + BulkheadManager state objects.
scenario_orchestrator
Scenario orchestration for composing and chaining chaos scenarios
scenario_recorder
Scenario recording and replay system
scenario_replay
Scenario replay engine for reproducing recorded chaos scenarios
scenario_scheduler
Time-based scenario scheduling
scenarios
Chaos engineering scenarios for orchestrating complex failure patterns
template_marketplace
Template Marketplace for orchestration templates
trace_collector
Trace collector for querying traces from Jaeger and OTLP backends
traffic_shaping
Traffic shaping for simulating network conditions
version_control
Version control for orchestrations

Structs§

BandwidthConfig
Bandwidth throttling configuration
BurstLossConfig
Burst loss configuration for simulating intermittent connectivity issues
ChaosEngine
Chaos engine that orchestrates random failure injection
ChaosStatistics
Statistics for chaos engineering engine
CoreChaosConfig
Chaos mode configuration
CoreNetworkProfile
Pre-configured network condition profile
CoreTrafficShaper
Main traffic shaper combining bandwidth throttling and burst loss
CoreTrafficShapingConfig
Traffic shaping configuration combining all features
FailureConfig
Failure injection configuration
FailureInjector
Enhanced failure injector with tag filtering and error rates
NetworkProfileCatalog
Network profile catalog with built-in presets
TagFailureConfig
Per-tag failure configuration

Enums§

ChaosError
Chaos engineering errors
ChaosResult
Result of chaos engineering evaluation, indicating what effect to apply

Functions§

create_failure_injector
Helper function to create a failure injector from core config

Type Aliases§

Result