-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Related problem
Strimzi recommends running only a single Cluster Operator per Kubernetes cluster to avoid conflicts that can arise with multiple Strimzi installations, as described in the documentation: https://strimzi.io/docs/operators/latest/deploying#avoiding_deployment_conflicts
While this is manageable on smaller clusters, it becomes much harder on large, multi‑tenant clusters where each namespace is owned by a different line of business or application team. In such environments, coordinating which team installs which CRDs – and which versions – is challenging, and accidental changes by one team can impact others.
Strimzi is a popular project and multiple vendors also ship Strimzi‑based distributions and CRDs (see https://github.com/strimzi/strimzi-kafka-operator/blob/main/ADOPTERS.md#vendors). This further increases the potential for CRD API group conflicts and version incompatibilities between upstream Strimzi and vendor distributions deployed to the same cluster.
Today, the default API group is defined as a Java constant here:
strimzi-kafka-operator/api/src/main/java/io/strimzi/api/kafka/model/common/Constants.java
Line 11 in 42e7817
| public static final String RESOURCE_GROUP_NAME = "kafka.strimzi.io"; |
The CRDs are generated by running the CRD generator as part of the Maven build:
strimzi-kafka-operator/api/pom.xml
Line 172 in 42e7817
| <argument>io.strimzi.crdgenerator.CrdGenerator</argument> |
Suggested solution
It would be very helpful to have a build‑time configuration option (maven property or similar) to customise the CRD API group. This would allow vendors (and advanced users) to easily change the default Strimzi API group (strimzi.io) to a custom group, so that their CRDs are isolated from the upstream Strimzi CRDs and from other vendor distributions on the same cluster.
I appreciate that this is unlikely to be that trivial, but I wanted to start a discussion with the maintainers to understand whether this is something that could be supported and, if so, what constraints or preferred approaches you would have before exploring further.
Alternatives
Continue to manage the potential risks of conflicting resources and versions on a cluster.
Additional context
No response