Choose a Camel runtime version
Starting from Camel K version 2 you will be able to use any Camel K Runtime version available which version is above 1.17. In order to use the feature you need to use the Camel trait.
The runtime-version
property is quite straightforward to use:
kamel run my-route.yaml -t camel.runtime-version=1.17.0
Having the ability to choose the runtime, gives you the ability to specify which Camel version you want to run. Each Camel K Runtime is bound to a well defined version of Camel (see the compatibility matrix).
How does it work
This feature requires the dynamic generation of a builder that contains all the tooling expected by the build phase. In particular, this is a requirement for Quarkus native builds which, can be only done with builder Pod
strategy.
When you are creating a new runtime for which a CamelCatalog does not yest exist, Camel K Operator is in charge to create such a catalog. Every CamelCatalog may carry the definition of a container image builder which may later be used by the builder Pod
to build a Camel application which is specific to such a runtime (for instance, when running a Quarkus Native build).
Pin a runtime version
By default each Camel K version uses the runtime version provided in the IntegrationPlatform. Using the trait will let you pin to a well defined version, avoiding to unintentionally upgrade the runtime of the integrations running when you perform an operator upgrade (hence an IntegrationPlatform upgrade). See more info in the Camel K upgrade documentation.