pub struct StreamExec {
pub pod_selector: LabelSelector,
pub container: Option<String>,
pub command: Vec<String>,
pub timeout: Option<String>,
}Expand description
Exec a command in exactly one running workload Pod, streaming one of its
standard streams. Used as the producer of a stream backup source and as the
consumer of a streamExec restore target.
Exactly one RUNNING Pod must match podSelector: zero, several, or only
not-running matches are named failures, never an arbitrary pick — a backup that
silently dumped a different replica than intended is worse than one that stops.
Fields§
§pod_selector: LabelSelectorStandard label selector identifying the workload Pod, resolved in the
SnapshotPolicy’s (or Restore’s) own namespace. Must not be empty — an
empty selector matches every Pod in the namespace.
container: Option<String>Container to exec in; absent uses the Pod’s default container.
command: Vec<String>The argv to execute. NOT a shell line: element 0 is the program, so use
["sh", "-ec", "..."] explicitly if you want shell semantics.
Reference credentials through the container’s existing environment or mounted
Secrets — never inline them here. This argv is copied into the mover Pod’s
spec, so anyone with pods:get in the namespace can read it.
timeout: Option<String>Go duration bounding the command (e.g. 2h; default 1h). On expiry the
command is abandoned and the run fails, leaving no snapshot behind.
The same bound applies whether this exec is a backup’s producer or a
streamExec restore’s consumer.
Trait Implementations§
Source§impl Clone for StreamExec
impl Clone for StreamExec
Source§fn clone(&self) -> StreamExec
fn clone(&self) -> StreamExec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StreamExec
impl Debug for StreamExec
Source§impl<'de> Deserialize<'de> for StreamExec
impl<'de> Deserialize<'de> for StreamExec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for StreamExec
impl JsonSchema for StreamExec
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for StreamExec
impl PartialEq for StreamExec
Source§fn eq(&self, other: &StreamExec) -> bool
fn eq(&self, other: &StreamExec) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for StreamExec
impl Serialize for StreamExec
impl StructuralPartialEq for StreamExec
Auto Trait Implementations§
impl Freeze for StreamExec
impl RefUnwindSafe for StreamExec
impl Send for StreamExec
impl Sync for StreamExec
impl Unpin for StreamExec
impl UnsafeUnpin for StreamExec
impl UnwindSafe for StreamExec
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§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