Skip to main content

LocalDockerRuntime

Struct LocalDockerRuntime 

Source
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::Literal env vars are forwarded; FromSecret and FromMesh values are skipped with a warning (no secrets infrastructure at the local tier).
  • Only VolumeSource::Bind mounts are forwarded; named volumes and tmpfs are skipped with a warning.
  • spec.command overrides the image CMD when set.
  • Mesh / WireGuard / raft fields are ignored — sim containers communicate over OrbStack’s bridge network.

Implementations§

Source§

impl LocalDockerRuntime

Source

pub fn new(inner: LocalRuntime) -> Self

Source

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

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,

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 more
Source§

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,

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,

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§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more