| Crates.io | minikv |
| lib.rs | minikv |
| version | 0.7.0 |
| created_at | 2026-01-17 19:22:47.653018+00 |
| updated_at | 2026-01-17 19:22:47.653018+00 |
| description | A production-grade distributed KV store with Raft consensus in ~1,500 lines |
| homepage | |
| repository | https://github.com/whispem/minikv |
| max_upload_size | |
| id | 2050990 |
| size | 586,187 |
A distributed, multi-tenant key-value & object store written in Rust
minikv provides strong consistency (Raft + 2PC), durability (WAL), and production-grade observability, security, and multi-tenancy — all in a modern Rust codebase.
Built in public as a learning-by-doing project — now evolved into a complete, reference implementation of distributed systems in Rust.
minikv v0.7.0 brings advanced data management and query capabilities :
GET /search?value=<substring>POST /transactionPOST /admin/import & GET /admin/exportPrevious highlights (v0.6.0) : enterprise security, multi-tenancy, encryption at rest, quotas, audit logging, persistent backends, watch/subscribe system.
minikv is a distributed key-value store written in Rust, designed for simplicity, speed, and reliability.
Who is this for ?
minikv is for engineers learning distributed systems, teams experimenting with Rust-based infrastructure, and anyone curious about consensus, durability, and system trade-offs.
git clone https://github.com/whispem/minikv.git
cd minikv
cargo build --release
# Start a node
cargo run -- --config config.example.toml
# API examples
curl localhost:8080/health/ready # readiness
curl localhost:8080/metrics # Prometheus metrics
curl localhost:8080/admin/status # admin dashboard
# Create API key (admin)
curl -X POST http://localhost:8080/admin/keys -d '{"role":"ReadWrite","tenant_id":"acme"}'
# S3 (demo)
curl -X PUT localhost:8080/s3/mybucket/mykey -d 'hello minikv!'
curl localhost:8080/s3/mybucket/mykey
For cluster setup and advanced options, see the documentation.
minikv started as a 24-hour challenge by a Rust learner (82 days into the language!). It now serves as both a playground and a reference for distributed systems, demonstrating curiosity, learning-by-doing, and robust engineering.
config.example.tomldocs/certs/README.mdcargo test # Run all tests
cargo clippy --fix # Lint and fix
cargo fmt # Format code
Continuous Integration runs on push & PR via .github/workflows/ci.yml.
Issues and PRs welcome! See CONTRIBUTING.md.