Skip to main content

PlatformExecutionProvider

Struct PlatformExecutionProvider 

Source
pub struct PlatformExecutionProvider { /* private fields */ }
Expand description

Production provider set. Native and isolated allocations are routed by the immutable execution kind in the policy/journal; an unavailable isolated backend can never fall through to native process launch.

Implementations§

Source§

impl PlatformExecutionProvider

Source

pub fn new(host_id: HostId) -> Self

Source

pub fn with_runner_env_file(self, path: PathBuf) -> Self

Applies the host’s runner.env at path to every native runner. Isolated runners do not get it: their environment is the image’s.

Source

pub fn with_dependency_caches(self, caches: DependencyCaches) -> Self

Gives every native runner persistent dependency caches. Isolated runners do not get them: their providers mount no host directory.

Source

pub fn with_docker_cleanup(self, cleanup: DockerCleanup) -> Self

Source

pub fn with_runner_account( self, account: Result<Option<RunnerAccount>, String>, ) -> Self

Starts every native runner as account, which owns its attempt directory and its caches. None keeps runners in the daemon’s account.

Trait Implementations§

Source§

impl Debug for PlatformExecutionProvider

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl ExecutionProvider for PlatformExecutionProvider

Source§

fn probe(&self, policy: &ScalePolicy) -> ProviderCapability

Source§

fn resolve( &self, policy: &ScalePolicy, ) -> Result<Option<ResolvedEnvironment>, FailureReason>

Resolve Auto and image identity before allocation or GitHub JIT. Native has no image.
Source§

fn prepare( &self, attempt: &RunnerAttempt, policy: &ScalePolicy, ) -> Result<PreparedEnvironment, FailureReason>

Source§

fn start( &self, prepared: PreparedEnvironment, attempt: &RunnerAttempt, handoff: OneTimeJitHandoff<'_>, ) -> Result<EnvironmentIdentity, ProcessStartFailure>

Source§

fn inspect( &self, attempt: &RunnerAttempt, ) -> Result<EnvironmentState, FailureReason>

Source§

fn stop(&self, attempt: &RunnerAttempt) -> Result<ProviderStop, FailureReason>

Source§

fn destroy( &self, attempt: &RunnerAttempt, ) -> Result<ProviderDestroy, FailureReason>

Source§

fn recover( &self, attempt: &RunnerAttempt, ) -> Result<EnvironmentState, FailureReason>

Source§

fn enumerate_owned(&self, host_id: HostId) -> Vec<EnvironmentIdentity>

Source§

fn diagnostics(&self, attempt: &RunnerAttempt) -> Vec<ProviderDiagnostic>

Source§

fn owns(&self, attempt: &RunnerAttempt) -> Result<bool, FailureReason>

Independent resource metadata must match the journal before destructive calls.
Source§

fn spawn( &self, attempt: &RunnerAttempt, config: &EncodedJitConfig, ) -> Result<u32, ProcessStartFailure>

Source§

fn is_alive(&self, attempt: &RunnerAttempt) -> Result<bool, FailureReason>

Source§

fn recovered_pid( &self, attempt: &RunnerAttempt, ) -> Result<Option<u32>, FailureReason>

Durable identity observed for a process that spawned before the starting journal write survived.
Source§

fn completed_successfully(&self, attempt: &RunnerAttempt) -> bool

True only for a child this invocation owned and reaped with a successful exit status. A recovered process that is merely gone answers false.
Source§

fn record_terminate_intent( &self, attempt: &RunnerAttempt, ) -> Result<(), FailureReason>

Source§

fn has_terminate_intent(&self, attempt: &RunnerAttempt) -> bool

Source§

fn terminate(&self, attempt: &RunnerAttempt) -> Result<(), FailureReason>

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