traits:
- name: affinity
  platform: false
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: Allows constraining which nodes the integration pod(s) are eligible to be scheduled on, based on labels on the node, or with inter-pod affinity and anti-affinity, based on labels on pods that are already running on the nodes. It's disabled by default.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: pod-affinity
    type: bool
    description: Always co-locates multiple replicas of the integration in the same node (default *false*).
  - name: pod-anti-affinity
    type: bool
    description: Never co-locates multiple replicas of the integration in the same node (default *false*).
  - name: node-affinity-labels
    type: '[]string'
    description: Defines a set of nodes the integration pod(s) are eligible to be scheduled on, based on labels on the node.
  - name: pod-affinity-labels
    type: '[]string'
    description: Defines a set of pods (namely those matching the label selector, relative to the given namespace) that theintegration pod(s) should be co-located with.
  - name: pod-anti-affinity-labels
    type: '[]string'
    description: Defines a set of pods (namely those matching the label selector, relative to the given namespace) that theintegration pod(s) should not be co-located with.
- name: builder
  platform: true
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The builder trait is internally used to determine the best strategy to build and configure IntegrationKits.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: verbose
    type: bool
    description: Enable verbose logging on build components that support it (e.g. Kaniko build pod).
- name: camel
  platform: true
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The Camel trait can be used to configure versions of Apache Camel K runtime and related libraries, it cannot be disabled.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: runtime-version
    type: string
    description: The camel-k-runtime version to use for the integration. It overrides the default version set in the Integration Platform.
- name: container
  platform: true
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The Container trait can be used to configure properties of the container where the integration will run. It also provides configuration for Services associated to the container.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: auto
    type: bool
    description: ""
  - name: request-cpu
    type: string
    description: The minimum amount of CPU required.
  - name: request-memory
    type: string
    description: The minimum amount of memory required.
  - name: limit-cpu
    type: string
    description: The maximum amount of CPU required.
  - name: limit-memory
    type: string
    description: The maximum amount of memory required.
  - name: expose
    type: bool
    description: Can be used to enable/disable exposure via kubernetes Service.
  - name: port
    type: int
    description: To configure a different port exposed by the container (default `8080`).
  - name: port-name
    type: string
    description: To configure a different port name for the port exposed by the container (default `http`).
  - name: service-port
    type: int
    description: To configure under which service port the container port is to be exposed (default `80`).
  - name: service-port-name
    type: string
    description: To configure under which service port name the container port is to be exposed (default `http`).
  - name: name
    type: string
    description: The main container name. It's named `integration` by default.
  - name: probes-enabled
    type: bool
    description: ProbesEnabled enable/disable probes on the container (default `false`)
  - name: probe-path
    type: string
    description: Path to access on the probe ( default `/health`). Note that this property is not supportedon quarkus runtime and setting it will result in the integration failing to start.
  - name: liveness-initial-delay
    type: int32
    description: Number of seconds after the container has started before liveness probes are initiated.
  - name: liveness-timeout
    type: int32
    description: Number of seconds after which the probe times out. Applies to the liveness probe.
  - name: liveness-period
    type: int32
    description: How often to perform the probe. Applies to the liveness probe.
  - name: liveness-success-threshold
    type: int32
    description: Minimum consecutive successes for the probe to be considered successful after having failed.Applies to the liveness probe.
  - name: liveness-failure-threshold
    type: int32
    description: Minimum consecutive failures for the probe to be considered failed after having succeeded.Applies to the liveness probe.
  - name: readiness-initial-delay
    type: int32
    description: Number of seconds after the container has started before readiness probes are initiated.
  - name: readiness-timeout
    type: int32
    description: Number of seconds after which the probe times out. Applies to the readiness probe.
  - name: readiness-period
    type: int32
    description: How often to perform the probe. Applies to the readiness probe.
  - name: readiness-success-threshold
    type: int32
    description: Minimum consecutive successes for the probe to be considered successful after having failed.Applies to the readiness probe.
  - name: readiness-failure-threshold
    type: int32
    description: Minimum consecutive failures for the probe to be considered failed after having succeeded.Applies to the readiness probe.
