pub struct ResolvedMover {
pub security_context: SecurityContext,
pub pod_security_context: Option<PodSecurityContext>,
pub resources: Option<ResourceRequirements>,
pub cache: Option<CacheDefaults>,
pub node_selector: Option<BTreeMap<String, String>>,
pub tolerations: Option<Vec<Toleration>>,
pub affinity: Option<Affinity>,
pub source_colocation: SourceColocationMode,
pub ttl_seconds_after_finished: Option<i64>,
pub throttle: Option<Throttle>,
}Expand description
The fully-resolved mover configuration for a single run, after the 3-layer
field-wise merge hardened ⊂ repo.moverDefaults ⊂ recipe.mover (ADR-0004 §1/§2).
security_context is ALWAYS present (the hardened base guarantees it); the rest are
Some only when some layer set them. The privileged-mover gate (§4.11/§G16) runs on
security_context/pod_security_context here — the merged result — not on the raw
recipe, so an elevation introduced by moverDefaults is still gated.
Fields§
§security_context: SecurityContextMerged container security context — always present (hardened base).
pod_security_context: Option<PodSecurityContext>Merged pod security context, if any layer set one.
resources: Option<ResourceRequirements>Merged resource requirements, if any layer set them.
cache: Option<CacheDefaults>Merged cache config, if any layer set it.
node_selector: Option<BTreeMap<String, String>>Pod node selector from moverDefaults (no per-recipe override surface today).
tolerations: Option<Vec<Toleration>>Pod tolerations from moverDefaults.
affinity: Option<Affinity>Pod affinity from moverDefaults.
source_colocation: SourceColocationModeResolved RWO source/destination co-location mode (moverDefaults.sourceColocation.mode),
defaulting to SourceColocationMode::Auto. Always Some so the reconciler
has a concrete strategy. RWO multi-attach fix.
ttl_seconds_after_finished: Option<i64>Resolved Job TTL (recipe mover.ttlSecondsAfterFinished wins over
moverDefaults.ttlSecondsAfterFinished, falling back to
DEFAULT_JOB_TTL_SECONDS). Always Some so finished Jobs self-GC. §12.
throttle: Option<Throttle>Resolved repository throttle (moverDefaults.throttle), if any. §13(e).
Auto Trait Implementations§
impl Freeze for ResolvedMover
impl RefUnwindSafe for ResolvedMover
impl Send for ResolvedMover
impl Sync for ResolvedMover
impl Unpin for ResolvedMover
impl UnsafeUnpin for ResolvedMover
impl UnwindSafe for ResolvedMover
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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