Retail Lakehouse Platform¶
A self-hosted retail lakehouse that runs end-to-end on a single Mac, built to showcase three engineering disciplines side by side: Domain-Driven Design, streaming data infrastructure, and production-grade observability. Everything from the colima VM up to the Trino query engine is brought up by a single task onboard command.
Highlights¶
- Strict Clean Architecture, enforced in CI.
import-linterblocks any dependency that crosses layers in the wrong direction (adaptertoapplicationtodomain, no skipping). - Single image, three roles. The same container runs as API, Scheduler, or Outbox publisher depending on the
GLAC_COMPONENTenv var, following 12-factor. - Full DDD building blocks.
AggregateRoot,ValueObject,DomainEvent,Repository, andGatewaypaired with an explicit outbound port-adapter naming convention ({Aggregate}{Tech}Repo,{Verb}{Noun}{Tech}Gateway).
- End-to-end CDC lakehouse. MySQL to Debezium to Kafka to Iceberg sink, with exactly-once delivery and automatic schema evolution.
- Iceberg + Polaris + MinIO. A fully self-hosted REST-catalog lakehouse with no cloud dependency; the entire stack runs on local minikube.
- Trino federated SQL across Iceberg, BigQuery, and Faker catalogs, with OAuth2 SSO, fault-tolerant execution, and event listeners.
- Metrics.
kube-prometheusplus Thanos for long-term storage, backed by the same MinIO that serves the lakehouse. - Traces. OpenTelemetry Operator handles auto-instrumentation; Jaeger receives traces from both Trino and Thanos.
- GitOps-native. Argo CD
app-of-appsdeploys the entire platform from a single commit.
Architecture¶
Architecture Overview
Architecture Overview (Observability Engineering)
Try it yourself¶
Reproduce the whole platform on your own Mac in two steps: install the tools listed in Prerequisites, then run the one-shot bootstrap in Deployment.