- name: cron
  platform: false
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: 'The Cron trait can be used to customize the behaviour of periodic timer/cron based integrations. While normally an integration requires a pod to be always up and running, some periodic tasks, such as batch jobs, require to be activated at specific hours of the day or with a periodic delay of minutes. For such tasks, the cron trait can materialize the integration as a Kubernetes CronJob instead of a standard deployment, in order to save resources when the integration does not need to be executed. Integrations that start from the following components are evaluated by the cron trait: `timer`, `cron`, `quartz`. The rules for using a Kubernetes CronJob are the following: - `timer`: when periods can be written as cron expressions. E.g. `timer:tick?period=60000`. - `cron`, `quartz`: when the cron expression does not contain seconds (or the "seconds" part is set to 0). E.g. `cron:tab?schedule=0/2${plus}*{plus}*{plus}*{plus}?` or `quartz:trigger?cron=0{plus}0/2{plus}*{plus}*{plus}*{plus}?`.'
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: schedule
    type: string
    description: The CronJob schedule for the whole integration. If multiple routes are declared, they must have the same schedule for thismechanism to work correctly.
  - name: components
    type: string
    description: 'A comma separated list of the Camel components that need to be customized in order for them to work when the schedule is triggered externally by Kubernetes.A specific customizer is activated for each specified component. E.g. for the `timer` component, the `cron-timer` customizer isactivated (it''s present in the `org.apache.camel.k:camel-k-runtime-cron` library).Supported components are currently: `cron`, `timer` and `quartz`.'
  - name: fallback
    type: bool
    description: Use the default Camel implementation of the `cron` endpoint (`quartz`) instead of trying to materialize the integrationas Kubernetes CronJob.
  - name: concurrency-policy
    type: string
    description: 'Specifies how to treat concurrent executions of a Job.Valid values are:- "Allow": allows CronJobs to run concurrently;- "Forbid" (default): forbids concurrent runs, skipping next run if previous run hasn''t finished yet;- "Replace": cancels currently running job and replaces it with a new one'
  - name: auto
    type: bool
    description: Automatically deploy the integration as CronJob when all routes areeither starting from a periodic consumer (only `cron`, `timer` and `quartz` are supported) or a passive consumer (e.g. `direct` is a passive consumer).It's required that all periodic consumers have the same period and it can be expressed as cron schedule (e.g. `1m` can be expressed as `0/1 * * * *`,while `35m` or `50s` cannot).
- name: dependencies
  platform: true
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The Dependencies trait is internally used to automatically add runtime dependencies based on the integration that the user wants to run.
  properties: []
- name: deployer
  platform: true
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The deployer trait can be used to explicitly select the kind of high level resource that will deploy the integration.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: kind
    type: string
    description: Allows to explicitly select the desired deployment kind between `deployment`, `cron-job` or `knative-service` when creating the resources for running the integration.
- name: deployment
  platform: true
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The Deployment trait is responsible for generating the Kubernetes deployment that will make sure the integration will run in the cluster.
  properties: []
- name: environment
  platform: true
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The environment trait is used internally to inject standard environment variables in the integration container, such as `NAMESPACE`, `POD_NAME` and others.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: container-meta
    type: bool
    description: ""
- name: gc
  platform: false
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The GC Trait garbage-collects all resources that are no longer necessary upon integration updates.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: discovery-cache
    type: ./pkg/trait.discoveryCacheType
    description: Discovery client cache to be used, either `disabled`, `disk` or `memory` (default `memory`)
- name: ingress
  platform: false
  profiles:
  - Kubernetes
  description: The Ingress trait can be used to expose the service associated with the integration to the outside world with a Kubernetes Ingress. It's enabled by default whenever a Service is added to the integration (through the `service` trait).
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: host
    type: string
    description: '**Required**. To configure the host exposed by the ingress.'
  - name: auto
    type: bool
    description: To automatically add an ingress whenever the integration uses a HTTP endpoint consumer.
