pub mod mock;
pub mod unimplemented;
#[cfg(feature = "orchestrator-bollard")]
pub mod bollard;
pub mod dispatch;
use crate::ctx;
pub trait Orchestrator<CTXEXT>: Send + Sync + 'static {
type Error: objectiveai_sdk::error::StatusError + Send + Sync + 'static;
fn spawn_containers(
&self,
ctx: &ctx::Context<CTXEXT, impl ctx::persistent_cache::PersistentCacheClient>,
image: &str,
num_builders: usize,
execution_id: &str,
binaries: &[(&str, &[u8])],
env: &[(&str, &str)],
) -> impl std::future::Future<Output = Result<Vec<String>, Self::Error>> + Send;
fn cleanup_containers(
&self,
ctx: &ctx::Context<CTXEXT, impl ctx::persistent_cache::PersistentCacheClient>,
execution_id: &str,
num_builders: usize,
) -> impl std::future::Future<Output = ()> + Send;
}