[K8S][HELM] Implement new configuration approach #6521
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🔍 Description
Issue References 🔗
This pull request changes Helm chart configuration approach as discussed in #6123
Describe Your Solution 🔧
Suggested implementation makes chart configuration more general and more flexible. It allows to configure Kyuubi (and its engines) by setting configuration file contents to chart properties or by providing configuration files through existing ConfigMaps and Secrets. Also users are not limited by predefined number of files and can put any files to configuration directories.
Types of changes 🔖
Test Plan 🧪
Test suite "Kyuubi configuration"
Property file
values-kyuubi-files.yaml
ConfigMap
kyuubi-configs
fromconfigmap-kyuubi-configs.yaml
Rendered templates are correct
Configuration files are in place
$ kubectl create -f configmap-kyuubi-configs.yaml $ helm install kyuubi charts/kyuubi -f values-kyuubi-files.yaml $ kubectl exec kyuubi-0 -- ls conf kyuubi-custom.properties kyuubi-defaults.conf kyuubi-env.sh kyuubi-test.properties
Test suite "Spark configuration"
Property file
values-spark-files.yaml
ConfigMap
spark-configs
fromconfigmap-spark-configs.yaml
Rendered templates are correct
Configuration files are in place
$ kubectl create -f configmap-spark-configs.yaml $ helm install kyuubi charts/kyuubi -f values-spark-files.yaml $ kubectl exec kyuubi-0 -- ls ../spark/conf spark-custom.properties spark-env.sh spark-test.properties
Test suite "Custom kyuubi-defaults.conf from existing ConfigMap"
Property file
values-kyuubi-defaults.yaml
ConfigMap
kyuubi-defaults-config
fromconfigmap-kyuubi-defaults.yaml
Rendered templates are correct
Content of
kyuubi-defaults.conf
comes from ConfigMapChecklist 📝
Be nice. Be informative.