strimzi / strimzi-kafka-operator

Apache Kafka® running on Kubernetes
https://strimzi.io/
Apache License 2.0
4.8k stars 1.28k forks source link

Making Cruise Control configuration accessible via a ConfigMap #8043

Closed ppatierno closed 1 year ago

ppatierno commented 1 year ago

When Cruise Control is deployed by using the default configuration, this is what we have in a Kafka custom resource:

cruiseControl: { }

The only way the user has to get which Cruise Control configuration is used is getting the corresponding Deployment and checking the CRUISE_CONTROL_CONFIGURATION env var, or accessing the pod and looking at the /tmp/cruisecontrol.properties file. While it is possible, maybe it's not the best way. For the Kafka brokers, for example, we have the configuration in a ConfigMap, I was wondering why not having a similar thing for Cruise Control.

For the record, getting the default configuration is useful when the user wants to change the hard goals for example. He would like to know the current ones in order to report them in the cruiseControl field but maybe stripping out some goals or adding new ones. Having the default one as a starting point is helpful instead of writing the list from scratch.

kyguy commented 1 year ago

Definitely worth investigating

scholzj commented 1 year ago

Triaged on 9.2.2023: Should be implemented.

We should think if there is some way how to better handle the RackAware goal => e.g. disable it automatically in Cruise Control when rack awareness is not enabled in Kafka. But that should be part of a separate issue and discussion and does nto really influence if a Config Map is used to pass the configuration here.

scholzj commented 1 year ago

Triaged on 6.4.2023: Should be closed and #8337 should be used instead.