[DSIP-36][Helm] split application.yaml as configmap to control db/registry
Search before asking
- [X] I had searched in the DSIP and found no similar DSIP.
Motivation
Like https://github.com/apache/dolphinscheduler/blob/dev/deploy/kubernetes/dolphinscheduler/templates/configmap.yaml and discuss in https://github.com/apache/dolphinscheduler/pull/15922#discussion_r1580557409,
We could put application.yaml into configmap, and make some important items of application.yaml as variables and access them through values.yaml.
mainly focus on datasource & registry configuration in stage 1
involves https://github.com/apache/dolphinscheduler/issues/14102 and https://github.com/apache/dolphinscheduler/issues/15473
Design Detail
We could put application.yaml into configmap, and make some important items of application.yaml as variables and access them through values.yaml. For example api server, alert server and master server all need access to db and there are db related configs in the application.yaml for all of them. So you may put db related configs in values.yaml, and share those configs across different application.yaml for alert server, api server and master server. The same for registry related configs.
Compatibility, Deprecation, and Migration Plan
1.split api/master/worker/alert application into configmap, keep the same as docker
2.put datasource & registry configuration into values.yaml and make it disable
3.make it enable
4.remove old configuration
Test Plan
Test by UT and E2E
Code of Conduct
- [X] I agree to follow this project's Code of Conduct