pub struct LocalContainerProvider { /* private fields */ }Expand description
The local-container provider: per-mission compose project, dynamic ports, in-network contract readiness. See the module docs.
Implementations§
Trait Implementations§
Source§impl Default for LocalContainerProvider
impl Default for LocalContainerProvider
Source§impl WorkspaceProvider for LocalContainerProvider
impl WorkspaceProvider for LocalContainerProvider
Source§fn run_data_hook<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
handle: &'life1 WorkspaceHandle,
hook: DataHookKind,
command: &'life2 str,
progress: &'life3 mut ProgressSink<'life4>,
) -> Pin<Box<dyn Future<Output = Result<Option<CommandOutcome>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn run_data_hook<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
handle: &'life1 WorkspaceHandle,
hook: DataHookKind,
command: &'life2 str,
progress: &'life3 mut ProgressSink<'life4>,
) -> Pin<Box<dyn Future<Output = Result<Option<CommandOutcome>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Golden-data hooks exec INSIDE the workspace container (design D-D) —
the same compose exec -T workspace sh -c … path the gate phases
use, so a container workspace never runs data hooks on the host.
Source§fn kind(&self) -> WorkspaceProviderKind
fn kind(&self) -> WorkspaceProviderKind
Which kind this provider is (recorded in
workspace.provisioned).Source§fn provision<'life0, 'life1, 'async_trait>(
&'life0 self,
spec: &'life1 ProvisionSpec,
) -> Pin<Box<dyn Future<Output = Result<WorkspaceHandle>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn provision<'life0, 'life1, 'async_trait>(
&'life0 self,
spec: &'life1 ProvisionSpec,
) -> Pin<Box<dyn Future<Output = Result<WorkspaceHandle>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Establish the workspace for one mission and return its handle.
Source§fn readiness<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
handle: &'life1 WorkspaceHandle,
progress: &'life2 mut ProgressSink<'life3>,
) -> Pin<Box<dyn Future<Output = Result<ReadinessOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn readiness<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
handle: &'life1 WorkspaceHandle,
progress: &'life2 mut ProgressSink<'life3>,
) -> Pin<Box<dyn Future<Output = Result<ReadinessOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Prove the workspace ready for spend (see
ProgressSink).Source§fn teardown<'life0, 'async_trait>(
&'life0 self,
handle: WorkspaceHandle,
mode: TeardownMode,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn teardown<'life0, 'async_trait>(
&'life0 self,
handle: WorkspaceHandle,
mode: TeardownMode,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Tear the workspace down per
mode (see TeardownMode for v1
local-worktree semantics).Auto Trait Implementations§
impl !RefUnwindSafe for LocalContainerProvider
impl !UnwindSafe for LocalContainerProvider
impl Freeze for LocalContainerProvider
impl Send for LocalContainerProvider
impl Sync for LocalContainerProvider
impl Unpin for LocalContainerProvider
impl UnsafeUnpin for LocalContainerProvider
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more