apache / camel-k

Apache Camel K is a lightweight integration platform, born on Kubernetes, with serverless superpowers
https://camel.apache.org/camel-k
Apache License 2.0
859 stars 344 forks source link

Maximum number of running builds (0) exceeded #4290

Closed mertdotcc closed 1 year ago

mertdotcc commented 1 year ago

I am currently working on a PR and using the test-common test to run the e2e tests in my minikube cluster.

My test run basically gets stuck with the following output and times out:

~ make test-common
go install github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest
FAILED=0; STAGING_RUNTIME_REPO=""; \
    go test -timeout 30m -v ./e2e/common/support/startup_test.go -tags=integration   || FAILED=1; \
    go test -timeout 30m -v ./e2e/common/languages -tags=integration   || FAILED=1; \
    go test -timeout 30m -v ./e2e/common/cli -tags=integration   || FAILED=1; \
    go test -timeout 30m -v ./e2e/common/config -tags=integration   || FAILED=1; \
    go test -timeout 30m -v ./e2e/common/misc -tags=integration   || FAILED=1; \
    go test -timeout 30m -v ./e2e/common/support/teardown_test.go -tags=integration   || FAILED=1; \
    exit ${FAILED}
=== RUN   TestCommonCamelKInstallStartup
OLM is not available in the cluster. Fallback to regular installation.
Using storage class "standard" to create "camel-k-pvc" volume for the operator
Camel K installed in namespace test-91d9ae50-720c-4832-8c2d-7e9aee86488a
--- PASS: TestCommonCamelKInstallStartup (4.35s)
PASS
ok      command-line-arguments  4.819s
=== RUN   TestRunSimpleGroovyExamples
=== RUN   TestRunSimpleGroovyExamples/run_groovy
Integration "groovy" created

Integrations seem to be stuck in the Building Kit phase:

~ kubectl get it --all-namespaces
NAMESPACE                                   NAME     PHASE          KIT                        REPLICAS
test-0d4ee664-6a89-4763-b4d9-e3f6d5c4f379   java     Building Kit   kit-ch4gks1lv79s73faigjg
test-91d9ae50-720c-4832-8c2d-7e9aee86488a   groovy   Building Kit   kit-ch4mi4lfsfdc73f56ar0
test-9a3ab09e-2f19-449e-9b0a-daccc04d25c9   java     Building Kit   kit-cglutm6lk10c73fc2e60

The operator pods show the following:

{"level":"info","ts":1682533210.7732217,"logger":"camel-k.controller.build","msg":"Maximum number of running builds (0) exceeded - the build gets enqueued","request-namespace":"test-91d9ae50-720c-4832-8c2d-7e9aee86488a","request-name":"groovy","max-running-builds-limit":0,"api-version":"camel.apache.org/v1","kind":"Build","ns":"test-91d9ae50-720c-4832-8c2d-7e9aee86488a","name":"kit-ch4mi4lfsfdc73f56ar0"}
{"level":"info","ts":1682533215.7854362,"logger":"camel-k.controller.build","msg":"Reconciling Build","request-namespace":"test-91d9ae50-720c-4832-8c2d-7e9aee86488a","request-name":"kit-ch4mi4lfsfdc73f56ar0"}
{"level":"info","ts":1682533215.785816,"logger":"camel-k.controller.build","msg":"Invoking action schedule","request-namespace":"test-91d9ae50-720c-4832-8c2d-7e9aee86488a","request-name":"kit-ch4mi4lfsfdc73f56ar0","api-version":"camel.apache.org/v1","kind":"Build","ns":"test-91d9ae50-720c-4832-8c2d-7e9aee86488a","name":"kit-ch4mi4lfsfdc73f56ar0"}

First I thought that the changes I made in my branch might be causing this, so I checked out to the main branch and ran the test-common test there. Same problem.

Am I missing something? Where does this number 0 come from?

cc @christophd

christophd commented 1 year ago

This is a new enhancement to limit the maximum number of builds running on the operator in parallel. The enhancement has been merged today. The value 0 definitely does not make sense here.

