pub struct RepositoryMaintenanceSpec {
pub enabled: bool,
pub schedule: Option<MaintenanceSchedule>,
pub mover: Option<MoverSpec>,
pub failure_policy: Option<FailurePolicy>,
pub takeover_policy: Option<TakeoverPolicy>,
pub namespace: Option<String>,
}Expand description
Inline maintenance control on a Repository/ClusterRepository
(spec.maintenance). ADR §3.1/§3.7.
Maintenance is default-managed: when this is absent (or enabled: true),
the repository reconciler projects it into an owned Maintenance child CR,
so kopia storage is reclaimed without the user remembering to author a
separate Maintenance. The reconciler honors an externally-authored
Maintenance referencing the repository regardless of enabled — setting
enabled: false only tells the operator not to create its own; it never
deletes, ignores, or warns about a user-managed one.
Not Eq: mover transitively embeds k8s-openapi types.
Fields§
§enabled: boolWhether the operator manages a Maintenance CR for this repository.
Defaults to true (default-on). When false, the operator does not
create or manage one — but an externally-authored Maintenance is still
honored.
schedule: Option<MaintenanceSchedule>Schedule override. When absent, the operator uses
default_maintenance_schedule (quick 6h / full daily).
mover: Option<MoverSpec>Mover overrides for the managed Maintenance (object-store repositories).
failure_policy: Option<FailurePolicy>Failure handling (backoff/deadline) for the managed Maintenance run.
takeover_policy: Option<TakeoverPolicy>Lease takeover policy for the managed Maintenance. Defaults to
TakeoverPolicy::Never.
namespace: Option<String>ClusterRepository only — namespace the managed (namespaced)
Maintenance CR is created in. Defaults to the operator’s own namespace.
Forbidden on a namespaced Repository (its Maintenance always lives in
the repository’s namespace), rejected by the admission webhook.
Trait Implementations§
Source§impl Clone for RepositoryMaintenanceSpec
impl Clone for RepositoryMaintenanceSpec
Source§fn clone(&self) -> RepositoryMaintenanceSpec
fn clone(&self) -> RepositoryMaintenanceSpec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RepositoryMaintenanceSpec
impl Debug for RepositoryMaintenanceSpec
Source§impl Default for RepositoryMaintenanceSpec
impl Default for RepositoryMaintenanceSpec
Source§impl<'de> Deserialize<'de> for RepositoryMaintenanceSpec
impl<'de> Deserialize<'de> for RepositoryMaintenanceSpec
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 RepositoryMaintenanceSpec
impl JsonSchema for RepositoryMaintenanceSpec
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 moreimpl StructuralPartialEq for RepositoryMaintenanceSpec
Auto Trait Implementations§
impl Freeze for RepositoryMaintenanceSpec
impl RefUnwindSafe for RepositoryMaintenanceSpec
impl Send for RepositoryMaintenanceSpec
impl Sync for RepositoryMaintenanceSpec
impl Unpin for RepositoryMaintenanceSpec
impl UnsafeUnpin for RepositoryMaintenanceSpec
impl UnwindSafe for RepositoryMaintenanceSpec
Blanket Implementations§
Source§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> 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