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@latest
Initialize 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.
> make
Build the tabletop
binary
> make build.bin
Run the tabletop
test suite
> make test
- Alex Kwiatkowski - alex+git@fremantle.io
tabletop
is released under the MIT license