= Service Trait

// Start of autogenerated code - DO NOT EDIT! (description)
The Service trait exposes the integration with a Service resource so that it can be accessed by other applications
(or integrations) in the same namespace.

It's enabled by default if the integration depends on a Camel component that can expose a HTTP endpoint.


This trait is available in the following profiles: **Kubernetes, 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 service.[key]=[value] --trait service.[key2]=[value2] integration.groovy
```
The following configuration options are available:

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

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

| service.auto
| bool
| To automatically detect from the code if a Service needs to be created.

|===

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