2025-12-01 12:48:39 +01:00
|
|
|
//! Scenario orchestration primitives shared by integration tests and runners.
|
|
|
|
|
|
2026-02-02 07:19:22 +01:00
|
|
|
use std::error::Error;
|
|
|
|
|
|
|
|
|
|
mod builder_ext;
|
|
|
|
|
mod builder_ops;
|
2025-12-01 12:48:39 +01:00
|
|
|
mod capabilities;
|
2026-02-02 07:19:22 +01:00
|
|
|
mod common_builder_ext;
|
2026-02-05 08:23:14 +02:00
|
|
|
mod control;
|
2025-12-01 12:48:39 +01:00
|
|
|
mod definition;
|
2026-02-02 07:19:22 +01:00
|
|
|
mod deployment_policy;
|
2025-12-01 12:48:39 +01:00
|
|
|
mod expectation;
|
2025-12-17 18:28:36 +01:00
|
|
|
mod observability;
|
2025-12-01 12:48:39 +01:00
|
|
|
mod runtime;
|
2026-02-19 06:30:43 +01:00
|
|
|
mod sources;
|
2025-12-01 12:48:39 +01:00
|
|
|
mod workload;
|
|
|
|
|
|
2026-02-02 07:19:22 +01:00
|
|
|
pub type DynError = Box<dyn Error + Send + Sync + 'static>;
|
2025-12-01 12:48:39 +01:00
|
|
|
|
2026-02-02 07:19:22 +01:00
|
|
|
pub use builder_ext::{BuilderInputError, ObservabilityBuilderExt};
|
|
|
|
|
#[doc(hidden)]
|
|
|
|
|
pub use builder_ops::CoreBuilderAccess;
|
2025-12-16 21:20:27 +01:00
|
|
|
pub use capabilities::{
|
2026-02-05 08:23:14 +02:00
|
|
|
NodeControlCapability, ObservabilityCapability, PeerSelection, RequiresNodeControl,
|
|
|
|
|
StartNodeOptions, StartedNode,
|
2025-12-16 21:20:27 +01:00
|
|
|
};
|
2026-02-02 07:19:22 +01:00
|
|
|
pub use common_builder_ext::CoreBuilderExt;
|
2026-03-07 08:32:31 +01:00
|
|
|
pub use control::{ClusterWaitHandle, NodeControlHandle};
|
2026-02-02 07:19:22 +01:00
|
|
|
#[doc(hidden)]
|
2025-12-18 22:48:45 +01:00
|
|
|
pub use definition::{
|
2026-02-02 07:19:22 +01:00
|
|
|
Builder as CoreBuilder, // internal adapter-facing core builder
|
|
|
|
|
NodeControlScenarioBuilder,
|
|
|
|
|
ObservabilityScenarioBuilder,
|
2025-12-18 22:48:45 +01:00
|
|
|
};
|
2026-02-02 07:19:22 +01:00
|
|
|
pub use definition::{Scenario, ScenarioBuildError, ScenarioBuilder};
|
|
|
|
|
pub use deployment_policy::{CleanupPolicy, DeploymentPolicy, RetryPolicy};
|
2025-12-01 12:48:39 +01:00
|
|
|
pub use expectation::Expectation;
|
2025-12-17 18:28:36 +01:00
|
|
|
pub use observability::{ObservabilityCapabilityProvider, ObservabilityInputs};
|
2025-12-01 12:48:39 +01:00
|
|
|
pub use runtime::{
|
2026-03-08 13:40:27 +01:00
|
|
|
ApplicationExternalProvider, AttachProvider, AttachProviderError, AttachedNode, CleanupGuard,
|
|
|
|
|
Deployer, Feed, FeedHandle, FeedRuntime, HttpReadinessRequirement, ManagedSource, NodeClients,
|
2026-02-19 10:36:52 +01:00
|
|
|
ReadinessError, RunContext, RunHandle, RunMetrics, Runner, ScenarioError,
|
|
|
|
|
SourceOrchestrationPlan, SourceProviders, StabilizationConfig, StaticManagedProvider,
|
|
|
|
|
build_source_orchestration_plan,
|
2025-12-01 12:48:39 +01:00
|
|
|
metrics::{
|
|
|
|
|
CONSENSUS_PROCESSED_BLOCKS, CONSENSUS_TRANSACTIONS_TOTAL, Metrics, MetricsError,
|
|
|
|
|
PrometheusEndpoint, PrometheusInstantSample,
|
|
|
|
|
},
|
2026-03-02 11:19:55 +01:00
|
|
|
orchestrate_sources, orchestrate_sources_with_providers, resolve_sources, spawn_feed,
|
|
|
|
|
wait_for_http_ports, wait_for_http_ports_with_host,
|
|
|
|
|
wait_for_http_ports_with_host_and_requirement, wait_for_http_ports_with_requirement,
|
|
|
|
|
wait_http_readiness, wait_until_stable,
|
2025-12-01 12:48:39 +01:00
|
|
|
};
|
2026-03-08 14:05:28 +01:00
|
|
|
#[doc(hidden)]
|
|
|
|
|
pub use sources::AttachSource;
|
|
|
|
|
pub use sources::{ExistingCluster, ExternalNodeSource, ScenarioSources};
|
2025-12-01 12:48:39 +01:00
|
|
|
pub use workload::Workload;
|
2026-02-02 07:19:22 +01:00
|
|
|
|
|
|
|
|
pub use crate::env::Application;
|