| traits: |
| - 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: 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 the integration 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 the integration pod(s) should not be co-located |
| with. |
| - name: aws-secrets-manager |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: 'The Secrets Manager trait can be used to use secrets from AWS Secrets |
| Manager The AWS Secrets Manager trait is disabled by default. For more information |
| about how to use secrets from AWS Secrets Manager take a look at the components |
| docs: xref:components::aws-secrets-manager-component.adoc[AWS Secrets Manager |
| component] A sample execution of this trait, would require the following trait |
| options: -t aws-secrets-manager.enabled=true -t aws-secrets-manager.access-key="aws-access-key" |
| -t aws-secrets-manager.secret-key="aws-secret-key" -t aws-secrets-manager.region="aws-region" |
| To enable the automatic context reload on secrets updates you should define the |
| following trait options: -t aws-secrets-manager.enabled=true -t aws-secrets-manager.access-key="aws-access-key" |
| -t aws-secrets-manager.secret-key="aws-secret-key" -t aws-secrets-manager.region="aws-region" |
| -t aws-secrets-manager.context-reload-enabled="true" -t aws-secrets-manager.refresh-enabled="true" |
| -t aws-secrets-manager.refresh-period="30000" -t aws-secrets-manager.secrets="test*"' |
| 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: access-key,omitempty |
| type: string |
| description: The AWS Access Key to use |
| - name: secret-key,omitempty |
| type: string |
| description: The AWS Secret Key to use |
| - name: region,omitempty |
| type: string |
| description: The AWS Region to use |
| - name: use-default-credentials-provider,omitempty |
| type: bool |
| description: Define if we want to use the Default Credentials Provider chain as |
| authentication method |
| - name: context-reload-enabled,omitempty |
| type: bool |
| description: Define if we want to use the Camel Context Reload feature or not |
| - name: refresh-enabled,omitempty |
| type: bool |
| description: Define if we want to use the Refresh Feature for secrets |
| - name: refresh-period,omitempty |
| type: string |
| description: If Refresh is enabled, this defines the interval to check the refresh |
| event |
| - name: refresh-period,omitempty |
| type: string |
| description: If Refresh is enabled, the regular expression representing the secrets |
| we want to track |
| - name: azure-key-vault |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: 'The Azure Key Vault trait can be used to use secrets from Azure Key |
| Vault service The Azure Key Vault trait is disabled by default. For more information |
| about how to use secrets from Azure Key Vault component take a look at the components |
| docs: xref:components::azure-key-vault-component.adoc[Azure Key Vault component] |
| A sample execution of this trait, would require the following trait options: -t |
| azure-key-vault.enabled=true -t azure-key-vault.tenant-id="tenant-id" -t azure-key-vault.client-id="client-id" |
| -t azure-key-vault.client-secret="client-secret" -t azure-key-vault.vault-name="vault-name" |
| To enable the automatic context reload on secrets updates you should define the |
| following trait options: -t azure-key-vault.enabled=true -t azure-key-vault.tenant-id="tenant-id" |
| -t azure-key-vault.client-id="client-id" -t azure-key-vault.client-secret="client-secret" |
| -t azure-key-vault.vault-name="vault-name" -t azure-key-vault.context-reload-enabled="true" |
| -t azure-key-vault.refresh-enabled="true" -t azure-key-vault.refresh-period="30000" |
| -t azure-key-vault.secrets="test*" -t azure-key-vault.eventhub-connection-string="connection-string" |
| -t azure-key-vault.blob-account-name="account-name" -t azure-key-vault.blob-container-name="container-name" -t |
| azure-key-vault.blob-access-key="account-name"' |
| 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: tenant-id,omitempty |
| type: string |
| description: The Azure Tenant Id for accessing Key Vault |
| - name: client-id,omitempty |
| type: string |
| description: The Azure Client Id for accessing Key Vault |
| - name: client-secret,omitempty |
| type: string |
| description: The Azure Client Secret for accessing Key Vault |
| - name: vault-name,omitempty |
| type: string |
| description: The Azure Vault Name for accessing Key Vault |
| - name: context-reload-enabled,omitempty |
| type: bool |
| description: Define if we want to use the Camel Context Reload feature or not |
| - name: refresh-enabled,omitempty |
| type: bool |
| description: Define if we want to use the Refresh Feature for secrets |
| - name: refresh-period,omitempty |
| type: string |
| description: If Refresh is enabled, this defines the interval to check the refresh |
| event |
| - name: refresh-period,omitempty |
| type: string |
| description: If Refresh is enabled, the regular expression representing the secrets |
| we want to track |
| - name: refresh-period,omitempty |
| type: string |
| description: If Refresh is enabled, the connection String to point to the Eventhub |
| service used to track updates |
| - name: refresh-period,omitempty |
| type: string |
| description: If Refresh is enabled, the account name for Azure Storage Blob service |
| used to save checkpoint while consuming from Eventhub |
| - name: refresh-period,omitempty |
| type: string |
| description: If Refresh is enabled, the access key for Azure Storage Blob service |
| used to save checkpoint while consuming from Eventhub |
| - name: refresh-period,omitempty |
| type: string |
| description: If Refresh is enabled, the container name for Azure Storage Blob |
| service used to save checkpoint while consuming from Eventhub |
| - 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: properties |
| type: '[]string' |
| description: A list of properties to be provided to the build task |
| - 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: properties |
| type: '[]string' |
| description: A list of properties to be provided to the Integration runtime |
| - 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: To automatically enable the trait |
| - 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. |
| It defaults to `http` only when the `expose` parameter is true. |
| - 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: image |
| type: string |
| description: The main container image |
| - name: image-pull-policy |
| type: PullPolicy |
| description: 'The pull policy: Always|Never|IfNotPresent' |
| - 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 this mechanism 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 is activated (it''s present in |
| the `org.apache.camel.k:camel-k-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 integration as 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 are |
| either 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: starting-deadline-seconds |
| type: int64 |
| description: Optional deadline in seconds for starting the job if it misses scheduled |
| time for any reason. Missed jobs executions will be counted as failed ones. |
| - name: active-deadline-seconds |
| type: int64 |
| description: Specifies the duration in seconds, relative to the start time, that |
| the job may be continuously active before it is considered to be failed. It |
| defaults to 60s. |
| - name: backoff-limit |
| type: int32 |
| description: Specifies the number of retries before marking the job failed. It |
| defaults to 2. |
| - 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 is responsible for deploying the resources owned |
| by the integration, and can be used to explicitly select the underlying controller |
| that will manage 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: 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: use-ssa |
| type: bool |
| description: Use server-side apply to update the owned resources (default `true`). |
| Note that it automatically falls back to client-side patching, if SSA is not |
| available, e.g., on old Kubernetes clusters. |
| - 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: enabled |
| type: bool |
| description: Can be used to enable or disable a trait. All traits share this common |
| property. |
| - name: progress-deadline-seconds |
| type: int32 |
| description: The maximum time in seconds for the deployment to make progress before |
| it is considered to be failed. It defaults to 60s. |
| - name: strategy |
| type: DeploymentStrategyType |
| description: The deployment strategy to use to replace existing pods with new |
| ones. |
| - name: rolling-update-max-unavailable |
| type: int |
| description: 'The maximum number of pods that can be unavailable during the update. |
| Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: |
| 10%). Absolute number is calculated from percentage by rounding down. This can |
| not be 0 if MaxSurge is 0. Defaults to 25%.' |
| - name: rolling-update-max-surge |
| type: int |
| description: 'The maximum number of pods that can be scheduled above the desired |
| number of pods. Value can be an absolute number (ex: 5) or a percentage of desired |
| pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is |
| calculated from percentage by rounding up. Defaults to 25%.' |
| - 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: Enables injection of `NAMESPACE` and `POD_NAME` environment variables |
| (default `true`) |
| - name: http-proxy |
| type: bool |
| description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and `NO_PROXY` environment |
| variables (default `true`) |
| - name: vars |
| type: '[]string' |
| description: A list of environment variables to be added to the integration container. |
| The syntax is KEY=VALUE, e.g., `MY_VAR="my value"`. These take precedence over |
| the previously defined environment variables. |
| - name: error-handler |
| platform: true |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: The error-handler is a platform trait used to inject Error Handler |
| source 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: ref |
| type: string |
| description: The error handler ref name provided or found in application properties |
| - 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: github.com/apache/camel-k/pkg/apis/camel/v1/trait.DiscoveryCacheType |
| description: 'Discovery client cache to be used, either `disabled`, `disk` or |
| `memory` (default `memory`). Deprecated: to be removed from trait configuration.' |
| - name: gcp-secret-manager |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: 'The Google Secret Manager trait can be used to use secrets from Google |
| Secret Manager The Google Secret Manager trait is disabled by default. For more |
| information about how to use secrets from Google Secret Manager take a look at |
| the components docs: xref:components::google-secret-manager-component.adoc[AWS |
| Secrets Manager component] A sample execution of this trait, would require the |
| following trait options: -t gpc-secret-manager.enabled=true -t gpc-secret-manager.project-id="project-id" |
| -t gpc-secret-manager.service-account-key="file:serviceaccount.json" To enable |
| the automatic context reload on secrets updates you should define the following |
| trait options: -t gpc-secret-manager.enabled=true -t gpc-secret-manager.project-id="project-id" |
| -t gpc-secret-manager.service-account-key="file:serviceaccount.json" -t gcp-secret-manager.subscription-name="pubsub-sub" |
| -t gcp-secret-manager.context-reload-enabled="true" -t gcp-secret-manager.refresh-enabled="true" |
| -t gcp-secret-manager.refresh-period="30000" -t gcp-secret-manager.secrets="test*"' |
| 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: project-id,omitempty |
| type: string |
| description: The Project Id from Google Cloud |
| - name: service-account-key,omitempty |
| type: string |
| description: The Path to a service account Key File to use secrets from Google |
| Secret Manager |
| - name: use-default-instance,omitempty |
| type: bool |
| description: Define if we want to use the Default Instance approach for accessing |
| the Google Secret Manager service |
| - name: context-reload-enabled,omitempty |
| type: bool |
| description: Define if we want to use the Camel Context Reload feature or not |
| - name: refresh-enabled,omitempty |
| type: bool |
| description: Define if we want to use the Refresh Feature for secrets |
| - name: refresh-period,omitempty |
| type: string |
| description: If Refresh is enabled, this defines the interval to check the refresh |
| event |
| - name: refresh-period,omitempty |
| type: string |
| description: If Refresh is enabled, the regular expression representing the secrets |
| we want to track |
| - name: refresh-period,omitempty |
| type: string |
| description: If Refresh is enabled, this defines the subscription name to the |
| Google PubSub topic used to keep track of updates |
| - name: hashicorp-vault |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: 'The Hashicorp Vault trait can be used to use secrets from Hashicorp |
| Vault The Hashicorp Vault trait is disabled by default. For more information about |
| how to use secrets from Hashicorp vault take a look at the components docs: xref:components::hashicorp-vault-component.adoc[Hashicorp |
| Vault component] A sample execution of this trait, would require the following |
| trait options: -t hashicorp-vault.enabled=true -t hashicorp-vault.token="token" |
| -t hashicorp-vault.port="port" -t hashicorp-vault.engine="engine" -t hashicorp-vault.port="port" |
| -t hashicorp-vault.scheme="scheme"' |
| 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: host,omitempty |
| type: string |
| description: The Host to use |
| - name: port,omitempty |
| type: string |
| description: The Port to use |
| - name: engine,omitempty |
| type: string |
| description: The Hashicorp engine to use |
| - name: token,omitempty |
| type: string |
| description: The token to access Hashicorp Vault |
| - name: scheme,omitempty |
| type: string |
| description: The scheme to access Hashicorp Vault |
| - name: health |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: The health trait is responsible for configuring the health probes on |
| the integration container. 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: liveness-probe-enabled |
| type: bool |
| description: Configures the liveness probe for the integration container (default |
| `false`). |
| - name: liveness-scheme |
| type: string |
| description: Scheme to use when connecting to the liveness probe (default `HTTP`). |
| - name: liveness-initial-delay |
| type: int32 |
| description: Number of seconds after the container has started before the liveness |
| probe is initiated. |
| - name: liveness-timeout |
| type: int32 |
| description: Number of seconds after which the liveness probe times out. |
| - name: liveness-period |
| type: int32 |
| description: How often to perform the liveness probe. |
| - name: liveness-success-threshold |
| type: int32 |
| description: Minimum consecutive successes for the liveness probe to be considered |
| successful after having failed. |
| - name: liveness-failure-threshold |
| type: int32 |
| description: Minimum consecutive failures for the liveness probe to be considered |
| failed after having succeeded. |
| - name: readiness-probe-enabled |
| type: bool |
| description: Configures the readiness probe for the integration container (default |
| `true`). |
| - name: readiness-scheme |
| type: string |
| description: Scheme to use when connecting to the readiness probe (default `HTTP`). |
| - name: readiness-initial-delay |
| type: int32 |
| description: Number of seconds after the container has started before the readiness |
| probe is initiated. |
| - name: readiness-timeout |
| type: int32 |
| description: Number of seconds after which the readiness probe times out. |
| - name: readiness-period |
| type: int32 |
| description: How often to perform the readiness probe. |
| - name: readiness-success-threshold |
| type: int32 |
| description: Minimum consecutive successes for the readiness probe to be considered |
| successful after having failed. |
| - name: readiness-failure-threshold |
| type: int32 |
| description: Minimum consecutive failures for the readiness probe to be considered |
| failed after having succeeded. |
| - 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: To configure the host exposed by the ingress. |
| - name: auto |
| type: bool |
| description: To automatically add an ingress whenever the integration uses an |
| HTTP endpoint consumer. |
| - name: istio |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: The Istio trait allows configuring 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 defined in 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: classpath |
| type: string |
| description: Additional JVM classpath (use `Linux` classpath separator) |
| - 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: keda |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: The KEDA trait can be used for automatic integration with KEDA autoscalers. |
| The trait can be either manually configured using the `triggers` option or automatically |
| configured via markers in the Kamelets. For information on how to use KEDA enabled |
| Kamelets with the KEDA trait, refer to xref:ROOT:kamelets/kamelets-user.adoc#kamelet-keda-user[the |
| KEDA section in the Kamelets user guide]. If you want to create Kamelets that |
| contain KEDA metadata, refer to xref:ROOT:kamelets/kamelets-dev.adoc#kamelet-keda-dev[the |
| KEDA section in the Kamelets development guide]. The KEDA 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. Allows the trait to |
| infer KEDA triggers from the Kamelets. |
| - name: hack-controller-replicas |
| type: bool |
| description: Set the spec->replicas field on the top level controller to an explicit |
| value if missing, to allow KEDA to recognize it as a scalable resource. |
| - name: polling-interval |
| type: int32 |
| description: Interval (seconds) to check each trigger on. |
| - name: cooldown-period |
| type: int32 |
| description: The wait period between the last active trigger reported and scaling |
| the resource back to 0. |
| - name: idle-replica-count |
| type: int32 |
| description: Enabling this property allows KEDA to scale the resource down to |
| the specified number of replicas. |
| - name: min-replica-count |
| type: int32 |
| description: Minimum number of replicas. |
| - name: max-replica-count |
| type: int32 |
| description: Maximum number of replicas. |
| - name: triggers |
| type: '[]github.com/apache/camel-k/addons/keda.kedaTrigger' |
| description: Definition of triggers according to the KEDA format. Each trigger |
| must contain `type` field corresponding to the name of a KEDA autoscaler and |
| a key/value map named `metadata` containing specific trigger options. An optional |
| `authentication-secret` can be declared per trigger and the operator will link |
| each entry of the secret to a KEDA authentication parameter. |
| - 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 header has been removed in newer versions of Knative, filtering is |
| disabled by default. |
| - 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 |
| enabled by default when the integration targets a single sink (except when the |
| integration is owned by a Knative source). |
| - name: auto |
| type: bool |
| description: Enable automatic discovery of all trait properties. |
| - name: knative-service |
| platform: false |
| profiles: |
| - Knative |
| description: The Knative Service trait allows configuring options when running the |
| Integration as a Knative service, instead of a standard Kubernetes Deployment. |
| Running an Integration as a Knative Service enables auto-scaling (and scaling-to-zero), |
| but those features are only relevant when the Camel route(s) use(s) an 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 that the 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: rollout-duration |
| type: string |
| description: Enables to gradually shift traffic to the latest Revision and sets |
| the rollout duration. It's disabled by default and must be expressed as a Golang |
| `time.Duration` string representation, rounded to a second precision. |
| - name: visibility |
| type: string |
| description: Setting `cluster-local`, Knative service becomes a private service. |
| Specifically, this option applies the `networking.knative.dev/visibility` label |
| to Knative service. 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 an HTTP based consumer or a passive consumer (e.g. `direct` |
| is a passive consumer)' |
| - name: logging |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: The Logging trait is used to configure Integration runtime logging |
| options (such as color and format). The logging backend is provided by Quarkus, |
| whose configuration is documented at https://quarkus.io/guides/logging. |
| properties: |
| - name: enabled |
| type: bool |
| description: Can be used to enable or disable a trait. All traits share this common |
| property. |
| - name: color |
| type: bool |
| description: Colorize the log output |
| - name: format |
| type: string |
| description: Logs message format |
| - name: level |
| type: string |
| description: Adjust the logging level (defaults to INFO) |
| - name: json |
| type: bool |
| description: Output the logs in JSON |
| - name: json-pretty-print |
| type: bool |
| description: Enable "pretty printing" of the JSON logs |
| - 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: resource-name |
| type: string |
| description: Name of the configmap that will be used to store the lock. Defaults |
| to "<integration-name>-lock". Name of the configmap/lease resource that will |
| be used to store the lock. Defaults to "<integration-name>-lock". |
| - name: resource-type |
| type: string |
| description: Type of Kubernetes resource to use for locking ("ConfigMap" or "Lease"). |
| Defaults to "Lease". |
| - 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: mount |
| platform: true |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: The Mount trait can be used to configure volumes mounted on 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: configs |
| type: '[]string' |
| description: 'A list of configuration pointing to configmap/secret. The configuration |
| are expected to be UTF-8 resources as they are processed by runtime Camel Context |
| and tried to be parsed as property files. They are also made available on the |
| classpath in order to ease their usage directly from the Route. Syntax: [configmap|secret]:name[/key], |
| where name represents the resource name and key optionally represents the resource |
| key to be filtered' |
| - name: resources |
| type: '[]string' |
| description: 'A list of resources (text or binary content) pointing to configmap/secret. |
| The resources are expected to be any resource type (text or binary content). |
| The destination path can be either a default location or any path specified |
| by the user. Syntax: [configmap|secret]:name[/key][@path], where name represents |
| the resource name, key optionally represents the resource key to be filtered |
| and path represents the destination path' |
| - name: volumes |
| type: '[]string' |
| description: 'A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]' |
| - 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: enabled |
| type: bool |
| description: Can be used to enable or disable a trait. All traits share this common |
| property. |
| - name: configmaps |
| type: '[]string' |
| description: The configmaps holding the spec of the OpenAPI |
| - 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: global |
| type: bool |
| description: Indicates if the platform should be created globally in the case |
| of global operator (default true). |
| - 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: pod |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: The pod trait allows the customization of the Integration pods. It |
| applies the `PodSpecTemplate` struct contained in the Integration `.spec.podTemplate` |
| field, into the Integration deployment Pods template, using strategic merge patch. |
| This can be used to customize the container where Camel routes execute, by using |
| the `integration` container name. |
| properties: [] |
| - name: prometheus |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: 'The Prometheus trait configures a Prometheus-compatible endpoint. |
| It also creates a `PodMonitor` resource, so that the endpoint can be scraped automatically, |
| when using the Prometheus operator. The metrics are exposed using MicroProfile |
| Metrics. WARNING: The creation of the `PodMonitor` resource requires the https://github.com/coreos/prometheus-operator[Prometheus |
| Operator] custom resource definition to be installed. You can set `pod-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: pod-monitor |
| type: bool |
| description: Whether a `PodMonitor` resource is created (default `true`). |
| - name: pod-monitor-labels |
| type: '[]string' |
| description: The `PodMonitor` resource labels, applicable when `pod-monitor` is |
| `true`. |
| - 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: image-puller-delegation |
| type: bool |
| description: When using a global operator with a shared platform, this enables |
| delegation of the `system:image-puller` cluster role on the operator namespace |
| to the integration service account. |
| - 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: true |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: 'The Quarkus trait configures the Quarkus runtime. It''s enabled by |
| default. NOTE: Compiling to a native executable, i.e. when using `package-type=native`, |
| requires at least 4GiB of memory, so the Pod running the native build, that is |
| either the operator Pod, or the build Pod (depending on the build strategy configured |
| for the platform), must have enough memory available.' |
| properties: |
| - name: enabled |
| type: bool |
| description: Can be used to enable or disable a trait. All traits share this common |
| property. |
| - name: package-type |
| type: '[]github.com/apache/camel-k/pkg/apis/camel/v1/trait.QuarkusPackageType' |
| description: The Quarkus package types, either `fast-jar` or `native` (default |
| `fast-jar`). In case both `fast-jar` and `native` are specified, two `IntegrationKit` |
| resources are created, with the `native` kit having precedence over the `fast-jar` |
| one once ready. The order influences the resolution of the current kit for the |
| integration. The kit corresponding to the first package type will be assigned |
| to the integration in case no existing kit that matches the integration exists. |
| - name: registry |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: The Registry trait sets up Maven to use the Image registry as a Maven |
| repository. |
| properties: [] |
| - name: resume |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: 'The Resume trait can be used to manage and configure resume strategies. |
| This feature is meant to allow quick resume of processing by Camel K instances |
| after they have been restarted. This is an experimental implementation based on |
| the support available on Camel Core resume strategies. The Resume trait is disabled |
| by default. The main different from the implementation on Core is that it''s not |
| necessary to bind the strategies to the registry. This step will be done automatically |
| by Camel K, after resolving the options passed to the trait. A sample execution |
| of this trait, using the Kafka backend (the only one supported at the moment), |
| would require the following trait options: -t resume.enabled=true -t resume.resume-path=camel-file-sets |
| -t resume.resume-server="address-of-your-kafka:9092"' |
| 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: resume-strategy,omitempty |
| type: string |
| description: The type of the resume strategy to use |
| - name: resume-path,omitempty |
| type: string |
| description: The path used by the resume strategy (this is specific to the resume |
| strategy type) |
| - name: resume-server,omitempty |
| type: string |
| description: The address of the resume server to use (protocol / implementation |
| specific) |
| - name: cache-fill-policy,omitempty |
| type: string |
| description: 'The adapter-specific policy to use when filling the cache (use: |
| minimizing / maximizing). Check the component documentation if unsure' |
| - name: route |
| platform: false |
| profiles: |
| - OpenShift |
| description: 'The Route trait can be used to configure the creation of OpenShift |
| routes for the integration. The certificate and key contents may be sourced either |
| from the local filesystem or in a OpenShift `secret` object. The user may use |
| the parameters ending in `-secret` (example: `tls-certificate-secret`) to reference |
| a certificate stored in a `secret`. Parameters ending in `-secret` have higher |
| priorities and in case the same route parameter is set, for example: `tls-key-secret` |
| and `tls-key`, then `tls-key-secret` is used. The recommended approach to set |
| the key and certificates is to use `secrets` to store their contents and use the |
| following parameters to reference them: `tls-certificate-secret`, `tls-key-secret`, |
| `tls-ca-certificate-secret`, `tls-destination-ca-certificate-secret` See the examples |
| section at the end of this page to see the setup options.' |
| 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 route documentation for additional information. |
| - name: tls-certificate |
| type: string |
| description: The TLS certificate contents. Refer to the OpenShift route documentation |
| for additional information. |
| - name: tls-certificate-secret |
| type: string |
| description: The secret name and key reference to the TLS certificate. The format |
| is "secret-name[/key-name]", the value represents the secret name, if there |
| is only one key in the secret it will be read, otherwise you can set a key name |
| separated with a "/". Refer to the OpenShift route documentation for additional |
| information. |
| - name: tls-key |
| type: string |
| description: The TLS certificate key contents. Refer to the OpenShift route documentation |
| for additional information. |
| - name: tls-key-secret |
| type: string |
| description: The secret name and key reference to the TLS certificate key. The |
| format is "secret-name[/key-name]", the value represents the secret name, if |
| there is only one key in the secret it will be read, otherwise you can set a |
| key name separated with a "/". Refer to the OpenShift route documentation for |
| additional information. |
| - name: tls-ca-certificate |
| type: string |
| description: The TLS CA certificate contents. Refer to the OpenShift route documentation |
| for additional information. |
| - name: tls-ca-certificate-secret |
| type: string |
| description: The secret name and key reference to the TLS CA certificate. The |
| format is "secret-name[/key-name]", the value represents the secret name, if |
| there is only one key in the secret it will be read, otherwise you can set a |
| key name separated with a "/". Refer to the OpenShift route 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 reencrypt termination 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 using the short service name (service.namespace.svc), |
| which allows infrastructure generated certificates to automatically verify. Refer |
| to the OpenShift route documentation for additional information. |
| - name: tls-destination-ca-certificate-secret |
| type: string |
| description: The secret name and key reference to the destination CA certificate. |
| The format is "secret-name[/key-name]", the value represents the secret name, |
| if there is only one key in the secret it will be read, otherwise you can set |
| a key name separated with a "/". Refer to the OpenShift route 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 route documentation for additional |
| information. |
| - name: service |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - 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 (default `false`). Deprecated: |
| Use service type instead.' |
| - name: type |
| type: github.com/apache/camel-k/pkg/apis/camel/v1/trait.ServiceType |
| description: The type of service to be used, either 'ClusterIP', 'NodePort' or |
| 'LoadBalancer'. |
| - name: service-binding |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: 'The Service Binding trait allows users to connect to Services in Kubernetes: |
| https://github.com/k8s-service-bindings/spec#service-binding As the specification |
| is still evolving this is subject to change.' |
| properties: |
| - name: enabled |
| type: bool |
| description: Can be used to enable or disable a trait. All traits share this common |
| property. |
| - name: services |
| type: '[]string' |
| description: List of Services in the form [[apigroup/]version:]kind:[namespace/]name |
| - name: telemetry |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: 'The Telemetry trait can be used to automatically publish tracing information |
| to an OTLP compatible collector. The trait is able to automatically discover the |
| telemetry OTLP endpoint available in the namespace (supports **Jaerger** in version |
| 1.35+). The Telemetry trait is disabled by default. WARNING: The Telemetry trait |
| can''t be enabled at the same time as the Tracing trait.' |
| 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 telemetry endpoint. |
| - name: service-name |
| type: string |
| description: The name of the service that publishes telemetry data (defaults to |
| the integration name) |
| - name: endpoint |
| type: string |
| description: The target endpoint of the Telemetry service (automatically discovered |
| by default) |
| - name: sampler |
| type: string |
| description: The sampler of the telemetry used for tracing (default "on") |
| - name: sampler-ratio |
| type: string |
| description: The sampler ratio of the telemetry used for tracing |
| - name: sampler-parent-based |
| type: bool |
| description: The sampler of the telemetry used for tracing is parent based (default |
| "true") |
| - name: toleration |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: 'This trait sets Tolerations over Integration pods. Tolerations allow |
| (but do not require) the pods to schedule onto nodes with matching taints. See |
| https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ |
| for more details. The toleration should be expressed in a similar manner that |
| of taints, i.e., `Key[=Value]:Effect[:Seconds]`, where values in square brackets |
| are optional. For examples: - `node-role.kubernetes.io/master:NoSchedule` - `node.kubernetes.io/network-unavailable:NoExecute:3000` |
| - `disktype=ssd:PreferNoSchedule` 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: taints |
| type: '[]string' |
| description: The list of taints to tolerate, in the form `Key[=Value]:Effect[:Seconds]` |
| - name: tracing |
| platform: false |
| profiles: |
| - Kubernetes |
| - Knative |
| - OpenShift |
| description: 'WARNING: The Tracing trait has been **deprecated** in favor of the |
| xref:traits:telemetry.adoc[Telemetry] trait. 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. |
| WARNING: The Tracing trait can''t be enabled at the same time as the Telemetry |
| trait.' |
| 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") |