pub enum LoweringPhase {
NamespaceCreate,
FsSetup,
PrivilegeDrop,
FdHygiene,
PolicyInstall,
Launch,
Observe,
Teardown,
}Expand description
The ordered setup phase a primitive lowers in.
Declaration order IS setup order — the derived Ord ranks an earlier phase
below a later one, so NamespaceCreate < FsSetup < … < Teardown. (Unlike
crate::Enforcement, whose derived Ord is deliberately reversed from
security strength, here the derived order is the intended order — confinement
is built outside-in, then the workload launches, then evidence is observed,
then teardown runs.)
Variants§
NamespaceCreate
Create namespaces / isolation domains (mount, pid, net, user).
FsSetup
Establish the filesystem view (binds, pivot_root, preopens).
PrivilegeDrop
Drop privileges irreversibly (no_new_privs, setuid/gid, cap drop).
FdHygiene
Sanitize inherited file descriptors (CLOEXEC sweep, handle list).
PolicyInstall
Install enforcement policy (seccomp-BPF, LSM, WFP, Job Object limits).
Launch
Launch the workload inside the now-established confinement.
Observe
Observe the running workload (collect evidence; no new confinement).
Teardown
Tear down / clean up established confinement (best-effort).
Implementations§
Trait Implementations§
Source§impl Clone for LoweringPhase
impl Clone for LoweringPhase
Source§fn clone(&self) -> LoweringPhase
fn clone(&self) -> LoweringPhase
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for LoweringPhase
Source§impl Debug for LoweringPhase
impl Debug for LoweringPhase
impl Eq for LoweringPhase
Source§impl Hash for LoweringPhase
impl Hash for LoweringPhase
Source§impl Ord for LoweringPhase
impl Ord for LoweringPhase
Source§fn cmp(&self, other: &LoweringPhase) -> Ordering
fn cmp(&self, other: &LoweringPhase) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for LoweringPhase
impl PartialEq for LoweringPhase
Source§fn eq(&self, other: &LoweringPhase) -> bool
fn eq(&self, other: &LoweringPhase) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialOrd for LoweringPhase
impl PartialOrd for LoweringPhase
impl StructuralPartialEq for LoweringPhase
Auto Trait Implementations§
impl Freeze for LoweringPhase
impl RefUnwindSafe for LoweringPhase
impl Send for LoweringPhase
impl Sync for LoweringPhase
impl Unpin for LoweringPhase
impl UnsafeUnpin for LoweringPhase
impl UnwindSafe for LoweringPhase
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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