Note: This is not part of the Strimzi CNCF project!
This project contains Strimzi APIs for integrating with Strimzi from Go programming language. It lets you manage the Strimzi resources using the Kubernetes Go Client.
The following table shows the supported Strimzi versions
Go API Version | Strimzi version |
---|---|
main branch |
0.45.0 |
0.1.0 |
0.45.0 |
0.2.x |
0.45.0 |
0.3.x |
0.46.0 |
0.4.x |
0.47.x |
The examples
directory contains several examples that show how to use the Strimzi APIs and the generated ClientSets
.
If you are using the Strimzi Go API, feel free to open a PR and add your project here so that others can see what you created and use it as an example if needed.
- Keksposé: Expose your Strimzi-based Apache Kafka cluster outside your Minikube, Kind, or Docker Desktop clusters
- Strimzi Shutdown: Simple utility to temporarily stop or restart your Strimzi-based Apache Kafka cluster
To add support for new Strimzi version, you should try to follow these steps:
- Update the Strimzi version in the
pom.xml
file of thestrimzi-go-generator
. - Update the Strimzi CRD version installed in the GitHub Actions (in the
build.yaml
file). - Make sure the
doc.go
andregister.go
files are manually created and maintained. - If needed, update the Kubernetes versions in
go.mod
(e.g.k8s.io/api
andk8s.io/client-go
). The generator will always generate the code based on the on the latest Kube version so not updating them might cause error. - Run
make generate
to update all the generated files. This runs both the Java generator to generate the CRD types as well the Kubernetes client generator to generate the Go-lang client code. - Run
make build
to build the Go project files. - Run
make test
to test the updated files (you need Kubernetes environment with installed Strimzi CRDs). - Update the
README.md
file to indicate the new supported Strimzi version. - Add the updated files to the Git repo.