= Camel Trait

// Start of autogenerated code - DO NOT EDIT! (description)
The Camel trait can be used to configure versions of Apache Camel K runtime and related libraries, it cannot be disabled.


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

WARNING: The camel trait is a *platform trait*: disabling it may compromise the platform functionality.

// 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 camel.[key]=[value] --trait camel.[key2]=[value2] integration.groovy
```
The following configuration options are available:

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

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

| camel.runtime-version
| string
| The camel-k-runtime version to use for the integration. It overrides the default version set in the Integration Platform.

|===

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