Celerix Store (Rust)
A lightweight, low-latency Key-Value (KV) data store designed for the Celerix suite of applications. This is a high-performance Rust implementation that is 1:1 compatible with the original Go version.
Key Features
- Dual Mode Operations:
- Embedded: Use as a local library with direct file-based persistence.
- Remote: Connect to a
celerix-storedinstance over TCP.
- Liquid Data Architecture: Uses the
Persona -> App -> Keyhierarchy for structured data management. - Atomic Persistence: High-integrity "write-then-rename" strategy for JSON storage.
- Client-Side Encryption: Built-in AES-256-GCM vault support for sensitive data.
- Automatic Discovery: SDK automatically switches modes based on environment variables.
- Resilient Client: TCP client with automatic reconnection and exponential backoff retries.
Quick Start
As a Service (Daemon)
Run the celerix-stored binary to start the TCP server:
# Defaults to port 7001 and ./data directory
As a Library (SDK)
Add this to your Cargo.toml:
[]
# Import from GitHub
= { = "https://github.com/celerix-dev/celerix-store-rust.git", = "v0.1.1" }
= { = "1.0", = ["full"] }
= "1.0"
CLI Tool
Interact with the store via the command line:
Documentation
- USAGE.md: Detailed usage patterns, library examples, and Docker/Podman deployment.