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:latestSee the bare-metal repository for Kubernetes deployment manifests.