# strimzi/strimzi-kafka-operator

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/strimzi-strimzi-kafka-operator).**

5,706 stars · 1,446 forks · Java · apache-2.0

## Links

- GitHub: https://github.com/strimzi/strimzi-kafka-operator
- Homepage: https://strimzi.io/
- awesome-repositories: https://awesome-repositories.com/repository/strimzi-strimzi-kafka-operator.md

## Topics

`data-stream` `data-streaming` `data-streams` `hacktoberfest` `kafka` `kafka-connect` `kafka-streams` `kubernetes` `kubernetes-controller` `kubernetes-operator` `messaging` `openshift`

## Description

Strimzi is a Kubernetes operator that automates the deployment, management, and lifecycle of Apache Kafka clusters on Kubernetes or OpenShift. It uses custom resource definitions and declarative YAML configuration to define Kafka cluster topology, broker placement, and security settings, with operator-based controllers that reconcile the desired state with the actual cluster state.

The operator handles rolling updates during cluster upgrades or configuration changes to maintain availability and data integrity, and supports rack-aware broker scheduling across Kubernetes nodes and availability zones for fault tolerance. It also includes an HTTP bridge that translates the Kafka binary protocol to HTTP requests and responses, enabling non-JVM applications to produce and consume messages without native Kafka client libraries.

Strimzi provides tools for managing Kafka topics, users, connectors, and MirrorMaker through standard kubectl commands and custom resources. It secures Kafka communication with TLS, SCRAM-SHA, or OAuth authentication, automates TLS certificate generation and renewal, and verifies container image signatures using cosign before deployment to ensure supply chain integrity.

## Tags

### DevOps & Infrastructure

- [Kafka-Compatible Deployments](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure-deployment/managed-infrastructure-deployment/kafka-compatible-deployments.md) — Deploys Apache Kafka clusters on Kubernetes with configurable topologies for development or production. ([source](https://strimzi.io/documentation/))
- [Kafka Operators](https://awesome-repositories.com/f/devops-infrastructure/cluster-lifecycle-management/kafka-operators.md) — Automates deployment, scaling, upgrade, and configuration of Kafka clusters on Kubernetes via an operator.
- [Custom Resource Definitions](https://awesome-repositories.com/f/devops-infrastructure/custom-resource-definitions.md) — Manages Kafka resources through custom controllers that reconcile desired state with actual cluster state.
- [Kubernetes Operators](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-operators.md) — Deploys and manages Apache Kafka clusters on Kubernetes using custom resource definitions and declarative configuration.
- [Placement Optimizations](https://awesome-repositories.com/f/devops-infrastructure/broker-node-identities/placement-optimizations.md) — Optimizes broker placement across availability zones with rack awareness and taints/tolerations. ([source](https://strimzi.io/))
- [Rack-Aware Scheduling](https://awesome-repositories.com/f/devops-infrastructure/broker-node-identities/rack-aware-scheduling.md) — Spreads Kafka brokers across availability zones with rack awareness for fault tolerance.
- [Kafka](https://awesome-repositories.com/f/devops-infrastructure/cluster-upgrades/kafka.md) — Upgrades Kafka clusters and operators with minimal downtime and automated configuration updates. ([source](https://strimzi.io/documentation/))
- [Kafka](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-management/resource-controllers/kafka.md) — Manages Kafka topics, users, connectors, and MirrorMaker through Kubernetes custom resources and controllers.
- [Rolling Update Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/rolling-update-orchestrators.md) — Coordinates sequential pod restarts during cluster upgrades to maintain availability.

### Security & Cryptography

- [Kafka Security Integrations](https://awesome-repositories.com/f/security-cryptography/kafka-security-integrations.md) — Secures Kafka communication with TLS, SCRAM-SHA, or OAuth authentication and automates certificate lifecycle management.
- [SSL Certificate Automation](https://awesome-repositories.com/f/security-cryptography/ssl-certificate-automation.md) — Automates TLS certificate generation and renewal for Kafka brokers and clients.

### System Administration & Monitoring

- [Kafka Cluster Administration](https://awesome-repositories.com/f/system-administration-monitoring/kafka-cluster-administration.md) — Manages Kafka topics, users, connectors, and MirrorMaker through Kubernetes custom resources and kubectl commands.
- [External Access Configurations](https://awesome-repositories.com/f/system-administration-monitoring/kafka-cluster-administration/external-access-configurations.md) — Exposes Kafka brokers outside Kubernetes using NodePort, Load Balancer, Ingress, or OpenShift Routes. ([source](https://strimzi.io/))

### Data & Databases

- [HTTP Bridge Integrations](https://awesome-repositories.com/f/data-databases/kafka-client-integrations/http-bridge-integrations.md) — Provides an HTTP bridge for producing and consuming Kafka messages without native client libraries.
- [HTTP Bridges](https://awesome-repositories.com/f/data-databases/kafka-client-libraries/http-bridges.md) — Ships an HTTP bridge that translates Kafka binary protocol to HTTP for non-JVM applications.

### Networking & Communication

- [HTTP Bridge Producers](https://awesome-repositories.com/f/networking-communication/message-broker-producers/http-bridge-producers.md) — Ships an HTTP bridge for producing Kafka messages from non-JVM applications. ([source](https://strimzi.io/documentation/))
- [HTTP Bridge Consumers](https://awesome-repositories.com/f/networking-communication/message-stream-handlers/message-stream-consumer-groups/http-bridge-consumers.md) — Provides an HTTP bridge for consuming Kafka messages without native client libraries. ([source](https://strimzi.io/documentation/))

### Web Development

- [Kafka Protocol Bridges](https://awesome-repositories.com/f/web-development/protocol-translation-bridges/kafka-protocol-bridges.md) — Implements a bridge translating Kafka binary protocol to HTTP for non-JVM clients.
