What is streams-bootstrap?
streams-bootstrap is a Java library that standardizes the development and operation of Kafka-based applications (Kafka
Streams and plain Kafka clients).
The library supports Java 17+ and is built using Kafka 4.2.0. Its modules are published to Maven Central for straightforward integration into existing projects.
Why use it?
Kafka Streams and the core Kafka clients provide strong primitives for stream processing and messaging, but they do not prescribe:
- How to structure a full application around those primitives
- How to configure applications consistently
- How to deploy and operate these services on Kubernetes
- How to perform repeatable reprocessing and cleanup
- How to handle errors and large messages uniformly
streams-bootstrap addresses these aspects by supplying:
- Standardized base classes for Kafka Streams and client applications.
- A common CLI/configuration contract for all Kafka applications.
- Helm-based deployment templates and conventions for Kubernetes.
- Built-in reset/clean workflows for reprocessing and state management.
- Consistent error-handling and dead-letter integration.
- Testing infrastructure for local development and CI environments.
- Optional blob-storage-backed serialization for large messages.
Architecture
The framework uses a modular architecture with a clear separation of concerns.
Core Modules
streams-bootstrap-core: Core abstractions for application lifecycle, execution, and cleanupstreams-bootstrap-cli: CLI framework based onpicoclistreams-bootstrap-test: Utilities for testing streams-bootstrap applicationsstreams-bootstrap-large-messages: Support for handling large Kafka messagesstreams-bootstrap-cli-test: Test support for CLI-based applications