= Owner Trait

// Start of autogenerated code - DO NOT EDIT! (description)
The Owner trait ensures that all created resources belong to the integration being created
and transfers annotations and labels on the integration onto these owned resources.


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

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

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

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

| owner.target-annotations
| string
| The annotations to be transferred (A comma-separated list of label keys)

| owner.target-labels
| string
| The labels to be transferred (A comma-separated list of label keys)

|===

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