What is S2 Lite?
S2 Lite is embedded as thes2 lite subcommand of the S2 CLI. It provides:
- Zero dependencies: Single binary with no external services required (besides optional object storage)
- Multiple storage modes: In-memory, local filesystem, or S3-compatible object storage
- Durable by default: Data is always persisted to object storage before acknowledgment
- SlateDB engine: Uses SlateDB for storage, designed specifically for object stores
- Full S2 API: Compatible with all S2 SDKs and the CLI
Architecture
S2 Lite consists of:- HTTP server built with axum
- Stream tasks: Each stream runs as a Tokio task (“streamer”) that owns the tail position, serializes appends, and broadcasts to followers
- SlateDB storage: Embedded key-value store backed entirely by object storage
- Pipelined appends: Improved performance against high-latency object storage
Storage Modes
In-Memory
No persistence. Perfect for development, testing, and CI environments.
Local Filesystem
Persist to local disk. Good for single-node deployments with attached storage.
Object Storage
Durable persistence on S3-compatible storage. Production-ready.
Key Features
Simplified Deployment
No distributed consensus, no coordination services, no complex cluster management. Just a single binary and object storage.Development-Friendly
Run in-memory mode for instant local development and testing:Production-Ready
Deploy to Kubernetes with the official Helm chart, or run as a Docker container with S3 backend.Full API Coverage
S2 Lite implements the complete S2 v1 API, including basins, streams, records, and streaming sessions. The only exception is access token management (not needed for self-hosted deployments).
Use Cases
Development & Testing- Local development without cloud dependencies
- Integration tests with in-memory mode
- CI/CD pipeline testing
- On-premises deployments
- Private cloud environments
- Cost-optimized workloads
- Edge computing scenarios
- Regional data residency requirements
- Low-latency local processing
Compatibility
S2 Lite works with all official S2 SDKs and tools:- CLI: ✅ v0.26+
- TypeScript SDK: ✅ v0.22+
- Go SDK: ✅ v0.11+
- Rust SDK: ✅ v0.22+
- Python SDK: 🚧 Migration to v1 API in progress
- Java SDK: 🚧 Migration to v1 API in progress
Performance
For performance testing, use the built-in benchmark:Next Steps
Quick Start
Get S2 Lite running in minutes
Deployment
Deploy to production environments
Kubernetes
Deploy with Helm to Kubernetes
Configuration
Configure S2 Lite for your needs