Getting started

Install StoatFlow and ship your first topology — or migrate an existing Kafka Streams app.

StoatFlow targets JDK 25+ and Apache Kafka 4.x. Working familiarity with Kafka and stream processing concepts is assumed.

Pick a starting point

What's documented today

Getting started — orientation and a first running app:

  • Modules overview — which artifacts to depend on; DSL-only versus the batteries-included runtime.
  • Installation — Maven repository, the dependency, and build setup (Gradle or Maven).
  • License configuration — license key and environment for local development and CI/CD.
  • Your first app — build and run a complete word-count app on the runtime.
  • Project setup — the StoatFlow build conventions for Gradle and Maven, and what they configure.

Core concepts — the model behind the runtime:

Building topologies — the DSL and the Processor API:

  • The DSL overview plus aggregations, windowing, joins, the Processor API, serdes, error handling, state stores, and testing.

Configuration, runtime, and operations:

  • Configuration — how config layers and the engine + runtime keys.
  • Running in production — the runtime, REST API, health checks, metrics, plugins, Docker, and native image.
  • Deploying & operating — Kubernetes, probes, observability, tuning, and the production checklist.
  • Migrating from Kafka Streams — what carries over, and cutover with or without state.
  • Reference — configuration keys, the REST API, the Gradle plugin DSL, the KS compatibility matrix, and a glossary.

The docs are still maturing. Tell us what to write next.

Need help?

Stuck on something the docs don't yet cover? Get in touch — alpha-stage product, real people read every email. If you've hit something that probably belongs in these docs, say so and we'll write it.