Context
Track completion and rollout for RFC 0017 (Snapshot Copy Between Repositories).
RFC: rfcs/0017-snapshot-copy-between-repositories.md
Goal
Provide a first-class way to copy snapshots between Cloudstic repositories while preserving snapshot semantics and fitting the existing CLI and client models.
Scope
cloudstic copy command for repository-to-repository snapshot transfer.
- Source repository configuration and credential handling for copy.
- Snapshot selection by explicit IDs and existing snapshot filters.
- Provenance-aware skip logic for reruns.
- Client API support for
Client.Copy(ctx, from, opts...).
- Documentation of copy semantics, bandwidth costs, and dedup expectations.
- Hermetic tests for copy behavior across supported backends.
Explicitly out of scope
- Backend-native server-side clone behavior.
- Guaranteeing identical storage footprint or object naming between source and destination repositories.
- Broader repository migration/refactor work beyond snapshot copy semantics.
Exit criteria
- The main
copy workflow described in the RFC is implemented or intentionally descoped.
- Repeated copy runs skip already copied snapshots using explicit provenance tracking.
- Copied snapshots are listable and restorable from the destination repository.
- Docs explain operational costs and limits of repository-to-repository copy.
Context
Track completion and rollout for RFC 0017 (Snapshot Copy Between Repositories).
RFC:
rfcs/0017-snapshot-copy-between-repositories.mdGoal
Provide a first-class way to copy snapshots between Cloudstic repositories while preserving snapshot semantics and fitting the existing CLI and client models.
Scope
cloudstic copycommand for repository-to-repository snapshot transfer.Client.Copy(ctx, from, opts...).Explicitly out of scope
Exit criteria
copyworkflow described in the RFC is implemented or intentionally descoped.