pub struct BoxRuntimeDriver { /* private fields */ }Expand description
Concrete A3S Runtime driver backed by a configured Box isolation backend.
Implementations§
Source§impl BoxRuntimeDriver
impl BoxRuntimeDriver
Sourcepub fn new(config: BoxRuntimeDriverConfig) -> RuntimeResult<Self>
pub fn new(config: BoxRuntimeDriverConfig) -> RuntimeResult<Self>
Create a Runtime driver backed by Box MicroVM isolation.
Shared-kernel execution is never selected as an automatic fallback.
Sourcepub fn new_confidential(
config: BoxRuntimeDriverConfig,
sev_snp: BoxRuntimeSevSnpConfig,
) -> RuntimeResult<Self>
pub fn new_confidential( config: BoxRuntimeDriverConfig, sev_snp: BoxRuntimeSevSnpConfig, ) -> RuntimeResult<Self>
Create a Runtime driver that explicitly supports AMD SEV-SNP confidential MicroVMs in addition to ordinary MicroVM sandboxes.
Sourcepub fn new_with_isolation(
config: BoxRuntimeDriverConfig,
execution_isolation: ExecutionIsolation,
) -> RuntimeResult<Self>
pub fn new_with_isolation( config: BoxRuntimeDriverConfig, execution_isolation: ExecutionIsolation, ) -> RuntimeResult<Self>
Create a Runtime driver with an explicit concrete Box isolation
backend for Runtime’s provider-neutral IsolationLevel::Sandbox.
Sourcepub fn with_secret_materializer(
self,
materializer: Arc<dyn BoxSecretMaterializer>,
) -> Self
pub fn with_secret_materializer( self, materializer: Arc<dyn BoxSecretMaterializer>, ) -> Self
Compose the shared Box driver with one caller-owned Secret resolver.
The resolver is normally backed by the node agent’s existing authenticated control channel. It is not a second lifecycle or Secret store, and Box never persists the returned bytes.
Sourcepub fn with_artifact_port(self, port: Arc<dyn BoxArtifactPort>) -> Self
pub fn with_artifact_port(self, port: Arc<dyn BoxArtifactPort>) -> Self
Compose the shared Box driver with one caller-owned Artifact boundary.
The caller keeps authenticated transport and Artifact admission. Box reuses its existing VolumeStore and lifecycle records for mount wiring, Task-output staging, generation fencing, and cleanup.
Sourcepub const fn execution_isolation(&self) -> ExecutionIsolation
pub const fn execution_isolation(&self) -> ExecutionIsolation
Concrete Box isolation backend selected for this provider instance.
Trait Implementations§
Source§impl RuntimeDriver for BoxRuntimeDriver
impl RuntimeDriver for BoxRuntimeDriver
fn provider_id(&self) -> &ProviderId
fn capabilities<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RuntimeResult<RuntimeCapabilities>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn apply<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
spec: &'life1 RuntimeUnitSpec,
current: &'life2 RuntimeObservation,
) -> Pin<Box<dyn Future<Output = RuntimeResult<RuntimeObservation>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn inspect<'life0, 'life1, 'async_trait>(
&'life0 self,
unit: &'life1 RuntimeUnitRecord,
) -> Pin<Box<dyn Future<Output = RuntimeResult<RuntimeInspection>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn stop<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
unit: &'life1 RuntimeUnitRecord,
request: &'life2 RuntimeActionRequest,
) -> Pin<Box<dyn Future<Output = RuntimeResult<RuntimeObservation>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn remove<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
unit: &'life1 RuntimeUnitRecord,
request: &'life2 RuntimeActionRequest,
) -> Pin<Box<dyn Future<Output = RuntimeResult<RuntimeRemoval>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn logs<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
unit: &'life1 RuntimeUnitRecord,
query: &'life2 RuntimeLogQuery,
) -> Pin<Box<dyn Future<Output = RuntimeResult<Vec<RuntimeLogChunk>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn exec<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
unit: &'life1 RuntimeUnitRecord,
request: &'life2 RuntimeExecRequest,
) -> Pin<Box<dyn Future<Output = RuntimeResult<RuntimeExecResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn exec<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
unit: &'life1 RuntimeUnitRecord,
request: &'life2 RuntimeExecRequest,
) -> Pin<Box<dyn Future<Output = RuntimeResult<RuntimeExecResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Auto Trait Implementations§
impl !Freeze for BoxRuntimeDriver
impl !RefUnwindSafe for BoxRuntimeDriver
impl !UnwindSafe for BoxRuntimeDriver
impl Send for BoxRuntimeDriver
impl Sync for BoxRuntimeDriver
impl Unpin for BoxRuntimeDriver
impl UnsafeUnpin for BoxRuntimeDriver
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more