kyma
kyma copied to clipboard
Configure available runtimes outside of function CRD
Description
Move allowed runtimes from enum in function CRD into a configuration (i.e config map) that is consumed at validation time.
The configuration should contain:
- the list of supported runtimes
- information about deprecated runtimes
- information about default runtime
Reason
Having the allowed runtimes as enum as part of v1alpha2.Function CRD is rather problematic.
I.e If we want to add a runtime we need to change the CRD - which leads to a mandatory reconciliation of all functions on an upgraded runtime. - thats wasted computation resources used for nothing.
Having a simple string field as spec.runtime
allows more flexibility.
Related issues https://github.com/kyma-project/kyma/issues/14593
I am implementing the changes described in the comment (12/08/2022), not in the original description.