pkg/resources/config/crd/bases/camel.apache.org_integrationplatforms.yaml (4,384 lines of code) (raw):

# --------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # --------------------------------------------------------------------------- --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.17.2 name: integrationplatforms.camel.apache.org spec: group: camel.apache.org names: categories: - kamel - camel kind: IntegrationPlatform listKind: IntegrationPlatformList plural: integrationplatforms shortNames: - itp singular: integrationplatform scope: Namespaced versions: - additionalPrinterColumns: - description: The integration platform phase jsonPath: .status.phase name: Phase type: string - description: The default build strategy jsonPath: .status.build.buildConfiguration.strategy name: Build strategy type: string - description: The default publish strategy jsonPath: .status.build.publishStrategy name: Publish strategy type: string - description: The container registry address jsonPath: .status.build.registry.address name: Registry address type: string - description: The default runtime version jsonPath: .status.build.runtimeVersion name: Default runtime type: string - description: The default Camel core version jsonPath: .status.build.runtimeCoreVersion name: Camel version type: string name: v1 schema: openAPIV3Schema: description: |- IntegrationPlatform is the resource used to drive the Camel K operator behavior. It defines the behavior of all Custom Resources (`IntegrationKit`, `Integration`, `Kamelet`) in the given namespace. When the Camel K operator is installed in `global` mode, you will need to specify an `IntegrationPlatform` in each namespace where you want the Camel K operator to be executed. properties: apiVersion: description: |- APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: description: |- Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: description: IntegrationPlatformSpec defines the desired state of IntegrationPlatform. properties: build: description: specify how to build the Integration/IntegrationKits properties: PublishStrategyOptions: additionalProperties: type: string description: 'Deprecated: no longer in use' type: object baseImage: description: |- a base image that can be used as base layer for all images. It can be useful if you want to provide some custom base image with further utility software type: string buildCatalogToolTimeout: description: |- the timeout (in seconds) to use when creating the build tools container image Deprecated: no longer in use type: string buildConfiguration: description: the configuration required to build an Integration container image properties: annotations: additionalProperties: type: string description: Annotation to use for the builder pod. Only used for `pod` strategy type: object limitCPU: description: The maximum amount of CPU required. Only used for `pod` strategy type: string limitMemory: description: The maximum amount of memory required. Only used for `pod` strategy type: string nodeSelector: additionalProperties: type: string description: The node selector for the builder pod. Only used for `pod` strategy type: object operatorNamespace: description: The namespace where to run the builder Pod (must be the same of the operator in charge of this Build reconciliation). type: string orderStrategy: description: the build order strategy to adopt enum: - dependencies - fifo - sequential type: string platforms: description: The list of platforms used in order to build a container image. items: type: string type: array requestCPU: description: The minimum amount of CPU required. Only used for `pod` strategy type: string requestMemory: description: The minimum amount of memory required. Only used for `pod` strategy type: string strategy: description: the strategy to adopt enum: - routine - pod type: string toolImage: description: The container image to be used to run the build. type: string type: object maven: description: Maven configuration used to build the Camel/Camel-Quarkus applications properties: caSecrets: description: |- The Secrets name and key, containing the CA certificate(s) used to connect to remote Maven repositories. It can contain X.509 certificates, and PKCS#7 formatted certificate chains. A JKS formatted keystore is automatically created to store the CA certificate(s), and configured to be used as a trusted certificate(s) by the Maven commands. Note that the root CA certificates are also imported into the created keystore. items: description: SecretKeySelector selects a key of a Secret. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the Secret or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic type: array cliOptions: description: |- The CLI options that are appended to the list of arguments for Maven commands, e.g., `-V,--no-transfer-progress,-Dstyle.color=never`. See https://maven.apache.org/ref/3.8.4/maven-embedder/cli.html. items: type: string type: array extension: description: |- The Maven build extensions. See https://maven.apache.org/guides/mini/guide-using-extensions.html. items: description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. properties: artifactId: description: Maven Artifact type: string classifier: description: Maven Classifier type: string groupId: description: Maven Group type: string type: description: Maven Type type: string version: description: Maven Version type: string required: - artifactId - groupId type: object type: array localRepository: description: The path of the local Maven repository. type: string profiles: description: |- A reference to the ConfigMap or Secret key that contains the Maven profile. items: description: ValueSource --. properties: configMapKeyRef: description: Selects a key of a ConfigMap. properties: key: description: The key to select. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the ConfigMap or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic secretKeyRef: description: Selects a key of a secret. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the Secret or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: array properties: additionalProperties: type: string description: The Maven properties. type: object settings: description: |- A reference to the ConfigMap or Secret key that contains the Maven settings. properties: configMapKeyRef: description: Selects a key of a ConfigMap. properties: key: description: The key to select. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the ConfigMap or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic secretKeyRef: description: Selects a key of a secret. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the Secret or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object settingsSecurity: description: |- A reference to the ConfigMap or Secret key that contains the security of the Maven settings. properties: configMapKeyRef: description: Selects a key of a ConfigMap. properties: key: description: The key to select. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the ConfigMap or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic secretKeyRef: description: Selects a key of a secret. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the Secret or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object maxRunningBuilds: description: the maximum amount of parallel running pipelines started by this operator instance format: int32 type: integer publishStrategy: description: the strategy to adopt for publishing an Integration container image type: string registry: description: the image registry used to push/pull Integration images properties: address: description: the URI to access type: string ca: description: the configmap which stores the Certificate Authority type: string insecure: description: if the container registry is insecure (ie, http only) type: boolean organization: description: the registry organization type: string secret: description: the secret where credentials are stored type: string type: object runtimeCoreVersion: description: the Camel core version used by this IntegrationPlatform type: string runtimeProvider: description: the runtime used. Likely Camel Quarkus (we used to have main runtime which has been discontinued since version 1.5) type: string runtimeVersion: description: the Camel K Runtime dependency version type: string timeout: description: how much time to wait before time out the pipeline process type: string type: object cluster: description: what kind of cluster you're running (ie, plain Kubernetes or OpenShift) type: string configuration: description: |- Deprecated: Use camel trait (camel.properties) to manage properties Use mount trait (mount.configs) to manage configs Use mount trait (mount.resources) to manage resources Use mount trait (mount.volumes) to manage volumes list of configuration properties to be attached to all the Integration/IntegrationKits built from this IntegrationPlatform items: description: ConfigurationSpec represents a generic configuration specification. properties: type: description: 'represents the type of configuration, ie: property, configmap, secret, ...' type: string value: description: the value to assign to the configuration (syntax may vary depending on the `Type`) type: string required: - type - value type: object type: array kamelet: description: configuration to be executed to all Kamelets controlled by this IntegrationPlatform properties: repositories: description: remote repository used to retrieve Kamelet catalog items: description: KameletRepositorySpec defines the location of the Kamelet catalog to use. properties: uri: description: the remote repository in the format github:ORG/REPO/PATH_TO_KAMELETS_FOLDER type: string type: object type: array type: object profile: description: |- the profile you wish to use. It will apply certain traits which are required by the specific profile chosen. It usually relates the Cluster with the optional definition of special profiles (ie, Knative) type: string traits: description: list of traits to be executed for all the Integration/IntegrationKits built from this IntegrationPlatform properties: 3scale: description: 'Deprecated: for backward compatibility.' properties: configuration: description: TraitConfiguration parameters configuration type: object x-kubernetes-preserve-unknown-fields: true required: - configuration type: object addons: additionalProperties: description: AddonTrait represents the configuration of an addon trait. type: object x-kubernetes-preserve-unknown-fields: true description: The extension point with addon traits type: object affinity: description: The configuration of Affinity trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean nodeAffinityLabels: description: Defines a set of nodes the integration pod(s) are eligible to be scheduled on, based on labels on the node. items: type: string type: array podAffinity: description: Always co-locates multiple replicas of the integration in the same node (default `false`). type: boolean podAffinityLabels: 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. items: type: string type: array podAntiAffinity: description: Never co-locates multiple replicas of the integration in the same node (default `false`). type: boolean podAntiAffinityLabels: 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. items: type: string type: array type: object builder: description: The configuration of Builder trait properties: annotations: additionalProperties: type: string description: When using `pod` strategy, annotation to use for the builder pod. type: object baseImage: description: |- Specify a base image. In order to have the application working properly it must be a container image which has a Java JDK installed and ready to use on path (ie `/usr/bin/java`). type: string configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean incrementalImageBuild: description: Use the incremental image build option, to reuse existing containers (default `true`) type: boolean limitCPU: description: |- When using `pod` strategy, the maximum amount of CPU required by the pod builder. Deprecated: use TasksRequestCPU instead with task name `builder`. type: string limitMemory: description: |- When using `pod` strategy, the maximum amount of memory required by the pod builder. Deprecated: use TasksRequestCPU instead with task name `builder`. type: string mavenProfiles: description: |- A list of references pointing to configmaps/secrets that contains a maven profile. This configmap/secret is a resource of the IntegrationKit created, therefore it needs to be present in the namespace where the operator is going to create the IntegrationKit. The content of the maven profile is expected to be a text containing a valid maven profile starting with `<profile>` and ending with `</profile>` that will be integrated as an inline profile in the POM. Syntax: [configmap|secret]:name[/key], where name represents the resource name, key optionally represents the resource key to be filtered (default key value = profile.xml). items: type: string type: array nodeSelector: additionalProperties: type: string description: Defines a set of nodes the builder pod is eligible to be scheduled on, based on labels on the node. type: object orderStrategy: description: The build order strategy to use, either `dependencies`, `fifo` or `sequential` (default is the platform default) enum: - dependencies - fifo - sequential type: string platforms: description: The list of manifest platforms to use to build a container image (default `linux/amd64`). items: type: string type: array properties: description: A list of properties to be provided to the build task items: type: string type: array requestCPU: description: |- When using `pod` strategy, the minimum amount of CPU required by the pod builder. Deprecated: use TasksRequestCPU instead with task name `builder`. type: string requestMemory: description: |- When using `pod` strategy, the minimum amount of memory required by the pod builder. Deprecated: use TasksRequestCPU instead with task name `builder`. type: string strategy: description: The strategy to use, either `pod` or `routine` (default `routine`) enum: - pod - routine type: string tasks: description: A list of tasks to be executed (available only when using `pod` strategy) with format `<name>;<container-image>;<container-command>`. items: type: string type: array tasksFilter: description: |- A list of tasks sorted by the order of execution in a csv format, ie, `<taskName1>,<taskName2>,...`. Mind that you must include also the operator tasks (`builder`, `quarkus-native`, `package`, `jib`, `s2i`) if you need to execute them. Useful only with `pod` strategy. type: string tasksLimitCPU: description: A list of limit cpu configuration for the specific task with format `<task-name>:<limit-cpu-conf>`. items: type: string type: array tasksLimitMemory: description: A list of limit memory configuration for the specific task with format `<task-name>:<limit-memory-conf>`. items: type: string type: array tasksRequestCPU: description: A list of request cpu configuration for the specific task with format `<task-name>:<request-cpu-conf>`. items: type: string type: array tasksRequestMemory: description: A list of request memory configuration for the specific task with format `<task-name>:<request-memory-conf>`. items: type: string type: array verbose: description: |- Enable verbose logging on build components that support it (e.g. Kaniko build pod). Deprecated no longer in use type: boolean type: object camel: description: The configuration of Camel trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean properties: description: A list of properties to be provided to the Integration runtime items: type: string type: array runtimeProvider: description: The runtime provider to use for the integration. (Default, Camel K Runtime). enum: - quarkus - plain-quarkus type: string runtimeVersion: description: |- The runtime version to use for the integration. It overrides the default version set in the Integration Platform. You can use a fixed version (for example "3.2.3") or a semantic version (for example "3.x") which will try to resolve to the best matching Catalog existing on the cluster (Default, the one provided by the operator version). type: string type: object container: description: The configuration of Container trait properties: allowPrivilegeEscalation: description: Security Context AllowPrivilegeEscalation configuration (default false). type: boolean auto: description: To automatically enable the trait type: boolean capabilitiesAdd: description: Security Context Capabilities Add configuration (default none). items: description: Capability represent POSIX capabilities type type: string type: array capabilitiesDrop: description: Security Context Capabilities Drop configuration (default ALL). items: description: Capability represent POSIX capabilities type type: string type: array configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean expose: description: Can be used to enable/disable exposure via kubernetes Service. type: boolean image: description: |- The main container image to use for the Integration. When using this parameter the operator will create a synthetic IntegrationKit which won't be able to execute traits requiring CamelCatalog. If the container image you're using is coming from an IntegrationKit, use instead Integration `.spec.integrationKit` parameter. If you're moving the Integration across environments, you will also need to create an "external" IntegrationKit. type: string imagePullPolicy: description: 'The pull policy: Always|Never|IfNotPresent' enum: - Always - Never - IfNotPresent type: string limitCPU: description: The maximum amount of CPU to be provided (default 500 millicores). type: string limitMemory: description: The maximum amount of memory to be provided (default 512 Mi). type: string name: description: The main container name. It's named `integration` by default. type: string port: description: To configure a different port exposed by the container (default `8080`). format: int32 type: integer portName: 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. type: string requestCPU: description: The minimum amount of CPU required (default 125 millicores). type: string requestMemory: description: The minimum amount of memory required (default 128 Mi). type: string runAsNonRoot: description: Security Context RunAsNonRoot configuration (default false). type: boolean runAsUser: description: 'Security Context RunAsUser configuration (default none): this value is automatically retrieved in Openshift clusters when not explicitly set.' format: int64 type: integer seccompProfileType: description: Security Context SeccompProfileType configuration (default RuntimeDefault). enum: - Unconfined - RuntimeDefault type: string servicePort: description: To configure under which service port the container port is to be exposed (default `80`). format: int32 type: integer servicePortName: description: To configure under which service port name the container port is to be exposed (default `http`). type: string type: object cron: description: The configuration of Cron trait properties: activeDeadlineSeconds: 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. format: int64 type: integer auto: 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). type: boolean backoffLimit: description: |- Specifies the number of retries before marking the job failed. It defaults to 2. format: int32 type: integer components: 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. Supported components are currently: `cron`, `timer` and `quartz`. type: string concurrencyPolicy: 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 enum: - Allow - Forbid - Replace type: string configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean fallback: description: |- Use the default Camel implementation of the `cron` endpoint (`quartz`) instead of trying to materialize the integration as Kubernetes CronJob. type: boolean schedule: 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. type: string startingDeadlineSeconds: 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. format: int64 type: integer timeZone: description: The timezone that the CronJob will run on type: string type: object dependencies: description: The configuration of Dependencies trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean type: object deployer: description: The configuration of Deployer trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean kind: description: Allows to explicitly select the desired deployment kind between `deployment`, `cron-job` or `knative-service` when creating the resources for running the integration. enum: - deployment - cron-job - knative-service type: string useSSA: description: |- Deprecated: won't be able to enforce client side update in the future. 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. type: boolean type: object deployment: description: The configuration of Deployment trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean progressDeadlineSeconds: description: |- The maximum time in seconds for the deployment to make progress before it is considered to be failed. It defaults to `60s`. format: int32 type: integer rollingUpdateMaxSurge: anyOf: - type: integer - type: string 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%`. x-kubernetes-int-or-string: true rollingUpdateMaxUnavailable: anyOf: - type: integer - type: string 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%`. x-kubernetes-int-or-string: true strategy: description: The deployment strategy to use to replace existing pods with new ones. enum: - Recreate - RollingUpdate type: string type: object environment: description: The configuration of Environment trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true containerMeta: description: Enables injection of `NAMESPACE` and `POD_NAME` environment variables (default `true`) type: boolean enabled: description: 'Deprecated: no longer in use.' type: boolean httpProxy: description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and `NO_PROXY` environment variables (default `true`) type: boolean vars: description: |- A list of environment variables to be added to the integration container. The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name, and key represents the resource key to be mapped as and environment variable. These take precedence over any previously defined environment variables. items: type: string type: array type: object error-handler: description: |- The configuration of Error Handler trait Deprecated: no longer in use. properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean ref: description: The error handler ref name provided or found in application properties type: string type: object gc: description: The configuration of GC trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true discoveryCache: description: |- Discovery client cache to be used, either `disabled`, `disk` or `memory` (default `memory`). Deprecated: no longer in use. enum: - disabled - disk - memory type: string enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean type: object health: description: The configuration of Health trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean livenessFailureThreshold: description: Minimum consecutive failures for the liveness probe to be considered failed after having succeeded. format: int32 type: integer livenessInitialDelay: description: Number of seconds after the container has started before the liveness probe is initiated. format: int32 type: integer livenessPeriod: description: How often to perform the liveness probe. format: int32 type: integer livenessProbe: description: The liveness probe path to use (default provided by the Catalog runtime used). type: string livenessProbeEnabled: description: Configures the liveness probe for the integration container (default `false`). type: boolean livenessScheme: description: Scheme to use when connecting to the liveness probe (default `HTTP`). type: string livenessSuccessThreshold: description: Minimum consecutive successes for the liveness probe to be considered successful after having failed. format: int32 type: integer livenessTimeout: description: Number of seconds after which the liveness probe times out. format: int32 type: integer readinessFailureThreshold: description: Minimum consecutive failures for the readiness probe to be considered failed after having succeeded. format: int32 type: integer readinessInitialDelay: description: Number of seconds after the container has started before the readiness probe is initiated. format: int32 type: integer readinessPeriod: description: How often to perform the readiness probe. format: int32 type: integer readinessProbe: description: The readiness probe path to use (default provided by the Catalog runtime used). type: string readinessProbeEnabled: description: Configures the readiness probe for the integration container (default `true`). type: boolean readinessScheme: description: Scheme to use when connecting to the readiness probe (default `HTTP`). type: string readinessSuccessThreshold: description: Minimum consecutive successes for the readiness probe to be considered successful after having failed. format: int32 type: integer readinessTimeout: description: Number of seconds after which the readiness probe times out. format: int32 type: integer startupFailureThreshold: description: Minimum consecutive failures for the startup probe to be considered failed after having succeeded. format: int32 type: integer startupInitialDelay: description: Number of seconds after the container has started before the startup probe is initiated. format: int32 type: integer startupPeriod: description: How often to perform the startup probe. format: int32 type: integer startupProbe: description: The startup probe path to use (default provided by the Catalog runtime used). type: string startupProbeEnabled: description: Configures the startup probe for the integration container (default `false`). type: boolean startupScheme: description: Scheme to use when connecting to the startup probe (default `HTTP`). type: string startupSuccessThreshold: description: Minimum consecutive successes for the startup probe to be considered successful after having failed. format: int32 type: integer startupTimeout: description: Number of seconds after which the startup probe times out. format: int32 type: integer type: object ingress: description: The configuration of Ingress trait properties: annotations: additionalProperties: type: string description: |- The annotations added to the ingress. This can be used to set controller specific annotations, e.g., when using the NGINX Ingress controller: See https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md type: object auto: description: To automatically add an ingress whenever the integration uses an HTTP endpoint consumer. type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean host: description: To configure the host exposed by the ingress. type: string ingressClassName: description: |- The Ingress class name as defined by the Ingress spec See https://kubernetes.io/docs/concepts/services-networking/ingress/ type: string path: description: |- To configure the path exposed by the ingress (default `/`). Deprecated: In favor of `paths` - left for backward compatibility. type: string pathType: description: |- To configure the path type exposed by the ingress. One of `Exact`, `Prefix`, `ImplementationSpecific` (default to `Prefix`). enum: - Exact - Prefix - ImplementationSpecific type: string paths: description: To configure the paths exposed by the ingress (default `['/']`). items: type: string type: array tlsHosts: description: To configure tls hosts items: type: string type: array tlsSecretName: description: To configure tls secret name type: string type: object istio: description: The configuration of Istio trait properties: allow: 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). type: string configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean inject: 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. type: boolean type: object jolokia: description: The configuration of Jolokia trait properties: CACert: 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). type: string clientPrincipal: 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). items: type: string type: array configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true discoveryEnabled: description: Listen for multicast requests (default `false`) type: boolean enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean extendedClientCheck: 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). type: boolean host: 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 `"*"`). type: string options: description: |- A list of additional Jolokia options as defined in https://jolokia.org/reference/html/agents.html#agent-jvm-config[JVM agent configuration options] items: type: string type: array password: description: The password used for authentication, applicable when the `user` option is set. type: string port: description: The Jolokia endpoint port (default `8778`). format: int32 type: integer protocol: description: The protocol to use, either `http` or `https` (default `https` for OpenShift) type: string useSSLClientAuthentication: description: Whether client certificates should be used for authentication (default `true` for OpenShift). type: boolean user: description: The user to be used for authentication type: string type: object jvm: description: The configuration of JVM trait properties: classpath: description: Additional JVM classpath (use `Linux` classpath separator) type: string configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true debug: description: Activates remote debugging, so that a debugger can be attached to the JVM, e.g., using port-forwarding type: boolean debugAddress: description: Transport address at which to listen for the newly launched JVM (default `*:5005`) type: string debugSuspend: description: Suspends the target JVM immediately before the main class is loaded type: boolean enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean jar: description: The Jar dependency which will run the application. Leave it empty for managed Integrations. type: string options: description: A list of JVM options items: type: string type: array printCommand: description: |- Prints the command used the start the JVM in the container logs (default `true`) Deprecated: no longer in use. type: boolean type: object kamelets: description: The configuration of Kamelets trait properties: auto: description: Automatically inject all referenced Kamelets and their default configuration (enabled by default) type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean list: description: Comma separated list of Kamelet names to load into the current integration type: string mountPoint: description: The directory where the application mounts and reads Kamelet spec (default `/etc/camel/kamelets`) type: string type: object keda: description: 'Deprecated: for backward compatibility.' properties: configuration: description: TraitConfiguration parameters configuration type: object x-kubernetes-preserve-unknown-fields: true required: - configuration type: object knative: description: The configuration of Knative trait properties: auto: description: Enable automatic discovery of all trait properties. type: boolean channelSinks: description: |- List of channels used as destination of integration routes. Can contain simple channel names or full Camel URIs. items: type: string type: array channelSources: description: |- List of channels used as source of integration routes. Can contain simple channel names or full Camel URIs. items: type: string type: array config: description: Can be used to inject a Knative complete configuration in JSON format. type: string configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean endpointSinks: description: |- List of endpoints used as destination of integration routes. Can contain simple endpoint names or full Camel URIs. items: type: string type: array endpointSources: description: List of channels used as source of integration routes. items: type: string type: array eventSinks: description: |- List of event types that the integration will produce. Can contain simple event types or full Camel URIs (to use a specific broker). items: type: string type: array eventSources: 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"). items: type: string type: array filterEventType: description: |- Enables the default filtering for the Knative trigger using the event type If this is true, the created Knative trigger uses the event type as a filter on the event stream when no other filter criteria is given. (default: true) type: boolean filterSourceChannels: 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. type: boolean filters: description: |- Sets filter attributes on the event stream (such as event type, source, subject and so on). A list of key-value pairs that represent filter attributes and its values. The syntax is KEY=VALUE, e.g., `source="my.source"`. Filter attributes get set on the Knative trigger that is being created as part of this integration. items: type: string type: array namespaceLabel: description: |- Enables the camel-k-operator to set the "bindings.knative.dev/include=true" label to the namespace As Knative requires this label to perform injection of K_SINK URL into the service. If this is false, the integration pod may start and fail, read the SinkBinding Knative documentation. (default: true) type: boolean sinkBinding: 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). type: boolean type: object knative-service: description: The configuration of Knative Service trait properties: annotations: additionalProperties: type: string description: |- The annotations added to route. This can be used to set knative service specific annotations CLI usage example: -t "knative-service.annotations.'haproxy.router.openshift.io/balance'=true" type: object auto: 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) type: boolean autoscalingMetric: 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. type: string autoscalingTarget: 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. type: integer class: 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. enum: - kpa.autoscaling.knative.dev - hpa.autoscaling.knative.dev type: string configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean maxScale: 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. type: integer minScale: 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. type: integer rolloutDuration: 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. type: string timeoutSeconds: description: |- The maximum duration in seconds that the request instance is allowed to respond to a request. This field propagates to the integration pod's terminationGracePeriodSeconds Refer to the Knative documentation for more information. format: int64 type: integer visibility: 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. enum: - cluster-local type: string type: object logging: description: The configuration of Logging trait properties: color: description: Colorize the log output type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean format: description: Logs message format type: string json: description: Output the logs in JSON type: boolean jsonPrettyPrint: description: Enable "pretty printing" of the JSON logs type: boolean level: description: Adjust the logging level (defaults to `INFO`) enum: - FATAL - WARN - INFO - DEBUG - TRACE type: string type: object master: description: The configuration of Master trait properties: auto: description: Enables automatic configuration of the trait. type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean includeDelegateDependencies: 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. type: boolean labelKey: description: Label that will be used to identify all pods contending the lock. Defaults to "camel.apache.org/integration". type: string labelValue: description: Label value that will be used to identify all pods contending the lock. Defaults to the integration name. type: string resourceName: 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". type: string resourceType: description: Type of Kubernetes resource to use for locking ("ConfigMap" or "Lease"). Defaults to "Lease". type: string type: object mount: description: The configuration of Mount trait properties: configs: 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 items: type: string type: array configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true emptyDirs: description: |- A list of EmptyDir volumes to be mounted. An optional size limit may be configured (default 500Mi). Syntax: name:/container/path[:sizeLimit] items: type: string type: array enabled: description: 'Deprecated: no longer in use.' type: boolean hotReload: description: |- Enable "hot reload" when a secret/configmap mounted is edited (default `false`). The configmap/secret must be marked with `camel.apache.org/integration` label to be taken in account. The resource will be watched for any kind change, also for changes in metadata. type: boolean resources: 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 items: type: string type: array scanKameletsImplicitLabelSecrets: description: 'Deprecated: no longer available since version 2.5.' type: boolean volumes: description: |- A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails. You can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided or the default cluster Storage Class. However, if the PVC exists, the operator would mount it. items: type: string type: array type: object openapi: description: The configuration of OpenAPI trait properties: configmaps: description: The configmaps holding the spec of the OpenAPI (compatible with > 3.0 spec only). items: type: string type: array configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean type: object owner: description: The configuration of Owner trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean targetAnnotations: description: The set of annotations to be transferred items: type: string type: array targetLabels: description: The set of labels to be transferred items: type: string type: array type: object pdb: description: The configuration of PDB trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean maxUnavailable: 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. type: string minAvailable: 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. type: string type: object platform: description: The configuration of Platform trait properties: auto: description: |- To automatically detect from the environment if a default platform can be created (it will be created on OpenShift or when a registry address is set). Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true createDefault: description: |- To create a default (empty) platform when the platform is missing. Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility type: boolean enabled: description: 'Deprecated: no longer in use.' type: boolean global: description: |- Indicates if the platform should be created globally in the case of global operator (default true). Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility type: boolean type: object pod: description: The configuration of Pod trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean type: object prometheus: description: The configuration of Prometheus trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean podMonitor: description: Whether a `PodMonitor` resource is created (default `true`). type: boolean podMonitorLabels: description: The `PodMonitor` resource labels, applicable when `pod-monitor` is `true`. items: type: string type: array type: object pull-secret: description: The configuration of Pull Secret trait properties: auto: description: Automatically configures the platform registry secret on the pod if it is of type `kubernetes.io/dockerconfigjson`. type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean imagePullerDelegation: 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. type: boolean secretName: description: The pull secret name to set on the Pod. If left empty this is automatically taken from the `IntegrationPlatform` registry configuration. type: string type: object quarkus: description: The configuration of Quarkus trait properties: buildMode: description: |- The Quarkus mode to run: either `jvm` or `native` (default `jvm`). In case both `jvm` and `native` are specified, two `IntegrationKit` resources are created, with the `native` kit having precedence over the `jvm` one once ready. items: description: QuarkusMode is the type of Quarkus build packaging. enum: - jvm - native type: string type: array configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean nativeBaseImage: description: The base image to use when running a native build (default `quay.io/quarkus/quarkus-micro-image:2.0`) type: string nativeBuilderImage: description: The image containing the tooling required for a native build (by default it will use the one provided in the runtime catalog) type: string packageTypes: description: |- The Quarkus package types, `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. Deprecated: use `build-mode` instead. items: description: |- QuarkusPackageType is the type of Quarkus build packaging. Deprecated: use `QuarkusMode` instead. enum: - fast-jar - native type: string type: array type: object registry: description: |- The configuration of Registry trait (support removed since version 2.5.0). Deprecated: use jvm trait or read documentation. properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean type: object route: description: The configuration of Route trait properties: annotations: additionalProperties: type: string description: |- The annotations added to route. This can be used to set route specific annotations For annotations options see https://docs.openshift.com/container-platform/3.11/architecture/networking/routes.html#route-specific-annotations CLI usage example: -t "route.annotations.'haproxy.router.openshift.io/balance'=true" type: object configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean host: description: To configure the host exposed by the route. type: string tlsCACertificate: description: |- The TLS CA certificate contents. Refer to the OpenShift route documentation for additional information. type: string tlsCACertificateSecret: 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. type: string tlsCertificate: description: |- The TLS certificate contents. Refer to the OpenShift route documentation for additional information. type: string tlsCertificateSecret: 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. type: string tlsDestinationCACertificate: 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. type: string tlsDestinationCACertificateSecret: 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. type: string tlsInsecureEdgeTerminationPolicy: 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. enum: - None - Allow - Redirect type: string tlsKey: description: |- The TLS certificate key contents. Refer to the OpenShift route documentation for additional information. type: string tlsKeySecret: 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. type: string tlsTermination: description: |- The TLS termination type, like `edge`, `passthrough` or `reencrypt`. Refer to the OpenShift route documentation for additional information. enum: - edge - reencrypt - passthrough type: string type: object security-context: description: The configuration of Security Context trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean runAsNonRoot: description: Security Context RunAsNonRoot configuration (default false). type: boolean runAsUser: description: 'Security Context RunAsUser configuration (default none): this value is automatically retrieved in Openshift clusters when not explicitly set.' format: int64 type: integer seccompProfileType: description: Security Context SeccompProfileType configuration (default RuntimeDefault). enum: - Unconfined - RuntimeDefault type: string type: object service: description: The configuration of Service trait properties: annotations: additionalProperties: type: string description: The annotations added to the Service object. type: object auto: description: To automatically detect from the code if a Service needs to be created. type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean labels: additionalProperties: type: string description: The labels added to the Service object. type: object nodePort: description: |- Enable Service to be exposed as NodePort (default `false`). Deprecated: Use service type instead. type: boolean type: description: The type of service to be used, either 'ClusterIP', 'NodePort' or 'LoadBalancer'. enum: - ClusterIP - NodePort - LoadBalancer type: string type: object service-binding: description: |- The configuration of Service Binding trait Deprecated: no longer in use. properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean services: description: List of Services in the form [[apigroup/]version:]kind:[namespace/]name items: type: string type: array type: object strimzi: description: 'Deprecated: for backward compatibility.' properties: configuration: description: TraitConfiguration parameters configuration type: object x-kubernetes-preserve-unknown-fields: true required: - configuration type: object telemetry: description: The configuration of Telemetry trait properties: auto: description: Enables automatic configuration of the trait, including automatic discovery of the telemetry endpoint. type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean endpoint: description: The target endpoint of the Telemetry service (automatically discovered by default) type: string sampler: description: The sampler of the telemetry used for tracing (default "on") type: string sampler-parent-based: description: The sampler of the telemetry used for tracing is parent based (default "true") type: boolean sampler-ratio: description: The sampler ratio of the telemetry used for tracing type: string serviceName: description: The name of the service that publishes telemetry data (defaults to the integration name) type: string type: object toleration: description: The configuration of Toleration trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean taints: description: The list of taints to tolerate, in the form `Key[=Value]:Effect[:Seconds]` items: type: string type: array type: object tracing: description: 'Deprecated: for backward compatibility.' properties: configuration: description: TraitConfiguration parameters configuration type: object x-kubernetes-preserve-unknown-fields: true required: - configuration type: object type: object type: object status: description: IntegrationPlatformStatus defines the observed state of IntegrationPlatform. properties: build: description: specify how to build the Integration/IntegrationKits properties: PublishStrategyOptions: additionalProperties: type: string description: 'Deprecated: no longer in use' type: object baseImage: description: |- a base image that can be used as base layer for all images. It can be useful if you want to provide some custom base image with further utility software type: string buildCatalogToolTimeout: description: |- the timeout (in seconds) to use when creating the build tools container image Deprecated: no longer in use type: string buildConfiguration: description: the configuration required to build an Integration container image properties: annotations: additionalProperties: type: string description: Annotation to use for the builder pod. Only used for `pod` strategy type: object limitCPU: description: The maximum amount of CPU required. Only used for `pod` strategy type: string limitMemory: description: The maximum amount of memory required. Only used for `pod` strategy type: string nodeSelector: additionalProperties: type: string description: The node selector for the builder pod. Only used for `pod` strategy type: object operatorNamespace: description: The namespace where to run the builder Pod (must be the same of the operator in charge of this Build reconciliation). type: string orderStrategy: description: the build order strategy to adopt enum: - dependencies - fifo - sequential type: string platforms: description: The list of platforms used in order to build a container image. items: type: string type: array requestCPU: description: The minimum amount of CPU required. Only used for `pod` strategy type: string requestMemory: description: The minimum amount of memory required. Only used for `pod` strategy type: string strategy: description: the strategy to adopt enum: - routine - pod type: string toolImage: description: The container image to be used to run the build. type: string type: object maven: description: Maven configuration used to build the Camel/Camel-Quarkus applications properties: caSecrets: description: |- The Secrets name and key, containing the CA certificate(s) used to connect to remote Maven repositories. It can contain X.509 certificates, and PKCS#7 formatted certificate chains. A JKS formatted keystore is automatically created to store the CA certificate(s), and configured to be used as a trusted certificate(s) by the Maven commands. Note that the root CA certificates are also imported into the created keystore. items: description: SecretKeySelector selects a key of a Secret. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the Secret or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic type: array cliOptions: description: |- The CLI options that are appended to the list of arguments for Maven commands, e.g., `-V,--no-transfer-progress,-Dstyle.color=never`. See https://maven.apache.org/ref/3.8.4/maven-embedder/cli.html. items: type: string type: array extension: description: |- The Maven build extensions. See https://maven.apache.org/guides/mini/guide-using-extensions.html. items: description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. properties: artifactId: description: Maven Artifact type: string classifier: description: Maven Classifier type: string groupId: description: Maven Group type: string type: description: Maven Type type: string version: description: Maven Version type: string required: - artifactId - groupId type: object type: array localRepository: description: The path of the local Maven repository. type: string profiles: description: |- A reference to the ConfigMap or Secret key that contains the Maven profile. items: description: ValueSource --. properties: configMapKeyRef: description: Selects a key of a ConfigMap. properties: key: description: The key to select. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the ConfigMap or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic secretKeyRef: description: Selects a key of a secret. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the Secret or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: array properties: additionalProperties: type: string description: The Maven properties. type: object settings: description: |- A reference to the ConfigMap or Secret key that contains the Maven settings. properties: configMapKeyRef: description: Selects a key of a ConfigMap. properties: key: description: The key to select. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the ConfigMap or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic secretKeyRef: description: Selects a key of a secret. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the Secret or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object settingsSecurity: description: |- A reference to the ConfigMap or Secret key that contains the security of the Maven settings. properties: configMapKeyRef: description: Selects a key of a ConfigMap. properties: key: description: The key to select. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the ConfigMap or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic secretKeyRef: description: Selects a key of a secret. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the Secret or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic type: object type: object maxRunningBuilds: description: the maximum amount of parallel running pipelines started by this operator instance format: int32 type: integer publishStrategy: description: the strategy to adopt for publishing an Integration container image type: string registry: description: the image registry used to push/pull Integration images properties: address: description: the URI to access type: string ca: description: the configmap which stores the Certificate Authority type: string insecure: description: if the container registry is insecure (ie, http only) type: boolean organization: description: the registry organization type: string secret: description: the secret where credentials are stored type: string type: object runtimeCoreVersion: description: the Camel core version used by this IntegrationPlatform type: string runtimeProvider: description: the runtime used. Likely Camel Quarkus (we used to have main runtime which has been discontinued since version 1.5) type: string runtimeVersion: description: the Camel K Runtime dependency version type: string timeout: description: how much time to wait before time out the pipeline process type: string type: object cluster: description: what kind of cluster you're running (ie, plain Kubernetes or OpenShift) type: string conditions: description: which are the conditions met (particularly useful when in ERROR phase) items: description: IntegrationPlatformCondition describes the state of a resource at a certain point. properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. format: date-time type: string lastUpdateTime: description: The last time this condition was updated. format: date-time type: string message: description: A human-readable message indicating details about the transition. type: string reason: description: The reason for the condition's last transition. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: description: Type of integration condition. type: string required: - status - type type: object type: array configuration: description: |- Deprecated: Use camel trait (camel.properties) to manage properties Use mount trait (mount.configs) to manage configs Use mount trait (mount.resources) to manage resources Use mount trait (mount.volumes) to manage volumes list of configuration properties to be attached to all the Integration/IntegrationKits built from this IntegrationPlatform items: description: ConfigurationSpec represents a generic configuration specification. properties: type: description: 'represents the type of configuration, ie: property, configmap, secret, ...' type: string value: description: the value to assign to the configuration (syntax may vary depending on the `Type`) type: string required: - type - value type: object type: array info: additionalProperties: type: string description: generic information related to the build of Camel K operator software type: object kamelet: description: configuration to be executed to all Kamelets controlled by this IntegrationPlatform properties: repositories: description: remote repository used to retrieve Kamelet catalog items: description: KameletRepositorySpec defines the location of the Kamelet catalog to use. properties: uri: description: the remote repository in the format github:ORG/REPO/PATH_TO_KAMELETS_FOLDER type: string type: object type: array type: object observedGeneration: description: ObservedGeneration is the most recent generation observed for this IntegrationPlatform. format: int64 type: integer phase: description: defines in what phase the IntegrationPlatform is found type: string profile: description: |- the profile you wish to use. It will apply certain traits which are required by the specific profile chosen. It usually relates the Cluster with the optional definition of special profiles (ie, Knative) type: string traits: description: list of traits to be executed for all the Integration/IntegrationKits built from this IntegrationPlatform properties: 3scale: description: 'Deprecated: for backward compatibility.' properties: configuration: description: TraitConfiguration parameters configuration type: object x-kubernetes-preserve-unknown-fields: true required: - configuration type: object addons: additionalProperties: description: AddonTrait represents the configuration of an addon trait. type: object x-kubernetes-preserve-unknown-fields: true description: The extension point with addon traits type: object affinity: description: The configuration of Affinity trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean nodeAffinityLabels: description: Defines a set of nodes the integration pod(s) are eligible to be scheduled on, based on labels on the node. items: type: string type: array podAffinity: description: Always co-locates multiple replicas of the integration in the same node (default `false`). type: boolean podAffinityLabels: 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. items: type: string type: array podAntiAffinity: description: Never co-locates multiple replicas of the integration in the same node (default `false`). type: boolean podAntiAffinityLabels: 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. items: type: string type: array type: object builder: description: The configuration of Builder trait properties: annotations: additionalProperties: type: string description: When using `pod` strategy, annotation to use for the builder pod. type: object baseImage: description: |- Specify a base image. In order to have the application working properly it must be a container image which has a Java JDK installed and ready to use on path (ie `/usr/bin/java`). type: string configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean incrementalImageBuild: description: Use the incremental image build option, to reuse existing containers (default `true`) type: boolean limitCPU: description: |- When using `pod` strategy, the maximum amount of CPU required by the pod builder. Deprecated: use TasksRequestCPU instead with task name `builder`. type: string limitMemory: description: |- When using `pod` strategy, the maximum amount of memory required by the pod builder. Deprecated: use TasksRequestCPU instead with task name `builder`. type: string mavenProfiles: description: |- A list of references pointing to configmaps/secrets that contains a maven profile. This configmap/secret is a resource of the IntegrationKit created, therefore it needs to be present in the namespace where the operator is going to create the IntegrationKit. The content of the maven profile is expected to be a text containing a valid maven profile starting with `<profile>` and ending with `</profile>` that will be integrated as an inline profile in the POM. Syntax: [configmap|secret]:name[/key], where name represents the resource name, key optionally represents the resource key to be filtered (default key value = profile.xml). items: type: string type: array nodeSelector: additionalProperties: type: string description: Defines a set of nodes the builder pod is eligible to be scheduled on, based on labels on the node. type: object orderStrategy: description: The build order strategy to use, either `dependencies`, `fifo` or `sequential` (default is the platform default) enum: - dependencies - fifo - sequential type: string platforms: description: The list of manifest platforms to use to build a container image (default `linux/amd64`). items: type: string type: array properties: description: A list of properties to be provided to the build task items: type: string type: array requestCPU: description: |- When using `pod` strategy, the minimum amount of CPU required by the pod builder. Deprecated: use TasksRequestCPU instead with task name `builder`. type: string requestMemory: description: |- When using `pod` strategy, the minimum amount of memory required by the pod builder. Deprecated: use TasksRequestCPU instead with task name `builder`. type: string strategy: description: The strategy to use, either `pod` or `routine` (default `routine`) enum: - pod - routine type: string tasks: description: A list of tasks to be executed (available only when using `pod` strategy) with format `<name>;<container-image>;<container-command>`. items: type: string type: array tasksFilter: description: |- A list of tasks sorted by the order of execution in a csv format, ie, `<taskName1>,<taskName2>,...`. Mind that you must include also the operator tasks (`builder`, `quarkus-native`, `package`, `jib`, `s2i`) if you need to execute them. Useful only with `pod` strategy. type: string tasksLimitCPU: description: A list of limit cpu configuration for the specific task with format `<task-name>:<limit-cpu-conf>`. items: type: string type: array tasksLimitMemory: description: A list of limit memory configuration for the specific task with format `<task-name>:<limit-memory-conf>`. items: type: string type: array tasksRequestCPU: description: A list of request cpu configuration for the specific task with format `<task-name>:<request-cpu-conf>`. items: type: string type: array tasksRequestMemory: description: A list of request memory configuration for the specific task with format `<task-name>:<request-memory-conf>`. items: type: string type: array verbose: description: |- Enable verbose logging on build components that support it (e.g. Kaniko build pod). Deprecated no longer in use type: boolean type: object camel: description: The configuration of Camel trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean properties: description: A list of properties to be provided to the Integration runtime items: type: string type: array runtimeProvider: description: The runtime provider to use for the integration. (Default, Camel K Runtime). enum: - quarkus - plain-quarkus type: string runtimeVersion: description: |- The runtime version to use for the integration. It overrides the default version set in the Integration Platform. You can use a fixed version (for example "3.2.3") or a semantic version (for example "3.x") which will try to resolve to the best matching Catalog existing on the cluster (Default, the one provided by the operator version). type: string type: object container: description: The configuration of Container trait properties: allowPrivilegeEscalation: description: Security Context AllowPrivilegeEscalation configuration (default false). type: boolean auto: description: To automatically enable the trait type: boolean capabilitiesAdd: description: Security Context Capabilities Add configuration (default none). items: description: Capability represent POSIX capabilities type type: string type: array capabilitiesDrop: description: Security Context Capabilities Drop configuration (default ALL). items: description: Capability represent POSIX capabilities type type: string type: array configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean expose: description: Can be used to enable/disable exposure via kubernetes Service. type: boolean image: description: |- The main container image to use for the Integration. When using this parameter the operator will create a synthetic IntegrationKit which won't be able to execute traits requiring CamelCatalog. If the container image you're using is coming from an IntegrationKit, use instead Integration `.spec.integrationKit` parameter. If you're moving the Integration across environments, you will also need to create an "external" IntegrationKit. type: string imagePullPolicy: description: 'The pull policy: Always|Never|IfNotPresent' enum: - Always - Never - IfNotPresent type: string limitCPU: description: The maximum amount of CPU to be provided (default 500 millicores). type: string limitMemory: description: The maximum amount of memory to be provided (default 512 Mi). type: string name: description: The main container name. It's named `integration` by default. type: string port: description: To configure a different port exposed by the container (default `8080`). format: int32 type: integer portName: 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. type: string requestCPU: description: The minimum amount of CPU required (default 125 millicores). type: string requestMemory: description: The minimum amount of memory required (default 128 Mi). type: string runAsNonRoot: description: Security Context RunAsNonRoot configuration (default false). type: boolean runAsUser: description: 'Security Context RunAsUser configuration (default none): this value is automatically retrieved in Openshift clusters when not explicitly set.' format: int64 type: integer seccompProfileType: description: Security Context SeccompProfileType configuration (default RuntimeDefault). enum: - Unconfined - RuntimeDefault type: string servicePort: description: To configure under which service port the container port is to be exposed (default `80`). format: int32 type: integer servicePortName: description: To configure under which service port name the container port is to be exposed (default `http`). type: string type: object cron: description: The configuration of Cron trait properties: activeDeadlineSeconds: 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. format: int64 type: integer auto: 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). type: boolean backoffLimit: description: |- Specifies the number of retries before marking the job failed. It defaults to 2. format: int32 type: integer components: 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. Supported components are currently: `cron`, `timer` and `quartz`. type: string concurrencyPolicy: 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 enum: - Allow - Forbid - Replace type: string configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean fallback: description: |- Use the default Camel implementation of the `cron` endpoint (`quartz`) instead of trying to materialize the integration as Kubernetes CronJob. type: boolean schedule: 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. type: string startingDeadlineSeconds: 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. format: int64 type: integer timeZone: description: The timezone that the CronJob will run on type: string type: object dependencies: description: The configuration of Dependencies trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean type: object deployer: description: The configuration of Deployer trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean kind: description: Allows to explicitly select the desired deployment kind between `deployment`, `cron-job` or `knative-service` when creating the resources for running the integration. enum: - deployment - cron-job - knative-service type: string useSSA: description: |- Deprecated: won't be able to enforce client side update in the future. 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. type: boolean type: object deployment: description: The configuration of Deployment trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean progressDeadlineSeconds: description: |- The maximum time in seconds for the deployment to make progress before it is considered to be failed. It defaults to `60s`. format: int32 type: integer rollingUpdateMaxSurge: anyOf: - type: integer - type: string 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%`. x-kubernetes-int-or-string: true rollingUpdateMaxUnavailable: anyOf: - type: integer - type: string 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%`. x-kubernetes-int-or-string: true strategy: description: The deployment strategy to use to replace existing pods with new ones. enum: - Recreate - RollingUpdate type: string type: object environment: description: The configuration of Environment trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true containerMeta: description: Enables injection of `NAMESPACE` and `POD_NAME` environment variables (default `true`) type: boolean enabled: description: 'Deprecated: no longer in use.' type: boolean httpProxy: description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and `NO_PROXY` environment variables (default `true`) type: boolean vars: description: |- A list of environment variables to be added to the integration container. The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name, and key represents the resource key to be mapped as and environment variable. These take precedence over any previously defined environment variables. items: type: string type: array type: object error-handler: description: |- The configuration of Error Handler trait Deprecated: no longer in use. properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean ref: description: The error handler ref name provided or found in application properties type: string type: object gc: description: The configuration of GC trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true discoveryCache: description: |- Discovery client cache to be used, either `disabled`, `disk` or `memory` (default `memory`). Deprecated: no longer in use. enum: - disabled - disk - memory type: string enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean type: object health: description: The configuration of Health trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean livenessFailureThreshold: description: Minimum consecutive failures for the liveness probe to be considered failed after having succeeded. format: int32 type: integer livenessInitialDelay: description: Number of seconds after the container has started before the liveness probe is initiated. format: int32 type: integer livenessPeriod: description: How often to perform the liveness probe. format: int32 type: integer livenessProbe: description: The liveness probe path to use (default provided by the Catalog runtime used). type: string livenessProbeEnabled: description: Configures the liveness probe for the integration container (default `false`). type: boolean livenessScheme: description: Scheme to use when connecting to the liveness probe (default `HTTP`). type: string livenessSuccessThreshold: description: Minimum consecutive successes for the liveness probe to be considered successful after having failed. format: int32 type: integer livenessTimeout: description: Number of seconds after which the liveness probe times out. format: int32 type: integer readinessFailureThreshold: description: Minimum consecutive failures for the readiness probe to be considered failed after having succeeded. format: int32 type: integer readinessInitialDelay: description: Number of seconds after the container has started before the readiness probe is initiated. format: int32 type: integer readinessPeriod: description: How often to perform the readiness probe. format: int32 type: integer readinessProbe: description: The readiness probe path to use (default provided by the Catalog runtime used). type: string readinessProbeEnabled: description: Configures the readiness probe for the integration container (default `true`). type: boolean readinessScheme: description: Scheme to use when connecting to the readiness probe (default `HTTP`). type: string readinessSuccessThreshold: description: Minimum consecutive successes for the readiness probe to be considered successful after having failed. format: int32 type: integer readinessTimeout: description: Number of seconds after which the readiness probe times out. format: int32 type: integer startupFailureThreshold: description: Minimum consecutive failures for the startup probe to be considered failed after having succeeded. format: int32 type: integer startupInitialDelay: description: Number of seconds after the container has started before the startup probe is initiated. format: int32 type: integer startupPeriod: description: How often to perform the startup probe. format: int32 type: integer startupProbe: description: The startup probe path to use (default provided by the Catalog runtime used). type: string startupProbeEnabled: description: Configures the startup probe for the integration container (default `false`). type: boolean startupScheme: description: Scheme to use when connecting to the startup probe (default `HTTP`). type: string startupSuccessThreshold: description: Minimum consecutive successes for the startup probe to be considered successful after having failed. format: int32 type: integer startupTimeout: description: Number of seconds after which the startup probe times out. format: int32 type: integer type: object ingress: description: The configuration of Ingress trait properties: annotations: additionalProperties: type: string description: |- The annotations added to the ingress. This can be used to set controller specific annotations, e.g., when using the NGINX Ingress controller: See https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md type: object auto: description: To automatically add an ingress whenever the integration uses an HTTP endpoint consumer. type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean host: description: To configure the host exposed by the ingress. type: string ingressClassName: description: |- The Ingress class name as defined by the Ingress spec See https://kubernetes.io/docs/concepts/services-networking/ingress/ type: string path: description: |- To configure the path exposed by the ingress (default `/`). Deprecated: In favor of `paths` - left for backward compatibility. type: string pathType: description: |- To configure the path type exposed by the ingress. One of `Exact`, `Prefix`, `ImplementationSpecific` (default to `Prefix`). enum: - Exact - Prefix - ImplementationSpecific type: string paths: description: To configure the paths exposed by the ingress (default `['/']`). items: type: string type: array tlsHosts: description: To configure tls hosts items: type: string type: array tlsSecretName: description: To configure tls secret name type: string type: object istio: description: The configuration of Istio trait properties: allow: 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). type: string configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean inject: 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. type: boolean type: object jolokia: description: The configuration of Jolokia trait properties: CACert: 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). type: string clientPrincipal: 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). items: type: string type: array configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true discoveryEnabled: description: Listen for multicast requests (default `false`) type: boolean enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean extendedClientCheck: 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). type: boolean host: 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 `"*"`). type: string options: description: |- A list of additional Jolokia options as defined in https://jolokia.org/reference/html/agents.html#agent-jvm-config[JVM agent configuration options] items: type: string type: array password: description: The password used for authentication, applicable when the `user` option is set. type: string port: description: The Jolokia endpoint port (default `8778`). format: int32 type: integer protocol: description: The protocol to use, either `http` or `https` (default `https` for OpenShift) type: string useSSLClientAuthentication: description: Whether client certificates should be used for authentication (default `true` for OpenShift). type: boolean user: description: The user to be used for authentication type: string type: object jvm: description: The configuration of JVM trait properties: classpath: description: Additional JVM classpath (use `Linux` classpath separator) type: string configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true debug: description: Activates remote debugging, so that a debugger can be attached to the JVM, e.g., using port-forwarding type: boolean debugAddress: description: Transport address at which to listen for the newly launched JVM (default `*:5005`) type: string debugSuspend: description: Suspends the target JVM immediately before the main class is loaded type: boolean enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean jar: description: The Jar dependency which will run the application. Leave it empty for managed Integrations. type: string options: description: A list of JVM options items: type: string type: array printCommand: description: |- Prints the command used the start the JVM in the container logs (default `true`) Deprecated: no longer in use. type: boolean type: object kamelets: description: The configuration of Kamelets trait properties: auto: description: Automatically inject all referenced Kamelets and their default configuration (enabled by default) type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean list: description: Comma separated list of Kamelet names to load into the current integration type: string mountPoint: description: The directory where the application mounts and reads Kamelet spec (default `/etc/camel/kamelets`) type: string type: object keda: description: 'Deprecated: for backward compatibility.' properties: configuration: description: TraitConfiguration parameters configuration type: object x-kubernetes-preserve-unknown-fields: true required: - configuration type: object knative: description: The configuration of Knative trait properties: auto: description: Enable automatic discovery of all trait properties. type: boolean channelSinks: description: |- List of channels used as destination of integration routes. Can contain simple channel names or full Camel URIs. items: type: string type: array channelSources: description: |- List of channels used as source of integration routes. Can contain simple channel names or full Camel URIs. items: type: string type: array config: description: Can be used to inject a Knative complete configuration in JSON format. type: string configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean endpointSinks: description: |- List of endpoints used as destination of integration routes. Can contain simple endpoint names or full Camel URIs. items: type: string type: array endpointSources: description: List of channels used as source of integration routes. items: type: string type: array eventSinks: description: |- List of event types that the integration will produce. Can contain simple event types or full Camel URIs (to use a specific broker). items: type: string type: array eventSources: 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"). items: type: string type: array filterEventType: description: |- Enables the default filtering for the Knative trigger using the event type If this is true, the created Knative trigger uses the event type as a filter on the event stream when no other filter criteria is given. (default: true) type: boolean filterSourceChannels: 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. type: boolean filters: description: |- Sets filter attributes on the event stream (such as event type, source, subject and so on). A list of key-value pairs that represent filter attributes and its values. The syntax is KEY=VALUE, e.g., `source="my.source"`. Filter attributes get set on the Knative trigger that is being created as part of this integration. items: type: string type: array namespaceLabel: description: |- Enables the camel-k-operator to set the "bindings.knative.dev/include=true" label to the namespace As Knative requires this label to perform injection of K_SINK URL into the service. If this is false, the integration pod may start and fail, read the SinkBinding Knative documentation. (default: true) type: boolean sinkBinding: 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). type: boolean type: object knative-service: description: The configuration of Knative Service trait properties: annotations: additionalProperties: type: string description: |- The annotations added to route. This can be used to set knative service specific annotations CLI usage example: -t "knative-service.annotations.'haproxy.router.openshift.io/balance'=true" type: object auto: 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) type: boolean autoscalingMetric: 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. type: string autoscalingTarget: 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. type: integer class: 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. enum: - kpa.autoscaling.knative.dev - hpa.autoscaling.knative.dev type: string configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean maxScale: 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. type: integer minScale: 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. type: integer rolloutDuration: 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. type: string timeoutSeconds: description: |- The maximum duration in seconds that the request instance is allowed to respond to a request. This field propagates to the integration pod's terminationGracePeriodSeconds Refer to the Knative documentation for more information. format: int64 type: integer visibility: 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. enum: - cluster-local type: string type: object logging: description: The configuration of Logging trait properties: color: description: Colorize the log output type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean format: description: Logs message format type: string json: description: Output the logs in JSON type: boolean jsonPrettyPrint: description: Enable "pretty printing" of the JSON logs type: boolean level: description: Adjust the logging level (defaults to `INFO`) enum: - FATAL - WARN - INFO - DEBUG - TRACE type: string type: object master: description: The configuration of Master trait properties: auto: description: Enables automatic configuration of the trait. type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean includeDelegateDependencies: 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. type: boolean labelKey: description: Label that will be used to identify all pods contending the lock. Defaults to "camel.apache.org/integration". type: string labelValue: description: Label value that will be used to identify all pods contending the lock. Defaults to the integration name. type: string resourceName: 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". type: string resourceType: description: Type of Kubernetes resource to use for locking ("ConfigMap" or "Lease"). Defaults to "Lease". type: string type: object mount: description: The configuration of Mount trait properties: configs: 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 items: type: string type: array configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true emptyDirs: description: |- A list of EmptyDir volumes to be mounted. An optional size limit may be configured (default 500Mi). Syntax: name:/container/path[:sizeLimit] items: type: string type: array enabled: description: 'Deprecated: no longer in use.' type: boolean hotReload: description: |- Enable "hot reload" when a secret/configmap mounted is edited (default `false`). The configmap/secret must be marked with `camel.apache.org/integration` label to be taken in account. The resource will be watched for any kind change, also for changes in metadata. type: boolean resources: 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 items: type: string type: array scanKameletsImplicitLabelSecrets: description: 'Deprecated: no longer available since version 2.5.' type: boolean volumes: description: |- A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails. You can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided or the default cluster Storage Class. However, if the PVC exists, the operator would mount it. items: type: string type: array type: object openapi: description: The configuration of OpenAPI trait properties: configmaps: description: The configmaps holding the spec of the OpenAPI (compatible with > 3.0 spec only). items: type: string type: array configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean type: object owner: description: The configuration of Owner trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean targetAnnotations: description: The set of annotations to be transferred items: type: string type: array targetLabels: description: The set of labels to be transferred items: type: string type: array type: object pdb: description: The configuration of PDB trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean maxUnavailable: 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. type: string minAvailable: 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. type: string type: object platform: description: The configuration of Platform trait properties: auto: description: |- To automatically detect from the environment if a default platform can be created (it will be created on OpenShift or when a registry address is set). Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true createDefault: description: |- To create a default (empty) platform when the platform is missing. Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility type: boolean enabled: description: 'Deprecated: no longer in use.' type: boolean global: description: |- Indicates if the platform should be created globally in the case of global operator (default true). Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility type: boolean type: object pod: description: The configuration of Pod trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean type: object prometheus: description: The configuration of Prometheus trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean podMonitor: description: Whether a `PodMonitor` resource is created (default `true`). type: boolean podMonitorLabels: description: The `PodMonitor` resource labels, applicable when `pod-monitor` is `true`. items: type: string type: array type: object pull-secret: description: The configuration of Pull Secret trait properties: auto: description: Automatically configures the platform registry secret on the pod if it is of type `kubernetes.io/dockerconfigjson`. type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean imagePullerDelegation: 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. type: boolean secretName: description: The pull secret name to set on the Pod. If left empty this is automatically taken from the `IntegrationPlatform` registry configuration. type: string type: object quarkus: description: The configuration of Quarkus trait properties: buildMode: description: |- The Quarkus mode to run: either `jvm` or `native` (default `jvm`). In case both `jvm` and `native` are specified, two `IntegrationKit` resources are created, with the `native` kit having precedence over the `jvm` one once ready. items: description: QuarkusMode is the type of Quarkus build packaging. enum: - jvm - native type: string type: array configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean nativeBaseImage: description: The base image to use when running a native build (default `quay.io/quarkus/quarkus-micro-image:2.0`) type: string nativeBuilderImage: description: The image containing the tooling required for a native build (by default it will use the one provided in the runtime catalog) type: string packageTypes: description: |- The Quarkus package types, `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. Deprecated: use `build-mode` instead. items: description: |- QuarkusPackageType is the type of Quarkus build packaging. Deprecated: use `QuarkusMode` instead. enum: - fast-jar - native type: string type: array type: object registry: description: |- The configuration of Registry trait (support removed since version 2.5.0). Deprecated: use jvm trait or read documentation. properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean type: object route: description: The configuration of Route trait properties: annotations: additionalProperties: type: string description: |- The annotations added to route. This can be used to set route specific annotations For annotations options see https://docs.openshift.com/container-platform/3.11/architecture/networking/routes.html#route-specific-annotations CLI usage example: -t "route.annotations.'haproxy.router.openshift.io/balance'=true" type: object configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean host: description: To configure the host exposed by the route. type: string tlsCACertificate: description: |- The TLS CA certificate contents. Refer to the OpenShift route documentation for additional information. type: string tlsCACertificateSecret: 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. type: string tlsCertificate: description: |- The TLS certificate contents. Refer to the OpenShift route documentation for additional information. type: string tlsCertificateSecret: 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. type: string tlsDestinationCACertificate: 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. type: string tlsDestinationCACertificateSecret: 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. type: string tlsInsecureEdgeTerminationPolicy: 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. enum: - None - Allow - Redirect type: string tlsKey: description: |- The TLS certificate key contents. Refer to the OpenShift route documentation for additional information. type: string tlsKeySecret: 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. type: string tlsTermination: description: |- The TLS termination type, like `edge`, `passthrough` or `reencrypt`. Refer to the OpenShift route documentation for additional information. enum: - edge - reencrypt - passthrough type: string type: object security-context: description: The configuration of Security Context trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean runAsNonRoot: description: Security Context RunAsNonRoot configuration (default false). type: boolean runAsUser: description: 'Security Context RunAsUser configuration (default none): this value is automatically retrieved in Openshift clusters when not explicitly set.' format: int64 type: integer seccompProfileType: description: Security Context SeccompProfileType configuration (default RuntimeDefault). enum: - Unconfined - RuntimeDefault type: string type: object service: description: The configuration of Service trait properties: annotations: additionalProperties: type: string description: The annotations added to the Service object. type: object auto: description: To automatically detect from the code if a Service needs to be created. type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean labels: additionalProperties: type: string description: The labels added to the Service object. type: object nodePort: description: |- Enable Service to be exposed as NodePort (default `false`). Deprecated: Use service type instead. type: boolean type: description: The type of service to be used, either 'ClusterIP', 'NodePort' or 'LoadBalancer'. enum: - ClusterIP - NodePort - LoadBalancer type: string type: object service-binding: description: |- The configuration of Service Binding trait Deprecated: no longer in use. properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean services: description: List of Services in the form [[apigroup/]version:]kind:[namespace/]name items: type: string type: array type: object strimzi: description: 'Deprecated: for backward compatibility.' properties: configuration: description: TraitConfiguration parameters configuration type: object x-kubernetes-preserve-unknown-fields: true required: - configuration type: object telemetry: description: The configuration of Telemetry trait properties: auto: description: Enables automatic configuration of the trait, including automatic discovery of the telemetry endpoint. type: boolean configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean endpoint: description: The target endpoint of the Telemetry service (automatically discovered by default) type: string sampler: description: The sampler of the telemetry used for tracing (default "on") type: string sampler-parent-based: description: The sampler of the telemetry used for tracing is parent based (default "true") type: boolean sampler-ratio: description: The sampler ratio of the telemetry used for tracing type: string serviceName: description: The name of the service that publishes telemetry data (defaults to the integration name) type: string type: object toleration: description: The configuration of Toleration trait properties: configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean taints: description: The list of taints to tolerate, in the form `Key[=Value]:Effect[:Seconds]` items: type: string type: array type: object tracing: description: 'Deprecated: for backward compatibility.' properties: configuration: description: TraitConfiguration parameters configuration type: object x-kubernetes-preserve-unknown-fields: true required: - configuration type: object type: object version: description: the Camel K operator version controlling this IntegrationPlatform type: string type: object type: object served: true storage: true subresources: status: {}