MCPcopy Index your code
hub / github.com/strimzi/strimzi-kafka-operator

github.com/strimzi/strimzi-kafka-operator @1.1.0 sqlite

repository ↗ · DeepWiki ↗ · release 1.1.0 ↗
12,224 symbols 87,875 edges 1,188 files 4,073 documented · 33%
README

Strimzi

Run Apache Kafka on Kubernetes and OpenShift

OpenSSF Scorecard Build Status GitHub release License Twitter Follow Artifact Hub

Strimzi provides a way to run an Apache Kafka® cluster on Kubernetes or OpenShift in various deployment configurations. See our website for more details about the project.

Quick Starts

To get up and running quickly, check our Quick Start for Minikube, OKD (OpenShift Origin) and Kubernetes Kind.

Documentation

Documentation for the current main branch as well as all releases can be found on our website.

Roadmap

The roadmap of the Strimzi Operator project is maintained as GitHub Project.

Getting help

If you encounter any issues while using Strimzi, you can get help using:

Strimzi Community Meetings

You can join our regular community meetings: * Thursday 9:00 AM UTC (every 4 weeks) - convert to your timezone * Thursday 4:00 PM UTC (every 4 weeks, offset by 2 weeks from above meeting) - convert to your timezone

Resources: * Meeting minutes, agenda and Zoom link * Recordings * Calendar (Subscribe to the calendar)

Contributing

You can contribute by:

  • Raising issues you find while using Strimzi
  • Fixing issues by opening Pull Requests
  • Improving Strimzi documentation
  • Talking about Strimzi

All bugs, tasks or enhancements are tracked as GitHub issues. Issues which might be a good start for new contributors are marked with "good-start" label.

The development guide describes how to quickly get set up to build Strimzi from source. Before submitting a patch, make sure you understand how to test your changes by reading the Test guide. The release checklist describes the steps needed for a new version release. The documentation contributor guide describes how to contribute to Strimzi documentation.

Developer Certificate of Origin

The Developer Certificate of Origin (DCO) is a lightweight way for contributors to certify that they wrote or otherwise have the right to submit the code they are contributing to the project. All commits must be signed off by adding a Signed-off-by line to the commit message.

This is my commit message

Signed-off-by: John Doe <JohnDoe@somewhere.org>

Git has a -s option to append this automatically:

git commit -s -m 'This is my commit message'

If you have already made a commit and forgot to include the sign-off, you can amend your last commit:

git commit --amend -s

If you want to get in touch with us first before contributing, you can use:

License

Strimzi is licensed under the Apache License, Version 2.0

Community Testing

Linux on IBM Z (s390x)

Jenkins

Note: This badge represents a community-led initiative and is not officially endorsed by the Strimzi project maintainers.

Container signatures

From the 0.38.0 release, Strimzi containers are signed using the cosign tool. Strimzi uses keyless signing since 0.49.0 release. To verify the container, you can run the following command:

cosign verify --certificate-identity-regexp='https://github.com/strimzi/.*' \
    --certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
    quay.io/strimzi/operator:latest

In case you want to verify containers of older version of Strimzi than 0.49.0, then use our public key:

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAET3OleLR7h0JqatY2KkECXhA9ZAkC
TRnbE23Wb5AzJPnpevvQ1QUEQQ5h/I4GobB7/jkGfqYkt6Ct5WOU2cc6HQ==
-----END PUBLIC KEY-----

And use it to verify the signature:

cosign verify --key strimzi.pub quay.io/strimzi/operator:latest --insecure-ignore-tlog=true

Software Bill of Materials (SBOM)

From the 0.38.0 release, Strimzi publishes the software bill of materials (SBOM) of our containers. The SBOMs are published as an archive with SPDX-JSON and Syft-Table formats signed using cosign. For releases, they are also pushed into the container registry.

Strimzi uses keyless signing since 0.49.0 release. To verify the SBOM signatures, you can run the following command:

cosign verify-blob --bundle <SBOM-file>.bundle \
    --certificate-identity-regexp='https://github.com/strimzi/.*' \
    --certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
    <SBOM-file>

In case you want to verify SBOM signatures of older version of Strimzi than 0.49.0, then use our public key:

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAET3OleLR7h0JqatY2KkECXhA9ZAkC
TRnbE23Wb5AzJPnpevvQ1QUEQQ5h/I4GobB7/jkGfqYkt6Ct5WOU2cc6HQ==
-----END PUBLIC KEY-----

You can use it to verify the signature of the SBOM files with the following command:

cosign verify-blob --key cosign.pub --bundle <SBOM-file>.bundle --insecure-ignore-tlog=true <SBOM-file>

