The Quarkus trait configures the Quarkus runtime.
It’s enabled by default.
| Compiling to a native executable, i.e. when using |
This trait is available in the following profiles: Kubernetes, Knative, OpenShift.
|The quarkus trait is a platform trait: disabling it may compromise the platform functionality.|
Trait properties can be specified when running any integration with the CLI:
$ kamel run --trait quarkus.[key]=[value] --trait quarkus.[key2]=[value2] integration.groovy
The following configuration options are available:
| || || |
Can be used to enable or disable a trait. All traits share this common property.
| || || |
The Quarkus package types, either
Supported Camel Components
Camel K only supports the Camel components that are available as Camel Quarkus Extensions out-of-the-box. These extensions are listed in the Camel Quarkus documentation.
Automatic Rollout Deployment to Native Integration
While the compilation to native executables produces integrations that start faster and consume less memory at runtime, the build process is resources intensive, and takes a longer time than the packaging to traditional Java applications.
In order to combine the best of both worlds, it’s possible to configure the Quarkus trait to run both traditional and native builds in parallel when running an integration, e.g.:
$ kamel run -t quarkus.package-type=fast-jar -t quarkus.package-type=native ...
The integration pod will run as soon as the
fast-jar build completes, and a rollout deployment to the
native image will be triggered, as soon as the
native build completes, with no service interruption.