Secure, compressed, profile-based backups for modern infrastructure.
coldvault is a lightweight CLI for reliable backups with compression, encryption, and deterministic execution.
Built for teams that want backups to be simple, reproducible, and secure.
- Profile-based backups
- Compression support (
zstd) - Encryption support (
age, AES-256) - Deterministic backup pipelines
- Config-driven execution
- Local and remote config support
- Extensible architecture
cargo install coldvaultgit clone https://github.com/<your-org>/coldvault.git
cd coldvault
cargo build --releaseBinary:
./target/release/coldvaultInitialize a config:
coldvault initRun a backup:
coldvault run -p prodVerify backup integrity:
coldvault verifyRestore a backup:
coldvault restore --file backup.zst.ageExample configuration:
[profiles.prod]
mongo_uri = "mongodb://localhost:27017"
output_dir = "./backups"
compression = "zstd"
encryption = "age"Run using a profile:
coldvault run -p prodProfiles allow environment-specific backup configurations.
Example:
[profiles.dev]
mongo_uri = "mongodb://localhost"
[profiles.prod]
mongo_uri = "mongodb://prod-db.internal"Run:
coldvault run -p dev
coldvault run -p prodcoldvault is designed around two principles:
- Backups must be reliable
- Running backups should require minimal effort
The goal is simple:
coldvault run -p prodNo fragile scripts. No repeated configuration.
- MongoDB backups
- Compression pipeline
- Encryption pipeline
- Restore workflows
- Storage providers
- Remote config support
- Verification pipeline
Contributions, bug reports, and discussions are welcome.
Please open an issue before major changes.
MIT License. See LICENSE file for details.