= Deployment Trait

// Start of autogenerated code - DO NOT EDIT! (description)
The Deployment trait is responsible for generating the Kubernetes deployment that will make sure
the integration will run in the cluster.


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

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

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

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

|===

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