AllSource Chronos is a high-performance event store with full durability (WAL + Parquet + in-memory DashMap). The community edition is licensed under Apache 2.0 and includes everything you need to run a single-node event store with an API gateway.
# Clone the repository
git clone https://github.com/all-source-os/allsource-monorepo.git
cd allsource-monorepo
# Start Core + Query Service
docker compose -f docker-compose.community.yml up -d
# Verify health
curl http://localhost:3900/health
# → {"status":"healthy","service":"allsource-core","version":"..."}
# Ingest your first event
curl -X POST http://localhost:3900/api/v1/events \
-H "Content-Type: application/json" \
-d '{"stream_id":"user-123","event_type":"UserCreated","data":{"name":"Alice"}}'
# Query it back
curl "http://localhost:3900/api/v1/events/query?stream_id=user-123"Clients → Query Service (port 3902) → Core (port 3900)
|
WAL + Parquet + DashMap
(durable event storage)
- Core is the database. All event data is stored durably via WAL (write-ahead log with CRC32 checksums) and Parquet (columnar storage with Snappy compression). Events survive restarts.
- Query Service is the API gateway. In community mode, it provides basic routing to Core with dev-mode authentication.
| Variable | Default | Description |
|---|---|---|
ALLSOURCE_HOST |
0.0.0.0 |
Bind address |
ALLSOURCE_PORT |
3900 |
HTTP port |
ALLSOURCE_DATA_DIR |
/app/data |
Data directory for WAL + Parquet |
ALLSOURCE_JWT_SECRET |
(random) | JWT signing secret |
ALLSOURCE_BOOTSTRAP_API_KEY |
(none) | Pre-configured API key |
ALLSOURCE_BOOTSTRAP_TENANT_ID |
default |
Tenant for bootstrap API key |
RUST_LOG |
allsource_core=info |
Log level |
| Variable | Default | Description |
|---|---|---|
CORE_URL |
http://localhost:3900 |
Core backend URL |
CORE_WS_URL |
ws://localhost:3900/api/v1/events/stream |
Core WebSocket URL |
ALLSOURCE_EDITION |
community |
Edition (community or enterprise) |
PORT |
3902 |
HTTP port |
SECRET_KEY_BASE |
(required) | Phoenix secret key |
Mount a volume to /app/data in the Core container. This directory contains:
wal/— Write-ahead log files (crash recovery)parquet/— Columnar storage files (long-term persistence)__system/— System metadata (tenants, auth, config)
Data survives container restarts. Back up this directory for disaster recovery.
| Feature | Community | Enterprise |
|---|---|---|
| Event store (WAL + Parquet) | Yes | Yes |
| Full CRUD API | Yes | Yes |
| Projections, snapshots, schemas | Yes | Yes |
| Analytics (EventQL) | Yes | Yes |
| WebSocket streaming | Yes | Yes |
| Webhooks | Yes | Yes |
| Leader-follower replication | - | Yes |
| Multi-tenant management | - | Yes |
| Quota enforcement | - | Yes |
| Billing integration | - | Yes |
| Rate limiting tiers | Free tier | All tiers |
For enterprise features, contact the AllSource team or see LICENSE-BSL for commercial licensing options.
# Build community Core image
docker build --target runtime-community-alpine -t allsource-core:community apps/core
# Build community Query Service image
docker build --build-arg ALLSOURCE_EDITION=community -t allsource-query:community apps/query-serviceCore API endpoints (all under /api/v1/):
POST /api/v1/events— Ingest an eventPOST /api/v1/events/batch— Batch ingestGET /api/v1/events/query— Query events (filter by stream, type, time range)GET /api/v1/events/{id}— Get event by IDGET /api/v1/projections— List projectionsGET /api/v1/schemas— List schemasGET /api/v1/snapshots— List snapshotsGET /api/v1/stats— Storage statisticsGET /health— Health checkGET /metrics— Prometheus metrics