pub enum RepositoryPhase {
Pending,
Initializing,
Ready,
Degraded,
Failed,
Unknown(String),
}Expand description
Lifecycle phase of a repository. A freshly admitted CR starts in Pending.
use kopiur_api::repository::RepositoryPhase;
assert_eq!(serde_json::to_value(RepositoryPhase::Ready).unwrap(), "Ready");
// An unrecognized phase from a newer operator decodes instead of erroring.
let p: RepositoryPhase = serde_json::from_value(serde_json::json!("Upgrading")).unwrap();
assert_eq!(p, RepositoryPhase::Unknown("Upgrading".into()));
assert_eq!(serde_json::to_value(&p).unwrap(), "Upgrading");Variants§
Pending
Accepted by the API server but not yet reconciled.
Initializing
Connecting to (or creating) the kopia repository.
Ready
Connected and healthy.
Degraded
Temporarily not fully operational, and self-healing: a retryable
bootstrap/connect failure is being retried, or the backend health probe
exceeded its failureThreshold (the circuit breaker is open — backups
and replication are paused until a re-connect succeeds; maintenance
still runs for an already-bootstrapped repository unless the backend is
confirmed unreachable or the repository vanished, because index
compaction is often the cure). See the BackendReachable and Ready
conditions for the cause.
Failed
Connect/create failed; see conditions for the actionable reason.
Unknown(String)
A phase string this build does not recognize (newer operator, or legacy
stored data). Decode-compat only — hidden from the CRD schema, never
produced by this build. Never treated as Ready: consumers that gate on
“is the repository usable” must hold, not proceed.
Trait Implementations§
Source§impl Clone for RepositoryPhase
impl Clone for RepositoryPhase
Source§fn clone(&self) -> RepositoryPhase
fn clone(&self) -> RepositoryPhase
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 RepositoryPhase
impl Debug for RepositoryPhase
Source§impl Default for RepositoryPhase
impl Default for RepositoryPhase
Source§fn default() -> RepositoryPhase
fn default() -> RepositoryPhase
Source§impl<'de> Deserialize<'de> for RepositoryPhase
impl<'de> Deserialize<'de> for RepositoryPhase
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
impl Eq for RepositoryPhase
Source§impl JsonSchema for RepositoryPhase
impl JsonSchema for RepositoryPhase
Source§fn json_schema(_: &mut SchemaGenerator) -> Schema
fn json_schema(_: &mut SchemaGenerator) -> Schema
§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for RepositoryPhase
impl PartialEq for RepositoryPhase
Source§fn eq(&self, other: &RepositoryPhase) -> bool
fn eq(&self, other: &RepositoryPhase) -> bool
self and other values to be equal, and is used by ==.Source§impl PhaseLabel for RepositoryPhase
impl PhaseLabel for RepositoryPhase
Source§const ALL: &'static [Self]
const ALL: &'static [Self]
Unknown.Source§fn label(&self) -> &str
fn label(&self) -> &str
match); the Unknown arm echoes the stored value verbatim so a
read-modify-write never mutates a phase this build does not understand.Source§fn unknown(raw: String) -> Self
fn unknown(raw: String) -> Self
phase_serde! macro’s host enum.Source§impl Serialize for RepositoryPhase
impl Serialize for RepositoryPhase
impl StructuralPartialEq for RepositoryPhase
Auto Trait Implementations§
impl Freeze for RepositoryPhase
impl RefUnwindSafe for RepositoryPhase
impl Send for RepositoryPhase
impl Sync for RepositoryPhase
impl Unpin for RepositoryPhase
impl UnsafeUnpin for RepositoryPhase
impl UnwindSafe for RepositoryPhase
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<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