= Quarkus Trait

// Start of autogenerated code - DO NOT EDIT! (description)
The Quarkus trait activates the Quarkus runtime.

It's disabled by default.


This trait is available in the following profiles: **Kubernetes, Knative, OpenShift**.

// End of autogenerated code - DO NOT EDIT! (description)
// Start of autogenerated code - DO NOT EDIT! (configuration)
== Configuration

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:

[cols="2,1,5a"]
|===
|Property | Type | Description

| quarkus.enabled
| bool
| Can be used to enable or disable a trait. All traits share this common property.

| quarkus.native
| bool
| The Quarkus runtime type (reserved for future use)

|===

// End of autogenerated code - DO NOT EDIT! (configuration)

== Supported Camel Components

When running with Quarkus enabled, then Camel K only supports out of the box, those Camel components that
are available as Camel Quarkus Extensions.

You can see the list of extensions from the https://camel.apache.org/camel-quarkus/latest/list-of-camel-quarkus-extensions.html[Camel Quarkus documentation].
