Azure / orkestra

Orkestra is a cloud-native release orchestration and lifecycle management (LCM) platform for the fine-grained orchestration of inter-dependent helm charts and their dependencies
https://azure.github.io/orkestra
Other
105 stars 16 forks source link

Add option to not stage subcharts (i.e. not decompose subcharts) allowing only the application chart to be deployed with dependencies enabled #309

Closed nitishm closed 3 years ago

nitishm commented 3 years ago

Is your feature request related to a problem? Please describe. In certain scenarios (or chart structures) the end-user may not like to leverage subchart dependency ordering. In such a case we would want to deploy only the application chart with the subcharts enabled to mimic was a vanilla helm install of the application chart does today. This allows the user to leverage application ordering in an application group but ignore subchart ordering.

With certain end-users we have seen issues when we force ordering on the subcharts due to how the charts are designed. Issues like timing issues, helm hooks.

Describe the solution you'd like Disable staging of charts and subchart ordering (i.e. DAG workflow) when subcharts field is omitted from he application spec in the application group

Describe alternatives you've considered No alternatives at the moment because orkestra implicitly stages subcharts and generates a subchart workflow, even though it does it by kicking off all the subcharts in parallel.

Additional context Assume an application chart with pre-install and post-install hooks that must be run before any of the components (application and dependencies) can we installed. On decomposing the chart the hooks will be scheduled to run only after the subcharts are started since the parent application chart goes last. This can lead to issues since the hooks could be used to perform some setup that is required by all component charts to exist. For instance an ImagePullSecret would require the Secret resource to exist before any pods are started to avoid imagePull errors.

nitishm commented 3 years ago

cc @jonathan-innis This is a high priority one. Taking this one up.