Strimzi is a Cloud Native Computing Foundation incubating project.

CNCF ><

Extension points exported contracts — how you extend this code

Readiness (Interface)
A readiness check implemented by an application (e.g. an operator) and called by the HealthCheckAndMetricsServer [27 implementers]
operator-common/src/main/java/io/strimzi/operator/common/http/Readiness.java
TestSeparator (Interface)
Separates different tests in the log output [11 implementers]
test/src/main/java/io/strimzi/test/interfaces/TestSeparator.java
SupportsJmx (Interface)
This interface is used for models which implement JMX support [6 implementers]
cluster-operator/src/main/java/io/strimzi/operator/cluster/model/jmx/SupportsJmx.java
HasConfigurableLogging (Interface)
This interface is used for sections of our custom resources which support configurable logging. [13 implementers]
api/src/main/java/io/strimzi/api/kafka/model/common/HasConfigurableLogging.java
Tracing (Interface)
Define an interface for initializing a distributed tracing system [7 implementers]
tracing-agent/src/main/java/io/strimzi/tracing/agent/Tracing.java
KubeCluster (Interface)
Abstraction for a Kubernetes cluster, for example minikube. [5 implementers]
systemtest/src/main/java/io/strimzi/test/k8s/cluster/KubeCluster.java
AdminApiOperator (Interface)
Interface for operators using the Kafka Admin API @param The type that is being reconciled by the operator instan [5 implementers]
user-operator/src/main/java/io/strimzi/operator/user/operator/AdminApiOperator.java
CertManager (Interface)
Manages the certificates [4 implementers]
certificate-manager/src/main/java/io/strimzi/certs/CertManager.java

Core symbols most depended-on inside this repo

of
called by 3722
cluster-operator/src/main/java/io/strimzi/operator/cluster/model/RestartReasons.java
build
called by 3464
cluster-operator/src/main/java/io/strimzi/operator/cluster/operator/resource/cruisecontrol/PathBuilder.java
get
called by 3284
kafka-init/src/main/java/io/strimzi/kafka/init/InitWriterConfig.java
getMetadata
called by 2917
api/src/main/java/io/strimzi/api/kafka/model/common/template/HasMetadataTemplate.java
getName
called by 2310
crd-generator/src/main/java/io/strimzi/crdgenerator/Property.java
put
called by 1617
user-operator/src/main/java/io/strimzi/operator/user/operator/cache/AbstractCache.java
size
called by 1376
topic-operator/src/main/java/io/strimzi/operator/topic/model/Results.java
reconcile
called by 1211
cluster-operator/src/main/java/io/strimzi/operator/cluster/operator/assembly/Operator.java

Shape

Method 10,895
Class 1,222
Enum 62
Interface 45

Languages

Java100%

Modules by API surface

cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/KafkaRebalanceStateMachineTest.java171 symbols
topic-operator/src/test/java/io/strimzi/operator/topic/CoreFeaturesIT.java117 symbols
cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/KafkaRebalanceAssemblyOperatorTest.java86 symbols
cluster-operator/src/test/java/io/strimzi/operator/cluster/model/KafkaClusterTest.java86 symbols
cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/resource/KafkaRollerTest.java74 symbols
cluster-operator/src/test/java/io/strimzi/operator/cluster/model/KafkaBrokerConfigurationBuilderTest.java69 symbols
cluster-operator/src/main/java/io/strimzi/operator/cluster/model/KafkaCluster.java65 symbols
crd-generator/src/main/java/io/strimzi/crdgenerator/CrdGenerator.java64 symbols
cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/ConnectorMockTest.java61 symbols
cluster-operator/src/test/java/io/strimzi/operator/cluster/model/KafkaConnectClusterTest.java55 symbols
operator-common/src/main/java/io/strimzi/operator/common/model/Ca.java54 symbols
cluster-operator/src/test/java/io/strimzi/operator/cluster/model/KafkaBridgeClusterTest.java54 symbols

Dependencies from manifests, versioned

com.dajudge.kindcontainer:kindcontainer
com.fasterxml.jackson.core:jackson-annotations
com.fasterxml.jackson.core:jackson-core
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml
com.fasterxml.jackson.datatype:jackson-datatype-jdk8
com.fasterxml.jackson.datatype:jackson-datatype-jsr3102.21.2 · 1×
com.fasterxml.jackson.jaxrs:jackson-jaxrs-base
com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider
com.github.docker-java:docker-java-api
com.github.spotbugs:spotbugs
com.github.spotbugs:spotbugs-annotations

For agents

$ claude mcp add strimzi-kafka-operator \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact