pub struct LocalDockerRuntime { /* private fields */ }Expand description
WorkloadRuntime implementation backed by the docker CLI.
Wraps a detected LocalRuntime and translates each WorkloadSpec into
a ContainerRunSpec before delegating to the underlying docker calls.
This is the sim-tier half of the F10 keystone: camp embeds it pointing at
OrbStack; yubaba supplies the containerd half for cloud/HA.
Translation notes:
- Only
EnvValue::Literalenv vars are forwarded;FromSecretandFromMeshvalues are skipped with a warning (no secrets infrastructure at the local tier). - Only
VolumeSource::Bindmounts are forwarded; named volumes and tmpfs are skipped with a warning. spec.commandoverrides the image CMD when set.- Mesh / WireGuard / raft fields are ignored — sim containers communicate over OrbStack’s bridge network.
Implementations§
Source§impl LocalDockerRuntime
impl LocalDockerRuntime
pub fn new(inner: LocalRuntime) -> Self
Sourcepub fn runtime(&self) -> &LocalRuntime
pub fn runtime(&self) -> &LocalRuntime
Access the underlying LocalRuntime (e.g. to call ensure_image
or list_owned directly).
Trait Implementations§
Source§impl WorkloadRuntime for LocalDockerRuntime
impl WorkloadRuntime for LocalDockerRuntime
Source§fn deploy_workload<'life0, 'life1, 'async_trait>(
&'life0 self,
spec: &'life1 WorkloadSpec,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn deploy_workload<'life0, 'life1, 'async_trait>(
&'life0 self,
spec: &'life1 WorkloadSpec,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Deploy a workload described by
spec. Pulls the image if needed,
creates and starts the container, and returns an opaque workload ID
(typically the container name derived from spec.name). Read moreSource§fn teardown_workload<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn teardown_workload<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Tear down a deployed workload — stop the process and remove all
associated state. No-op when the workload is already gone.
Source§fn is_running<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn is_running<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Returns
true when the named workload is currently running (i.e.
the container process is alive and has not exited).Source§fn runtime_health<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn runtime_health<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Probe the runtime backend. Returns
true when the backend socket is
reachable and healthy (e.g. docker daemon up, containerd gRPC up).
Used by health endpoints and startup checks.Auto Trait Implementations§
impl Freeze for LocalDockerRuntime
impl RefUnwindSafe for LocalDockerRuntime
impl Send for LocalDockerRuntime
impl Sync for LocalDockerRuntime
impl Unpin for LocalDockerRuntime
impl UnsafeUnpin for LocalDockerRuntime
impl UnwindSafe for LocalDockerRuntime
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