A curated selection of tools, libraries and services that help tame your dataflow to productively build ambitious, data driven & reactive applications on a streaming lakehouse.
Imagine Rails, Elixir/Erlang OTP & Spring had a baby.
Getting Started | Commands | Architecture
- golang for glue and custom producers/processors/consumers
- S3/R2/MinIO as an API for object storage
- Kafka as an API with Redpanda for low latency message storage and processing
- Clickhouse OLAP DBMS
- Grafana for operational visualization that can also be used for BI tasks
- Loki for logs
- Prometheus for metrics
Realize the kappa architecture through convention based tooling:
- ingest
- process
- deliver
- warehouse
- test
- monitor
- time travel
- debug
Use the go install command to download, build and install the tabletop binary into the path
set by your GOBIN environment variable.
> go install github.com/fremantle-industries/tabletop@latestInitialize a project and go module in the current working directory. The new command
will generate your project from the default stack of templates along with an application
by the same name.
> tabletop new github.com/myuser/myapp
creating directory /tmp/myapp
creating directory /tmp/myapp/internal/apps/myapp
creating template /tmp/myapp/README.md
...| Name | Endpoint |
|---|---|
| Grafana | grafana.localhost |
| Prometheus | prometheus.localhost |
| Redpanda Kafka Console | redpanda.localhost |
| Clickhouse | clickhouse.localhost/play |
| MinIO Console | minio.localhost |
Run the default make target which downloads dependencies to build and run
docker compose on the host machine.
> makeBuild the tabletop binary
> make build.binRun the tabletop test suite
> make test- Alex Kwiatkowski - alex+git@fremantle.io
tabletop is released under the MIT license