[operator] convert operator (and hence ConfigMap) settings to k8s standard camelCase #3000
Labels
enhancement
This is the preferred way to describe new end-to-end features.
maintenance
Development tasks, like refactoring, performance improvement, any non-user facing changes.
requires operator PR
It requires update in operator code
waiting external
It requires additional info to progress. For example, it can require a fix in other project.
The Operator SDK will, by default, convert all settings (including those in camelCase) in the CR to snake_case. This caused problems early on, so what we did was to define all of the Kiali CR settings in "snake_case" format.
This, however, caused further problems because some of the Kiali CR settings are k8s yaml (for example, see the affinity settings) - those were converted to snake_case which we then had to play games in the ansible playbook to convert back to camelCase.
The Operator SDK has just recently introduced a new configuration setting in watches.yaml that lets you turn off this snake_case automatic conversion. I think we should consider using that and switching Kiali CR to define its settings using the k8s standard yaml which is camelCase. Because the Kiali CR settings are copied almost verbatim to the ConfigMap, it means server side changes will need to be made because it loads in the ConfigMap.
However, we cannot do this until we move project and downstream product operators to the new SDK that has this feature - and that SDK release is not yet available to us. I am created this issue to keep an eye on this for the future.
See:
This is now supported in watches.yaml:
The text was updated successfully, but these errors were encountered: