pub struct RepositoryHealthStatus {
pub last_probe_at: Option<String>,
pub last_healthy_at: Option<String>,
pub consecutive_probe_failures: Option<i64>,
pub first_failure_at: Option<String>,
pub probe_attempt_at: Option<String>,
}Expand description
Backend health-probe state, shared by Repository and ClusterRepository.
Pinned by the reconciler when spec.health.probe is enabled so the next
reconcile can tell whether a probe is due and how many consecutive failures
have accrued (the debounce that keeps a transient blip from raising the loud
RepositoryVanished / BackendReachable=False condition).
Fields§
§last_probe_at: Option<String>RFC 3339 timestamp of the last completed probe (success or failure); drives
the health_probe_due timer so the probe re-fires on cadence.
last_healthy_at: Option<String>RFC 3339 timestamp of the last successful probe (backend reachable, repo present).
consecutive_probe_failures: Option<i64>Consecutive failing probes accrued; reset to zero on any success. The loud condition is raised only once this reaches the failure threshold.
first_failure_at: Option<String>RFC 3339 timestamp of the first failure in the current failing streak.
probe_attempt_at: Option<String>RFC 3339 timestamp at which the last backend health probe was launched (the bootstrap Job created for it), cleared when its result is finalized.
This is the launch-side rate limit, and it is what makes the probe
terminate. lastProbeAt is written only at finalize, so gating the
launch on that alone recycles the bootstrap Job forever: the gate destroys
every Job whose completion would have cleared it (#273). Never compared
against lastProbeAt — see kopiur_controller::health::probe_action.
Trait Implementations§
Source§impl Clone for RepositoryHealthStatus
impl Clone for RepositoryHealthStatus
Source§fn clone(&self) -> RepositoryHealthStatus
fn clone(&self) -> RepositoryHealthStatus
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 RepositoryHealthStatus
impl Debug for RepositoryHealthStatus
Source§impl Default for RepositoryHealthStatus
impl Default for RepositoryHealthStatus
Source§fn default() -> RepositoryHealthStatus
fn default() -> RepositoryHealthStatus
Source§impl<'de> Deserialize<'de> for RepositoryHealthStatus
impl<'de> Deserialize<'de> for RepositoryHealthStatus
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 RepositoryHealthStatus
impl JsonSchema for RepositoryHealthStatus
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 RepositoryHealthStatus
impl PartialEq for RepositoryHealthStatus
Source§fn eq(&self, other: &RepositoryHealthStatus) -> bool
fn eq(&self, other: &RepositoryHealthStatus) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for RepositoryHealthStatus
impl Serialize for RepositoryHealthStatus
impl Eq for RepositoryHealthStatus
impl StructuralPartialEq for RepositoryHealthStatus
Auto Trait Implementations§
impl Freeze for RepositoryHealthStatus
impl RefUnwindSafe for RepositoryHealthStatus
impl Send for RepositoryHealthStatus
impl Sync for RepositoryHealthStatus
impl Unpin for RepositoryHealthStatus
impl UnsafeUnpin for RepositoryHealthStatus
impl UnwindSafe for RepositoryHealthStatus
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
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§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