pub struct ClusterRepositorySpec {Show 18 fields
pub backend: Backend,
pub encryption: Encryption,
pub create: Option<CreateBehavior>,
pub bootstrap: Option<BootstrapSpec>,
pub mover_defaults: Option<MoverDefaults>,
pub schedule_defaults: Option<ScheduleDefaults>,
pub catalog: Option<CatalogBounds>,
pub allowed_namespaces: AllowedNamespaces,
pub identity_defaults: Option<IdentityDefaults>,
pub server: Option<ClusterServerSpec>,
pub maintenance: Option<RepositoryMaintenanceSpec>,
pub on_namespace_delete: NamespaceDeletePolicy,
pub deletion_protection: Option<DeletionProtectionSpec>,
pub credential_projection: Option<ClusterRepoCredentialProjection>,
pub mode: RepositoryMode,
pub suspend: bool,
pub health: Option<RepositoryHealthSpec>,
pub parameters: Option<RepositoryParameters>,
}Expand description
A cluster-scoped kopia repository referenceable from allow-listed namespaces.
Fields§
§backend: BackendExactly one storage backend.
encryption: EncryptionRepository password (a Secret reference that must carry an explicit namespace).
create: Option<CreateBehavior>What to do when the repository does not yet exist (absent means it must already exist).
bootstrap: Option<BootstrapSpec>Tuning for the bootstrap/discovery mover Job (<name>-discovery) that
connects/creates an object-store repository the operator cannot reach
in-process (and re-runs for catalog re-scans).
mover_defaults: Option<MoverDefaults>Base mover configuration inherited by every mover this repository spawns.
schedule_defaults: Option<ScheduleDefaults>Scheduling defaults (e.g. timezone) inherited by consumers that don’t set
their own equivalent field — verification, replication, and maintenance
schedules today; set once here instead of repeating it on every cron.
catalog: Option<CatalogBounds>Bounds materialization of origin: discovered Snapshot CRs from the kopia catalog.
allowed_namespaces: AllowedNamespacesWhich namespaces are permitted to reference this repository.
identity_defaults: Option<IdentityDefaults>Identity defaults (CEL *Expr) applied when consumers don’t override.
server: Option<ClusterServerSpec>Optional kopia web-UI server (the target namespace is required).
maintenance: Option<RepositoryMaintenanceSpec>Maintenance control; maintenance.namespace selects where the owned Maintenance CR lands.
on_namespace_delete: NamespaceDeletePolicyWhat happens to this repository’s snapshots when a consuming namespace is deleted.
deletion_protection: Option<DeletionProtectionSpec>Mass-deletion circuit breaker for this repository’s Snapshots.
credential_projection: Option<ClusterRepoCredentialProjection>Repository-owner gate for projecting credential Secrets into a foreign consumer namespace.
mode: RepositoryModeAccess mode: ReadWrite (default) or ReadOnly (serves restores only).
suspend: boolPause this cluster repository: skip connect/bootstrap and maintenance projection.
health: Option<RepositoryHealthSpec>Repository health thresholds (tunes the index-blob-count warning).
parameters: Option<RepositoryParameters>Mutable kopia repository parameters, re-applied on bootstrap whenever they drift.
Trait Implementations§
Source§impl Clone for ClusterRepositorySpec
impl Clone for ClusterRepositorySpec
Source§fn clone(&self) -> ClusterRepositorySpec
fn clone(&self) -> ClusterRepositorySpec
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 ClusterRepositorySpec
impl Debug for ClusterRepositorySpec
Source§impl<'de> Deserialize<'de> for ClusterRepositorySpec
impl<'de> Deserialize<'de> for ClusterRepositorySpec
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 ClusterRepositorySpec
impl JsonSchema for ClusterRepositorySpec
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 ClusterRepositorySpec
impl PartialEq for ClusterRepositorySpec
Source§fn eq(&self, other: &ClusterRepositorySpec) -> bool
fn eq(&self, other: &ClusterRepositorySpec) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ClusterRepositorySpec
impl Serialize for ClusterRepositorySpec
impl StructuralPartialEq for ClusterRepositorySpec
Auto Trait Implementations§
impl Freeze for ClusterRepositorySpec
impl RefUnwindSafe for ClusterRepositorySpec
impl Send for ClusterRepositorySpec
impl Sync for ClusterRepositorySpec
impl Unpin for ClusterRepositorySpec
impl UnsafeUnpin for ClusterRepositorySpec
impl UnwindSafe for ClusterRepositorySpec
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<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