JuniLake
- Thesis
- You can build a credible, open, vendor-neutral detection lakehouse without an enterprise budget — if you embed the standards and reserve your original engineering for the production machinery around them. It is a direct answer to three problems: telemetry trapped behind proprietary APIs and per-gigabyte pricing, detection drift between live rules and historical hunts, and the operational opacity of not being able to see or move your own data.
- What it does
- A security data lake that detects at both ends of the data's life: the moment an event arrives, via a Rust Sigma engine at stream time, and at any point afterwards over historical data through retro-hunt replay. Windows endpoint telemetry is ingested, stored as Parquet on S3-compatible object storage under a DuckLake / Iceberg-compatible catalog, evaluated against the Sigma community standard, and delivered as alerts to a sibling SOC product. Retro-hunt replays historical Parquet through the same engine as live detection, so there is no second rule-translation path and no drift.
- Scale & posture
- Seventeen always-on containers in one Docker Compose project, split across three bridge networks for blast-radius control. 2,776 Sigma rules. Hot, warm and cold tiering against the generic S3 API rather than any vendor lifecycle feature, so the lake is portable by construction. Runs on a single 32 GB machine; scale-out paths are documented rather than prematurely built. Every dependency permissively or copyleft licensed; the project itself is AGPL-3.0. Thirty-eight architecture decision records.
- Stack
- Rust · Parquet · DuckLake / Iceberg · DuckDB · PostgreSQL · NATS JetStream · Fluent Bit · MongoDB · Sigma · Docker Compose