- name: istio
  platform: false
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The Istio trait allows to configure properties related to the Istio service mesh, such as sidecar injection and outbound IP ranges.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: allow
    type: string
    description: Configures a (comma-separated) list of CIDR subnets that should not be intercepted by the Istio proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16` by default).
  - name: inject
    type: bool
    description: Forces the value for labels `sidecar.istio.io/inject`. By default the label is set to `true` on deployment and not set on Knative Service.
- name: jolokia
  platform: false
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The Jolokia trait activates and configures the Jolokia Java agent. See https://jolokia.org/reference/html/agents.html
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: ca-cert
    type: string
    description: The PEM encoded CA certification file path, used to verify client certificates,applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true`(default `/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt` for OpenShift).
  - name: client-principal
    type: '[]string'
    description: The principal(s) which must be given in a client certificate to allow access to the Jolokia endpoint,applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true`(default `clientPrincipal=cn=system:master-proxy`, `cn=hawtio-online.hawtio.svc` and `cn=fuse-console.fuse.svc` for OpenShift).
  - name: discovery-enabled
    type: bool
    description: Listen for multicast requests (default `false`)
  - name: extended-client-check
    type: bool
    description: Mandate the client certificate contains a client flag in the extended key usage section,applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true`(default `true` for OpenShift).
  - name: host
    type: string
    description: The Host address to which the Jolokia agent should bind to. If `"\*"` or `"0.0.0.0"` is given,the servers binds to every network interface (default `"*"`).
  - name: password
    type: string
    description: The password used for authentication, applicable when the `user` option is set.
  - name: port
    type: int
    description: The Jolokia endpoint port (default `8778`).
  - name: protocol
    type: string
    description: The protocol to use, either `http` or `https` (default `https` for OpenShift)
  - name: user
    type: string
    description: The user to be used for authentication
  - name: use-ssl-client-authentication
    type: bool
    description: Whether client certificates should be used for authentication (default `true` for OpenShift).
  - name: options
    type: '[]string'
    description: A list of additional Jolokia options as definedin https://jolokia.org/reference/html/agents.html#agent-jvm-config[JVM agent configuration options]
- name: jvm
  platform: true
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The JVM trait is used to configure the JVM that runs the integration.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: debug
    type: bool
    description: Activates remote debugging, so that a debugger can be attached to the JVM, e.g., using port-forwarding
  - name: debug-suspend
    type: bool
    description: Suspends the target JVM immediately before the main class is loaded
  - name: print-command
    type: bool
    description: Prints the command used the start the JVM in the container logs (default `true`)
  - name: debug-address
    type: string
    description: Transport address at which to listen for the newly launched JVM (default `*:5005`)
  - name: options
    type: '[]string'
    description: A list of JVM options
- name: kamelets
  platform: true
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The kamelets trait is a platform trait used to inject Kamelets into the integration runtime.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: auto
    type: bool
    description: Automatically inject all referenced Kamelets and their default configuration (enabled by default)
  - name: list
    type: string
    description: Comma separated list of Kamelet names to load into the current integration
- name: knative-service
  platform: false
  profiles:
  - Knative
  description: The Knative Service trait allows to configure options when running the integration as Knative service instead of a standard Kubernetes Deployment. Running integrations as Knative Services adds auto-scaling (and scaling-to-zero) features, but those features are only meaningful when the routes use a HTTP endpoint consumer.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: autoscaling-class
    type: string
    description: Configures the Knative autoscaling class property (e.g. to set `hpa.autoscaling.knative.dev` or `kpa.autoscaling.knative.dev` autoscaling).Refer to the Knative documentation for more information.
  - name: autoscaling-metric
    type: string
    description: Configures the Knative autoscaling metric property (e.g. to set `concurrency` based or `cpu` based autoscaling).Refer to the Knative documentation for more information.
  - name: autoscaling-target
    type: int
    description: Sets the allowed concurrency level or CPU percentage (depending on the autoscaling metric) for each Pod.Refer to the Knative documentation for more information.
  - name: min-scale
    type: int
    description: The minimum number of Pods that should be running at any time for the integration. It's **zero** by default, meaning thatthe integration is scaled down to zero when not used for a configured amount of time.Refer to the Knative documentation for more information.
  - name: max-scale
    type: int
    description: An upper bound for the number of Pods that can be running in parallel for the integration.Knative has its own cap value that depends on the installation.Refer to the Knative documentation for more information.
  - name: auto
    type: bool
    description: Automatically deploy the integration as Knative service when all conditions hold:* Integration is using the Knative profile* All routes are either starting from a HTTP based consumer or a passive consumer (e.g. `direct` is a passive consumer)
