Snaplane is a Kubernetes operator for block-volume backup and restore.
BackupPolicyschedules and dispatches backupsBackuprepresents one transfer executionVolumeSnapshotis the consistency point and queue carrier- changed-block input is modeled through CBT providers
- writer sidecars store backup data on node-local storage under
/var/backup - restore is requested through
PersistentVolumeClaim.dataSourceRef -> Backup - restore integration depends on
VolumePopulator
- controller manager
- runs the
BackupPolicyandBackupcontrollers
- runs the
- writer sidecar
- runs on backup-target nodes
- exposes mTLS gRPC write APIs
- reports endpoint and capacity through Lease annotations
- restore populator
- registers
sourceKind=Backup - restores
mock-image-v1andcas-v1backups
- registers
Implemented:
- v1alpha1
BackupPolicyandBackupAPIs - strict serial dispatch with queue metadata on
VolumeSnapshot - destination node pinning on source PVCs
- writer-sidecar mTLS path
- retryable backup execution
- restore populator flow
- CAS repository publish and restore
- CAS compaction execution in writer-sidecar maintenance
- dependency-safe CAS manifest pruning
- SnapshotMetadata-backed range collection and live snapshot-reader data path
Open work:
- no repo-local TODOs are currently tracked; external environment work is captured by the e2e gate documentation
Track open work in TODO.md.
- architecture baseline: ARCHITECTURE.md
- retained design docs: docs/design-docs/index.md
- open work: TODO.md
- e2e lanes: test/e2e/README.md
- release runbook: docs/runbooks/release.md