The setting comes with the IntegrationPlatform custom resource. Can you please check that the IntegrationPlatform CRD has been updated on your local cluster?

mertdotcc commented 1 year ago
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.6.1
  creationTimestamp: "2023-04-26T18:04:08Z"
  generation: 1
  labels:
    app: camel-k
  name: integrationplatforms.camel.apache.org
  resourceVersion: "88618"
  uid: eda39d10-9e7c-4284-9959-47f8abbe3fb8
spec:
  conversion:
    strategy: None
  group: camel.apache.org
  names:
    categories:
    - kamel
    - camel
    kind: IntegrationPlatform
    listKind: IntegrationPlatformList
    plural: integrationplatforms
    shortNames:
    - ip
    singular: integrationplatform
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The integration platform phase
      jsonPath: .status.phase
      name: Phase
      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: Generic options that can used by each publish strategy
                    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 softwares
                    type: string
                  buildStrategy:
                    description: the strategy to adopt for building an Integration
                      base image
                    enum:
                    - routine
                    - pod
                    type: string
                  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:
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                TODO: Add other useful fields. apiVersion, kind, uid?'
                              type: string
                            optional:
                              description: Specify whether the Secret or its key must
                                be defined
                              type: boolean
                          required:
                          - key
                          type: object
                        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:Version)
                            Maven artifact
                          properties:
                            artifactId:
                              description: Maven Artifact
                              type: string
                            groupId:
                              description: Maven Group
                              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
                      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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the ConfigMap or its
                                  key must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                        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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the ConfigMap or its
                                  key must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                        type: object
                    type: object
                  publishStrategy:
                    description: the strategy to adopt for publishing an Integration
                      base 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
                  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 build 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: IntegrationPlatformKameletRepositorySpec 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:
                      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
                      properties:
                        description: A list of properties to be provided to the build
                          task
                        items:
                          type: string
                        type: array
                      strategy:
                        description: The strategy to use, either `pod` or `routine`
                          (default routine)
                        type: string
                      verbose:
                        description: Enable verbose logging on build components that
                          support it (e.g. Kaniko build pod).
                        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: Can be used to enable or disable a trait. All
                          traits share this common property.
                        type: boolean
                      properties:
                        description: A list of properties to be provided to the Integration
                          runtime
                        items:
                          type: string
                        type: array
                      runtimeVersion:
                        description: The camel-k-runtime version to use for the integration.
                          It overrides the default version set in the Integration
                          Platform.
                        type: string
                    type: object
                  container:
                    description: The configuration of Container trait
                    properties:
                      auto:
                        description: To automatically enable 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
                      expose:
                        description: Can be used to enable/disable exposure via kubernetes
                          Service.
                        type: boolean
                      image:
                        description: The main container image
                        type: string
                      imagePullPolicy:
                        description: 'The pull policy: Always|Never|IfNotPresent'
                        enum:
                        - Always
                        - Never
                        - IfNotPresent
                        type: string
                      limitCPU:
                        description: The maximum amount of CPU required.
                        type: string
                      limitMemory:
                        description: The maximum amount of memory required.
                        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`).
                        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.
                        type: string
                      requestMemory:
                        description: The minimum amount of memory required.
                        type: string
                      servicePort:
                        description: To configure under which service port the container
                          port is to be exposed (default `80`).
                        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). \n 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. A specific
                          customizer is activated for each specified component. E.g.
                          for the `timer` component, the `cron-timer` customizer is
                          activated (it's present in the `org.apache.camel.k:camel-k-cron`
                          library). \n 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
                    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: Can be used to enable or disable a trait. All
                          traits share this common property.
                        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: Can be used to enable or disable a trait. All
                          traits share this common property.
                        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: 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: Can be used to enable or disable a trait. All
                          traits share this common property.
                        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:
                        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%.'
                        type: integer
                      rollingUpdateMaxUnavailable:
                        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%.'
                        type: integer
                      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: Can be used to enable or disable a trait. All
                          traits share this common property.
                        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 KEY=VALUE, e.g.,
                          `MY_VAR="my value"`. These take precedence over the previously
                          defined environment variables.
                        items:
                          type: string
                        type: array
                    type: object
                  error-handler:
                    description: The configuration of Error Handler 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
                      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: to be
                          removed from trait configuration.'
                        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
                      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
                      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
                      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
                      path:
                        description: To configure the path exposed by the ingress
                          (default `/`).
                        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
                    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`).
                        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
                      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`)
                        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
                    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
                      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
                      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:
                      auto:
                        description: "Automatically deploy the integration as Knative
                          service when all conditions hold: \n * 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).
                          \n 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. \n 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). \n 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. \n 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. \n 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
                      visibility:
                        description: "Setting `cluster-local`, Knative service becomes
                          a private service. Specifically, this option applies the
                          `networking.knative.dev/visibility` label to Knative service.
                          \n 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: 'Deprecated: for backward compatibility.'
                    properties:
                      configuration:
                        description: TraitConfiguration parameters configuration
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                    required:
                    - configuration
                    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
                      enabled:
                        description: Can be used to enable or disable a trait. All
                          traits share this common property.
                        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
                      volumes:
                        description: 'A list of Persistent Volume Claims to be mounted.
                          Syntax: [pvcname:/container/path]'
                        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
                        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: Can be used to enable or disable a trait. All
                          traits share this common property.
                        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 only).
                        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.
                        type: boolean
                      enabled:
                        description: Can be used to enable or disable a trait. All
                          traits share this common property.
                        type: boolean
                      global:
                        description: Indicates if the platform should be created globally
                          in the case of global operator (default true).
                        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:
                      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
                      packageTypes:
                        description: The Quarkus package types, either `fast-jar`
                          or `native` (default `fast-jar`). In case both `fast-jar`
                          and `native` are specified, two `IntegrationKit` resources
                          are created, with the `native` kit having precedence over
                          the `fast-jar` one once ready. The order influences the
                          resolution of the current kit for the integration. The kit
                          corresponding to the first package type will be assigned
                          to the integration in case no existing kit that matches
                          the integration exists.
                        items:
                          description: Quarkus package type.
                          enum:
                          - fast-jar
                          - native
                          type: string
                        type: array
                    type: object
                  registry:
                    description: The configuration of Registry 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
                  route:
                    description: The configuration of Route 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
                      host:
                        description: To configure the host exposed by the route.
                        type: string
                      tlsCACertificate:
                        description: "The TLS CA certificate contents. \n 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 \"/\". \n Refer to the OpenShift
                          route documentation for additional information."
                        type: string
                      tlsCertificate:
                        description: "The TLS certificate contents. \n 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 \"/\". \n 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. \n 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 \"/\". \n 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. \n Refer
                          to the OpenShift route documentation for additional information."
                        enum:
                        - None
                        - Allow
                        - Redirect
                        type: string
                      tlsKey:
                        description: "The TLS certificate key contents. \n 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 \"/\". \n Refer to the OpenShift
                          route documentation for additional information."
                        type: string
                      tlsTermination:
                        description: "The TLS termination type, like `edge`, `passthrough`
                          or `reencrypt`. \n Refer to the OpenShift route documentation
                          for additional information."
                        enum:
                        - edge
                        - reencrypt
                        - passthrough
                        type: string
                    type: object
                  service:
                    description: The configuration of Service trait
                    properties:
                      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
                      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
                    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
                  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: Generic options that can used by each publish strategy
                    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 softwares
                    type: string
                  buildStrategy:
                    description: the strategy to adopt for building an Integration
                      base image
                    enum:
                    - routine
                    - pod
                    type: string
                  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:
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                TODO: Add other useful fields. apiVersion, kind, uid?'
                              type: string
                            optional:
                              description: Specify whether the Secret or its key must
                                be defined
                              type: boolean
                          required:
                          - key
                          type: object
                        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:Version)
                            Maven artifact
                          properties:
                            artifactId:
                              description: Maven Artifact
                              type: string
                            groupId:
                              description: Maven Group
                              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
                      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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the ConfigMap or its
                                  key must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                        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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the ConfigMap or its
                                  key must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          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:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret or its key
                                  must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                        type: object
                    type: object
                  publishStrategy:
                    description: the strategy to adopt for publishing an Integration
                      base 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
                  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 build 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: IntegrationPlatformKameletRepositorySpec 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:
                      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
                      properties:
                        description: A list of properties to be provided to the build
                          task
                        items:
                          type: string
                        type: array
                      strategy:
                        description: The strategy to use, either `pod` or `routine`
                          (default routine)
                        type: string
                      verbose:
                        description: Enable verbose logging on build components that
                          support it (e.g. Kaniko build pod).
                        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: Can be used to enable or disable a trait. All
                          traits share this common property.
                        type: boolean
                      properties:
                        description: A list of properties to be provided to the Integration
                          runtime
                        items:
                          type: string
                        type: array
                      runtimeVersion:
                        description: The camel-k-runtime version to use for the integration.
                          It overrides the default version set in the Integration
                          Platform.
                        type: string
                    type: object
                  container:
                    description: The configuration of Container trait
                    properties:
                      auto:
                        description: To automatically enable 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
                      expose:
                        description: Can be used to enable/disable exposure via kubernetes
                          Service.
                        type: boolean
                      image:
                        description: The main container image
                        type: string
                      imagePullPolicy:
                        description: 'The pull policy: Always|Never|IfNotPresent'
                        enum:
                        - Always
                        - Never
                        - IfNotPresent
                        type: string
                      limitCPU:
                        description: The maximum amount of CPU required.
                        type: string
                      limitMemory:
                        description: The maximum amount of memory required.
                        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`).
                        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.
                        type: string
                      requestMemory:
                        description: The minimum amount of memory required.
                        type: string
                      servicePort:
                        description: To configure under which service port the container
                          port is to be exposed (default `80`).
                        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). \n 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. A specific
                          customizer is activated for each specified component. E.g.
                          for the `timer` component, the `cron-timer` customizer is
                          activated (it's present in the `org.apache.camel.k:camel-k-cron`
                          library). \n 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
                    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: Can be used to enable or disable a trait. All
                          traits share this common property.
                        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: Can be used to enable or disable a trait. All
                          traits share this common property.
                        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: 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: Can be used to enable or disable a trait. All
                          traits share this common property.
                        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:
                        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%.'
                        type: integer
                      rollingUpdateMaxUnavailable:
                        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%.'
                        type: integer
                      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: Can be used to enable or disable a trait. All
                          traits share this common property.
                        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 KEY=VALUE, e.g.,
                          `MY_VAR="my value"`. These take precedence over the previously
                          defined environment variables.
                        items:
                          type: string
                        type: array
                    type: object
                  error-handler:
                    description: The configuration of Error Handler 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
                      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: to be
                          removed from trait configuration.'
                        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
                      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
                      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
                      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
                      path:
                        description: To configure the path exposed by the ingress
                          (default `/`).
                        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
                    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`).
                        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
                      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`)
                        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
                    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
                      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
                      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:
                      auto:
                        description: "Automatically deploy the integration as Knative
                          service when all conditions hold: \n * 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).
                          \n 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. \n 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). \n 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. \n 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. \n 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
                      visibility:
                        description: "Setting `cluster-local`, Knative service becomes
                          a private service. Specifically, this option applies the
                          `networking.knative.dev/visibility` label to Knative service.
                          \n 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: 'Deprecated: for backward compatibility.'
                    properties:
                      configuration:
                        description: TraitConfiguration parameters configuration
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                    required:
                    - configuration
                    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
                      enabled:
                        description: Can be used to enable or disable a trait. All
                          traits share this common property.
                        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
                      volumes:
                        description: 'A list of Persistent Volume Claims to be mounted.
                          Syntax: [pvcname:/container/path]'
                        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
                        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: Can be used to enable or disable a trait. All
                          traits share this common property.
                        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 only).
                        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.
                        type: boolean
                      enabled:
                        description: Can be used to enable or disable a trait. All
                          traits share this common property.
                        type: boolean
                      global:
                        description: Indicates if the platform should be created globally
                          in the case of global operator (default true).
                        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:
                      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
                      packageTypes:
                        description: The Quarkus package types, either `fast-jar`
                          or `native` (default `fast-jar`). In case both `fast-jar`
                          and `native` are specified, two `IntegrationKit` resources
                          are created, with the `native` kit having precedence over
                          the `fast-jar` one once ready. The order influences the
                          resolution of the current kit for the integration. The kit
                          corresponding to the first package type will be assigned
                          to the integration in case no existing kit that matches
                          the integration exists.
                        items:
                          description: Quarkus package type.
                          enum:
                          - fast-jar
                          - native
                          type: string
                        type: array
                    type: object
                  registry:
                    description: The configuration of Registry 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
                  route:
                    description: The configuration of Route 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
                      host:
                        description: To configure the host exposed by the route.
                        type: string
                      tlsCACertificate:
                        description: "The TLS CA certificate contents. \n 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 \"/\". \n Refer to the OpenShift
                          route documentation for additional information."
                        type: string
                      tlsCertificate:
                        description: "The TLS certificate contents. \n 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 \"/\". \n 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. \n 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 \"/\". \n 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. \n Refer
                          to the OpenShift route documentation for additional information."
                        enum:
                        - None
                        - Allow
                        - Redirect
                        type: string
                      tlsKey:
                        description: "The TLS certificate key contents. \n 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 \"/\". \n Refer to the OpenShift
                          route documentation for additional information."
                        type: string
                      tlsTermination:
                        description: "The TLS termination type, like `edge`, `passthrough`
                          or `reencrypt`. \n Refer to the OpenShift route documentation
                          for additional information."
                        enum:
                        - edge
                        - reencrypt
                        - passthrough
                        type: string
                    type: object
                  service:
                    description: The configuration of Service trait
                    properties:
                      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
                      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
                    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
                  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: {}
