pub struct RepositoryReplicationSpec {
pub source_ref: RepositoryRef,
pub destination: Backend,
pub schedule: CronSpec,
pub mover: Option<MoverSpec>,
pub suspend: bool,
pub sync: Option<SyncOptions>,
}Expand description
Mirror a source repository’s blobs to a destination backend on a schedule (kopia repository sync-to).
Not Eq: mover transitively embeds k8s-openapi types.
Fields§
§source_ref: RepositoryRefReference to the Repository or ClusterRepository to mirror from.
destination: BackendThe backend to mirror to; must differ from the source’s backend (webhook-enforced).
kopia repository sync-to is a blob-level copy: the destination inherits the
source repository’s format and encryption password verbatim, so there is no
separate destination password to configure. The destination backend’s own
access credentials (e.g. S3 keys) ride its auth.secretRef, which — like the
source’s — must live in this CR’s namespace.
schedule: CronSpecCron and deterministic jitter for the replication runs.
mover: Option<MoverSpec>Mover (Job pod) overrides for the replication run.
suspend: boolPause this replication; a suspended replication runs no syncs (default false).
sync: Option<SyncOptions>Tuning knobs for the underlying kopia repository sync-to invocation
(issue #216). None reproduces today’s behavior: sequential copy
(--parallel unset), additive sync (no --delete), kopia’s own
--must-exist/--times/--update defaults, and no throughput cap.
Trait Implementations§
Source§impl Clone for RepositoryReplicationSpec
impl Clone for RepositoryReplicationSpec
Source§fn clone(&self) -> RepositoryReplicationSpec
fn clone(&self) -> RepositoryReplicationSpec
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 RepositoryReplicationSpec
impl Debug for RepositoryReplicationSpec
Source§impl<'de> Deserialize<'de> for RepositoryReplicationSpec
impl<'de> Deserialize<'de> for RepositoryReplicationSpec
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 RepositoryReplicationSpec
impl JsonSchema for RepositoryReplicationSpec
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 RepositoryReplicationSpec
impl PartialEq for RepositoryReplicationSpec
Source§fn eq(&self, other: &RepositoryReplicationSpec) -> bool
fn eq(&self, other: &RepositoryReplicationSpec) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for RepositoryReplicationSpec
Auto Trait Implementations§
impl Freeze for RepositoryReplicationSpec
impl RefUnwindSafe for RepositoryReplicationSpec
impl Send for RepositoryReplicationSpec
impl Sync for RepositoryReplicationSpec
impl Unpin for RepositoryReplicationSpec
impl UnsafeUnpin for RepositoryReplicationSpec
impl UnwindSafe for RepositoryReplicationSpec
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