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 |
0.5.x |
0.48.x |
0.6.x |
0.49.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
- Strimzi Backup: Backup or restore Strimzi-managed Apache Kafka clusters
To add support for new Strimzi version, you should try to follow these steps:
- Update the Strimzi version in the
pom.xmlfile of thestrimzi-go-generator. - Update the Strimzi CRD version installed in the GitHub Actions (in the
build.yamlfile). - Make sure the
doc.goandregister.gofiles are manually created and maintained. - If needed, update the Kubernetes versions in
go.mod(e.g.k8s.io/apiandk8s.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 generateto 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 buildto build the Go project files. - Run
make testto test the updated files (you need Kubernetes environment with installed Strimzi CRDs). - Update the
README.mdfile to indicate the new supported Strimzi version. - Add the updated files to the Git repo.