- name: knative
  platform: false
  profiles:
  - Knative
  description: The Knative trait automatically discovers addresses of Knative resources and inject them into the running integration. The full Knative configuration is injected in the CAMEL_KNATIVE_CONFIGURATION in JSON format. The Camel Knative component will then use the full configuration to configure the routes. The trait is enabled by default when the Knative profile is active.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: configuration
    type: string
    description: Can be used to inject a Knative complete configuration in JSON format.
  - name: channel-sources
    type: '[]string'
    description: List of channels used as source of integration routes.Can contain simple channel names or full Camel URIs.
  - name: channel-sinks
    type: '[]string'
    description: List of channels used as destination of integration routes.Can contain simple channel names or full Camel URIs.
  - name: endpoint-sources
    type: '[]string'
    description: List of channels used as source of integration routes.
  - name: endpoint-sinks
    type: '[]string'
    description: List of endpoints used as destination of integration routes.Can contain simple endpoint names or full Camel URIs.
  - name: event-sources
    type: '[]string'
    description: List of event types that the integration will be subscribed to.Can contain simple event types or full Camel URIs (to use a specific broker different from "default").
  - name: event-sinks
    type: '[]string'
    description: List of event types that the integration will produce.Can contain simple event types or full Camel URIs (to use a specific broker).
  - name: filter-source-channels
    type: bool
    description: Enables filtering on events based on the header "ce-knativehistory". Since this is an experimental headerthat can be removed in a future version of Knative, filtering is enabled only when the integration islistening from more than 1 channel.
  - name: camel-source-compat
    type: bool
    description: Enables Knative CamelSource pre 0.15 compatibility fixes (will be removed in future versions).
  - name: sink-binding
    type: bool
    description: Allows binding the integration to a sink via a Knative SinkBinding resource.This can be used when the integration targets a single sink.It's disabled by default.
  - name: auto
    type: bool
    description: Enable automatic discovery of all trait properties.
- name: master
  platform: false
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: 'The Master trait allows to configure the integration to automatically leverage Kubernetes resources for doing leader election and starting *master* routes only on certain instances. It''s activated automatically when using the master endpoint in a route, e.g. `from("master:lockname:telegram:bots")...`. NOTE: this trait adds special permissions to the integration service account in order to read/write configmaps and read pods. It''s recommended to use a different service account than "default" when running the integration.'
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: auto
    type: bool
    description: Enables automatic configuration of the trait.
  - name: include-delegate-dependencies
    type: bool
    description: When this flag is active, the operator analyzes the source code to add dependencies required by delegate endpoints.E.g. when using `master:lockname:timer`, then `camel:timer` is automatically added to the set of dependencies.It's enabled by default.
  - name: configmap
    type: string
    description: Name of the configmap that will be used to store the lock. Defaults to "<integration-name>-lock".
  - name: label-key
    type: string
    description: Label that will be used to identify all pods contending the lock. Defaults to "camel.apache.org/integration".
  - name: label-value
    type: string
    description: Label value that will be used to identify all pods contending the lock. Defaults to the integration name.
- name: openapi
  platform: true
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The OpenAPI DSL trait is internally used to allow creating integrations from a OpenAPI specs.
  properties: []
- name: owner
  platform: true
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  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.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: target-annotations
    type: '[]string'
    description: The set of annotations to be transferred
  - name: target-labels
    type: '[]string'
    description: The set of labels to be transferred
- name: pdb
  platform: false
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The PDB trait allows to configure the PodDisruptionBudget resource for the Integration pods.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: min-available
    type: string
    description: The number of pods for the Integration that must still be available after an eviction.It can be either an absolute number or a percentage.Only one of `min-available` and `max-unavailable` can be specified.
  - name: max-unavailable
    type: string
    description: The number of pods for the Integration that can be unavailable after an eviction.It can be either an absolute number or a percentage (default `1` if `min-available` is also not set).Only one of `max-unavailable` and `min-available` can be specified.
- name: platform
  platform: true
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The platform trait is a base trait that is used to assign an integration platform to an integration. In case the platform is missing, the trait is allowed to create a default platform. This feature is especially useful in contexts where there's no need to provide a custom configuration for the platform (e.g. on OpenShift the default settings work, since there's an embedded container image registry).
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: create-default
    type: bool
    description: To create a default (empty) platform when the platform is missing.
  - name: auto
    type: bool
    description: To automatically detect from the environment if a default platform can be created (it will be created on OpenShift only).
- name: prometheus
  platform: false
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: 'The Prometheus trait configures a Prometheus-compatible endpoint. This trait also exposes the integration with `Service` and `ServiceMonitor` resources, so that the endpoint can be scraped automatically, when using the Prometheus Operator. The metrics exposed vary depending on the configured runtime. With the default Quarkus runtime, metrics are exposed using MicroProfile Metrics. While with the Java main runtime, metrics are exposed using the Prometheus JMX exporter. WARNING: The creation of the `ServiceMonitor` resource requires the https://github.com/coreos/prometheus-operator[Prometheus Operator] custom resource definition to be installed. You can set `service-monitor` to `false` for the Prometheus trait to work without the Prometheus Operator. The Prometheus trait is disabled by default.'
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: port
    type: int
    description: The Prometheus endpoint port (default `9779`, or `8080` with Quarkus).
  - name: service-monitor
    type: bool
    description: Whether a `ServiceMonitor` resource is created (default `true`).
  - name: service-monitor-labels
    type: '[]string'
    description: The `ServiceMonitor` resource labels, applicable when `service-monitor` is `true`.
  - name: configmap
    type: string
    description: To use a custom ConfigMap containing the Prometheus JMX exporter configuration (under the `content` ConfigMap key).When this property is left empty (default), Camel K generates a standard Prometheus configuration for the integration.It is not applicable when using Quarkus.
