pub enum ForeignSnapshots {
Ignore,
Fallback,
}Expand description
How catalog discovery treats snapshots written by ANOTHER cluster.
status.catalog.foreignSnapshotCount counts an identity hostname carrying
a different .<cluster> suffix ALWAYS, under either value below, plus —
under Ignore only — a bare hostname naming no allowed namespace here.
Under Fallback, that same disallowed bare host is NOT counted foreign:
it materializes into catalog.fallbackNamespace exactly like a disallowed
OwnCluster host would, so it is placed rather than dropped-and-counted
(see classify_hostname/decide_cluster_placement).
Meaningful only when identityDefaults.cluster is set: without a cluster
identity there is no notion of “foreign” and the legacy
hostname-names-a-namespace placement applies (validators enforce this).
Variants§
Ignore
Skip foreign snapshots: no discovered Snapshot CR is materialized;
they are counted in status.catalog.foreignSnapshotCount and the
kopiur_repo_foreign_snapshots gauge, never silently invisible.
Fallback
Materialize foreign snapshots into catalog.fallbackNamespace
(ClusterRepository only; requires fallbackNamespace).
Trait Implementations§
Source§impl Clone for ForeignSnapshots
impl Clone for ForeignSnapshots
Source§fn clone(&self) -> ForeignSnapshots
fn clone(&self) -> ForeignSnapshots
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 ForeignSnapshots
impl Debug for ForeignSnapshots
Source§impl Default for ForeignSnapshots
impl Default for ForeignSnapshots
Source§fn default() -> ForeignSnapshots
fn default() -> ForeignSnapshots
Source§impl<'de> Deserialize<'de> for ForeignSnapshots
impl<'de> Deserialize<'de> for ForeignSnapshots
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 ForeignSnapshots
impl JsonSchema for ForeignSnapshots
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 ForeignSnapshots
impl PartialEq for ForeignSnapshots
Source§fn eq(&self, other: &ForeignSnapshots) -> bool
fn eq(&self, other: &ForeignSnapshots) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ForeignSnapshots
impl Serialize for ForeignSnapshots
impl Copy for ForeignSnapshots
impl Eq for ForeignSnapshots
impl StructuralPartialEq for ForeignSnapshots
Auto Trait Implementations§
impl Freeze for ForeignSnapshots
impl RefUnwindSafe for ForeignSnapshots
impl Send for ForeignSnapshots
impl Sync for ForeignSnapshots
impl Unpin for ForeignSnapshots
impl UnsafeUnpin for ForeignSnapshots
impl UnwindSafe for ForeignSnapshots
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