Strimzi client-examples is a collection of example Apache Kafka client applications demonstrating how to use the Apache Kafka Java APIs.
The repository addresses the need for concrete, working examples of Kafka clients integrated with Strimzi, the Kubernetes operator for Apache Kafka. It provides three core examples: a message producer that periodically sends messages to a topic, a Streams application that reads messages, transforms them by reversing the payload, and writes to another topic, and a consumer that reads from a topic. Each example is packaged as a Docker image ready for deployment on Kubernetes or OpenShift, and the repository includes Kubernetes manifests defining Deployments, KafkaTopics, and KafkaUsers for use with Strimzi operators. Separate logging configuration files allow customization of producer and consumer behavior.
This repository is most useful for developers learning how to build Kafka clients for Kubernetes environments managed by Strimzi, or for those building applications that will run alongside a Strimzi-managed Kafka cluster. The examples are intentionally simple, serving as templates that can be modified and rebuilt. The build process is straightforward: with make, Docker, JDK, and Maven installed, a single command compiles the Java sources, creates Docker images, and pushes them to a registry. The repository provides multiple deployment configurations, including basic deployments and variants using TLS encryption or TLS client authentication with ACLs, allowing users to explore different security postures. Anyone adopting these examples should plan to modify the Docker organization and image paths to match their own registry before deploying.
The project maintains working examples across multiple deployment scenarios and security configurations. The repository includes separate YAML manifests for individual components as well as combined deployment files, indicating ongoing attention to different use cases. Documentation covers both the build process and deployment steps, with explicit guidance on customizing image references for private registries.