- name: pull-secret
  platform: false
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The Pull Secret trait sets a pull secret on the pod, to allow Kubernetes to retrieve the container image from an external registry. The pull secret can be specified manually or, in case you've configured authentication for an external container registry on the `IntegrationPlatform`, the same secret is used to pull images. It's enabled by default whenever you configure authentication for an external container registry, so it assumes that external registries are private. If your registry does not need authentication for pulling images, you can disable this trait.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: secret-name
    type: string
    description: The pull secret name to set on the Pod. If left empty this is automatically taken from the `IntegrationPlatform` registry configuration.
  - name: auto
    type: bool
    description: Automatically configures the platform registry secret on the pod if it is of type `kubernetes.io/dockerconfigjson`.
- name: quarkus
  platform: false
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The Quarkus trait activates the Quarkus runtime. It's enabled by default.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: native
    type: bool
    description: The Quarkus runtime type (reserved for future use)
- name: route
  platform: false
  profiles:
  - OpenShift
  description: The Route trait can be used to configure the creation of OpenShift routes for the integration.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: host
    type: string
    description: To configure the host exposed by the route.
  - name: tls-termination
    type: string
    description: The TLS termination type, like `edge`, `passthrough` or `reencrypt`.Refer to the OpenShift documentation for additional information.
  - name: tls-certificate
    type: string
    description: The TLS certificate contents.Refer to the OpenShift documentation for additional information.
  - name: tls-key
    type: string
    description: The TLS certificate key contents.Refer to the OpenShift documentation for additional information.
  - name: tls-ca-certificate
    type: string
    description: The TLS cert authority certificate contents.Refer to the OpenShift documentation for additional information.
  - name: tls-destination-ca-certificate
    type: string
    description: The destination CA certificate provides the contents of the ca certificate of the final destination.  When using reencrypttermination this file should be provided in order to have routers use it for health checks on the secure connection.If this field is not specified, the router may provide its own destination CA and perform hostname validation usingthe short service name (service.namespace.svc), which allows infrastructure generated certificates to automaticallyverify.Refer to the OpenShift documentation for additional information.
  - name: tls-insecure-edge-termination-policy
    type: string
    description: To configure how to deal with insecure traffic, e.g. `Allow`, `Disable` or `Redirect` traffic.Refer to the OpenShift documentation for additional information.
- name: service
  platform: false
  profiles:
  - Kubernetes
  - OpenShift
  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.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: auto
    type: bool
    description: To automatically detect from the code if a Service needs to be created.
  - name: node-port
    type: bool
    description: Enable Service to be exposed as NodePort
- name: 3scale
  platform: false
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The 3scale trait can be used to automatically create annotations that allow 3scale to discover the generated service and make it available for API management. The 3scale trait is disabled by default.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: auto
    type: bool
    description: Enables automatic configuration of the trait.
  - name: scheme
    type: string
    description: The scheme to use to contact the service (default `http`)
  - name: path
    type: string
    description: The path where the API is published (default `/`)
  - name: port
    type: int
    description: The port where the service is exposed (default `80`)
  - name: description-path
    type: string
    description: The path where the Open-API specification is published (default `/openapi.json`)
- name: tracing
  platform: false
  profiles:
  - Kubernetes
  - Knative
  - OpenShift
  description: The Tracing trait can be used to automatically publish tracing information to an OpenTracing compatible collector. The trait is able to automatically discover the tracing endpoint available in the namespace (supports **Jaeger**). The Tracing trait is disabled by default.
  properties:
  - name: enabled
    type: bool
    description: Can be used to enable or disable a trait. All traits share this common property.
  - name: auto
    type: bool
    description: Enables automatic configuration of the trait, including automatic discovery of the tracing endpoint.
  - name: service-name
    type: string
    description: The name of the service that publishes tracing data (defaults to the integration name)
  - name: endpoint
    type: string
    description: The target endpoint of the OpenTracing service (automatically discovered by default)
  - name: sampler-type
    type: string
    description: The sampler type (default "const")
  - name: sampler-param
    type: string
    description: The sampler specific param (default "1")
