Automated tool for processing Kubernetes VolumeSnapshots of Cosmos blockchain nodes, creating compressed archives, and uploading them to MinIO object storage.
- Finds VolumeSnapshots in Kubernetes cluster
- Creates PVCs from snapshots for processing
- Optionally prunes data using cosmprund
- Compresses to tar.lz4 format
- Uploads to MinIO with metadata
- Tracks processed snapshots to avoid duplicates
- Cleans up old snapshots based on retention policy
process-snapshots.sh
- Main script that finds and processes all snapshotsprocess-single-snapshot.sh
- Processes a single snapshotcleanup-old-snapshots.sh
- Removes old snapshots based on retention
MINIO_ENDPOINT
- MinIO server endpoint (default: minio-snapshots:9000)MINIO_BUCKET
- Bucket name (default: snapshots)MINIO_ACCESS_KEY
- MinIO access keyMINIO_SECRET_KEY
- MinIO secret keyENABLE_PRUNING
- Enable cosmprund pruning (default: true)PRUNE_BLOCKS
- Number of blocks to keep (default: 1000)PRUNE_VERSIONS
- Number of versions to keep (default: 1000)KEEP_LAST
- Number of snapshots to keep per chain (default: 5)
docker build -t ghcr.io/bryanlabs/cosmos-snapshotter:latest .
docker push ghcr.io/bryanlabs/cosmos-snapshotter:latest
See the bare-metal repository for Kubernetes deployment manifests.