status:
  acceptedNames:
    categories:
    - kamel
    - camel
    kind: IntegrationPlatform
    listKind: IntegrationPlatformList
    plural: integrationplatforms
    shortNames:
    - ip
    singular: integrationplatform
  conditions:
  - lastTransitionTime: "2023-04-26T18:04:08Z"
    message: no conflicts found
    reason: NoConflicts
    status: "True"
    type: NamesAccepted
  - lastTransitionTime: "2023-04-26T18:04:08Z"
    message: the initial names have been accepted
    reason: InitialNamesAccepted
    status: "True"
    type: Established
  storedVersions:
  - v1

What exactly should I be looking for?

mertdotcc commented 1 year ago

Might be somewhat of a useful information:

~ kubectl get crds
builds.camel.apache.org                 2023-04-26T18:04:08Z
camelcatalogs.camel.apache.org          2023-04-26T18:04:08Z
integrationkits.camel.apache.org        2023-04-26T18:04:08Z
integrationplatforms.camel.apache.org   2023-04-26T18:04:08Z
integrations.camel.apache.org           2023-04-26T18:04:08Z
kameletbindings.camel.apache.org        2023-04-26T18:04:08Z
kamelets.camel.apache.org               2023-04-26T18:04:08Z
pipes.camel.apache.org                  2023-04-26T18:04:09Z
image
christophd commented 1 year ago

The new property on the IntegrationPlatform is called maxRunningBuilds see https://github.com/apache/camel-k/blob/main/config/crd/bases/camel.apache.org_integrationplatforms.yaml#L245

christophd commented 1 year ago

You should be seeing this new property set in the Status resource of the IntegrationPlatform kubectl get ip -n <operator-namesapce> -o yaml

mertdotcc commented 1 year ago

You were right. My feature branch was not rebased to the main branch. I can see the new maxRunningBuilds property now. Many thanks for the help! 🙏🏻

mertdotcc commented 1 year ago

Another question: I see that the default value for maxRunningBuilds is set to 10. Is this something we will give the option to specify during the kamel install command with a flag maybe? Or is this something the users basically will go to and edit directly in the IntegrationPlatform resource?

christophd commented 1 year ago

yes, you should be able to use --max-running-builds option on kamel install but I just see that I have missed to add the option. Will fix it, thx