You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2021/03/03 12:56:36 UTC

[camel-k] 04/08: Fix #1799: use fully qualified integration kit

This is an automated email from the ASF dual-hosted git repository.

nferraro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit c171434ef592e8a566d6b21083b8207a79830927
Author: nicolaferraro <ni...@gmail.com>
AuthorDate: Mon Mar 1 14:47:16 2021 +0100

    Fix #1799: use fully qualified integration kit
---
 .../crd/bases/camel.apache.org_integrations.yaml   |  124 +-
 .../bases/camel.apache.org_kameletbindings.yaml    |   61 +
 deploy/camel-catalog-1.6.0.yaml                    | 3210 ++++++++++----------
 .../camel.apache.org_integrations.yaml             |  124 +-
 .../camel.apache.org_kameletbindings.yaml          |   61 +
 .../attachments/schema/integration-schema.json     |   73 +-
 e2e/support/test_support.go                        |    5 +-
 helm/camel-k/crds/crd-integration.yaml             |  124 +-
 helm/camel-k/crds/crd-kamelet-binding.yaml         |   61 +
 pkg/apis/camel/v1/integration_types.go             |   65 +-
 pkg/apis/camel/v1/integration_types_support.go     |   20 +-
 pkg/apis/camel/v1/zz_generated.deepcopy.go         |   10 +
 pkg/cmd/describe_integration.go                    |    7 +-
 pkg/cmd/get.go                                     |    7 +-
 pkg/cmd/log.go                                     |   10 +-
 pkg/cmd/run.go                                     |   18 +-
 pkg/controller/integration/build_kit.go            |   11 +-
 pkg/controller/integration/deploy.go               |    6 +-
 pkg/controller/integration/initialize.go           |   30 +-
 pkg/controller/integration/util.go                 |   15 +-
 .../integrationkit/integrationkit_controller.go    |   36 +-
 pkg/trait/jvm.go                                   |   16 +-
 pkg/trait/pull_secret.go                           |    4 +-
 pkg/trait/trait_types.go                           |    7 +-
 pkg/trait/util.go                                  |   10 +-
 pkg/util/digest/digest.go                          |    6 +-
 26 files changed, 2409 insertions(+), 1712 deletions(-)

diff --git a/config/crd/bases/camel.apache.org_integrations.yaml b/config/crd/bases/camel.apache.org_integrations.yaml
index c28a5a8..96e26b9 100644
--- a/config/crd/bases/camel.apache.org_integrations.yaml
+++ b/config/crd/bases/camel.apache.org_integrations.yaml
@@ -44,7 +44,7 @@ spec:
       name: Phase
       type: string
     - description: The integration kit
-      jsonPath: .status.kit
+      jsonPath: .status.integrationKit.name
       name: Kit
       type: string
     - description: The number of pods
@@ -95,7 +95,67 @@ spec:
                   type: object
                   x-kubernetes-preserve-unknown-fields: true
                 type: array
+              integrationKit:
+                description: 'ObjectReference contains enough information to let you
+                  inspect or modify the referred object. --- New uses of this type
+                  are discouraged because of difficulty describing its usage when
+                  embedded in APIs.  1. Ignored fields.  It includes many fields which
+                  are not generally honored.  For instance, ResourceVersion and FieldPath
+                  are both very rarely valid in actual usage.  2. Invalid usage help.  It
+                  is impossible to add specific help for individual usage.  In most
+                  embedded usages, there are particular     restrictions like, "must
+                  refer only to types A and B" or "UID not honored" or "name must
+                  be restricted".     Those cannot be well described when embedded.  3.
+                  Inconsistent validation.  Because the usages are different, the
+                  validation rules are different by usage, which makes it hard for
+                  users to predict what will happen.  4. The fields are both imprecise
+                  and overly precise.  Kind is not a precise mapping to a URL. This
+                  can produce ambiguity     during interpretation and require a REST
+                  mapping.  In most cases, the dependency is on the group,resource
+                  tuple     and the version of the actual struct is irrelevant.  5.
+                  We cannot easily change it.  Because this type is embedded in many
+                  locations, updates to this type     will affect numerous schemas.  Don''t
+                  make new APIs embed an underspecified API type they do not control.
+                  Instead of using this type, create a locally provided and used type
+                  that is well-focused on your reference. For example, ServiceReferences
+                  for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
+                  .'
+                properties:
+                  apiVersion:
+                    description: API version of the referent.
+                    type: string
+                  fieldPath:
+                    description: 'If referring to a piece of an object instead of
+                      an entire object, this string should contain a valid JSON/Go
+                      field access statement, such as desiredState.manifest.containers[2].
+                      For example, if the object reference is to a container within
+                      a pod, this would take on a value like: "spec.containers{name}"
+                      (where "name" refers to the name of the container that triggered
+                      the event) or if no container name is specified "spec.containers[2]"
+                      (container with index 2 in this pod). This syntax is chosen
+                      only to have some well-defined way of referencing a part of
+                      an object. TODO: this design is not final and this field is
+                      subject to change in the future.'
+                    type: string
+                  kind:
+                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+                    type: string
+                  name:
+                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+                    type: string
+                  namespace:
+                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
+                    type: string
+                  resourceVersion:
+                    description: 'Specific resourceVersion to which this reference
+                      is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
+                    type: string
+                  uid:
+                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
+                    type: string
+                type: object
               kit:
+                description: 'Deprecated: use the IntegrationKit field'
                 type: string
               profile:
                 description: TraitProfile represents lists of traits that are enabled
@@ -355,7 +415,67 @@ spec:
                 type: array
               image:
                 type: string
+              integrationKit:
+                description: 'ObjectReference contains enough information to let you
+                  inspect or modify the referred object. --- New uses of this type
+                  are discouraged because of difficulty describing its usage when
+                  embedded in APIs.  1. Ignored fields.  It includes many fields which
+                  are not generally honored.  For instance, ResourceVersion and FieldPath
+                  are both very rarely valid in actual usage.  2. Invalid usage help.  It
+                  is impossible to add specific help for individual usage.  In most
+                  embedded usages, there are particular     restrictions like, "must
+                  refer only to types A and B" or "UID not honored" or "name must
+                  be restricted".     Those cannot be well described when embedded.  3.
+                  Inconsistent validation.  Because the usages are different, the
+                  validation rules are different by usage, which makes it hard for
+                  users to predict what will happen.  4. The fields are both imprecise
+                  and overly precise.  Kind is not a precise mapping to a URL. This
+                  can produce ambiguity     during interpretation and require a REST
+                  mapping.  In most cases, the dependency is on the group,resource
+                  tuple     and the version of the actual struct is irrelevant.  5.
+                  We cannot easily change it.  Because this type is embedded in many
+                  locations, updates to this type     will affect numerous schemas.  Don''t
+                  make new APIs embed an underspecified API type they do not control.
+                  Instead of using this type, create a locally provided and used type
+                  that is well-focused on your reference. For example, ServiceReferences
+                  for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
+                  .'
+                properties:
+                  apiVersion:
+                    description: API version of the referent.
+                    type: string
+                  fieldPath:
+                    description: 'If referring to a piece of an object instead of
+                      an entire object, this string should contain a valid JSON/Go
+                      field access statement, such as desiredState.manifest.containers[2].
+                      For example, if the object reference is to a container within
+                      a pod, this would take on a value like: "spec.containers{name}"
+                      (where "name" refers to the name of the container that triggered
+                      the event) or if no container name is specified "spec.containers[2]"
+                      (container with index 2 in this pod). This syntax is chosen
+                      only to have some well-defined way of referencing a part of
+                      an object. TODO: this design is not final and this field is
+                      subject to change in the future.'
+                    type: string
+                  kind:
+                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+                    type: string
+                  name:
+                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+                    type: string
+                  namespace:
+                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
+                    type: string
+                  resourceVersion:
+                    description: 'Specific resourceVersion to which this reference
+                      is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
+                    type: string
+                  uid:
+                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
+                    type: string
+                type: object
               kit:
+                description: 'Deprecated: use the IntegrationKit field'
                 type: string
               lastInitTimestamp:
                 description: The timestamp representing the last time when this integration
@@ -367,8 +487,6 @@ spec:
                 type: string
               platform:
                 type: string
-              platformNamespace:
-                type: string
               profile:
                 description: TraitProfile represents lists of traits that are enabled
                   for the specific installation/integration
diff --git a/config/crd/bases/camel.apache.org_kameletbindings.yaml b/config/crd/bases/camel.apache.org_kameletbindings.yaml
index 5a427b5..c9a8b87 100644
--- a/config/crd/bases/camel.apache.org_kameletbindings.yaml
+++ b/config/crd/bases/camel.apache.org_kameletbindings.yaml
@@ -91,7 +91,68 @@ spec:
                       type: object
                       x-kubernetes-preserve-unknown-fields: true
                     type: array
+                  integrationKit:
+                    description: 'ObjectReference contains enough information to let
+                      you inspect or modify the referred object. --- New uses of this
+                      type are discouraged because of difficulty describing its usage
+                      when embedded in APIs.  1. Ignored fields.  It includes many
+                      fields which are not generally honored.  For instance, ResourceVersion
+                      and FieldPath are both very rarely valid in actual usage.  2.
+                      Invalid usage help.  It is impossible to add specific help for
+                      individual usage.  In most embedded usages, there are particular     restrictions
+                      like, "must refer only to types A and B" or "UID not honored"
+                      or "name must be restricted".     Those cannot be well described
+                      when embedded.  3. Inconsistent validation.  Because the usages
+                      are different, the validation rules are different by usage,
+                      which makes it hard for users to predict what will happen.  4.
+                      The fields are both imprecise and overly precise.  Kind is not
+                      a precise mapping to a URL. This can produce ambiguity     during
+                      interpretation and require a REST mapping.  In most cases, the
+                      dependency is on the group,resource tuple     and the version
+                      of the actual struct is irrelevant.  5. We cannot easily change
+                      it.  Because this type is embedded in many locations, updates
+                      to this type     will affect numerous schemas.  Don''t make
+                      new APIs embed an underspecified API type they do not control.
+                      Instead of using this type, create a locally provided and used
+                      type that is well-focused on your reference. For example, ServiceReferences
+                      for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
+                      .'
+                    properties:
+                      apiVersion:
+                        description: API version of the referent.
+                        type: string
+                      fieldPath:
+                        description: 'If referring to a piece of an object instead
+                          of an entire object, this string should contain a valid
+                          JSON/Go field access statement, such as desiredState.manifest.containers[2].
+                          For example, if the object reference is to a container within
+                          a pod, this would take on a value like: "spec.containers{name}"
+                          (where "name" refers to the name of the container that triggered
+                          the event) or if no container name is specified "spec.containers[2]"
+                          (container with index 2 in this pod). This syntax is chosen
+                          only to have some well-defined way of referencing a part
+                          of an object. TODO: this design is not final and this field
+                          is subject to change in the future.'
+                        type: string
+                      kind:
+                        description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+                        type: string
+                      name:
+                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+                        type: string
+                      namespace:
+                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
+                        type: string
+                      resourceVersion:
+                        description: 'Specific resourceVersion to which this reference
+                          is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
+                        type: string
+                      uid:
+                        description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
+                        type: string
+                    type: object
                   kit:
+                    description: 'Deprecated: use the IntegrationKit field'
                     type: string
                   profile:
                     description: TraitProfile represents lists of traits that are
diff --git a/deploy/camel-catalog-1.6.0.yaml b/deploy/camel-catalog-1.6.0.yaml
index e1051d0..2f0f7b1 100644
--- a/deploy/camel-catalog-1.6.0.yaml
+++ b/deploy/camel-catalog-1.6.0.yaml
@@ -20,9 +20,9 @@ kind: CamelCatalog
 metadata:
   name: camel-catalog-1.6.0
   labels:
-    camel.apache.org/catalog.loader.version: 3.7.0
-    camel.apache.org/runtime.version: 1.6.0
     camel.apache.org/catalog.version: 3.7.0
+    camel.apache.org/runtime.version: 1.6.0
+    camel.apache.org/catalog.loader.version: 3.7.0
     app: camel-k
 spec:
   runtime:
@@ -30,1415 +30,1352 @@ spec:
     provider: quarkus
     applicationClass: io.quarkus.runner.GeneratedMain
     metadata:
-      camel-quarkus.version: 1.5.0
       camel.version: 3.7.0
+      camel-quarkus.version: 1.5.0
       quarkus.version: 1.10.3.Final
     dependencies:
     - groupId: org.apache.camel.k
       artifactId: camel-k-runtime
     capabilities:
-      rest:
+      health:
         dependencies:
         - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-platform-http
+          artifactId: camel-quarkus-microprofile-health
+      platform-http:
+        dependencies:
         - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-rest
+          artifactId: camel-quarkus-platform-http
       cron:
         dependencies:
         - groupId: org.apache.camel.k
           artifactId: camel-k-cron
-      platform-http:
+      rest:
         dependencies:
         - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-platform-http
-      health:
-        dependencies:
+          artifactId: camel-quarkus-rest
         - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-microprofile-health
-      circuit-breaker:
+          artifactId: camel-quarkus-platform-http
+      tracing:
         dependencies:
         - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-microprofile-fault-tolerance
+          artifactId: camel-quarkus-opentracing
       master:
         dependencies:
         - groupId: org.apache.camel.k
           artifactId: camel-k-master
-      tracing:
+      circuit-breaker:
         dependencies:
         - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-opentracing
+          artifactId: camel-quarkus-microprofile-fault-tolerance
   artifacts:
-    camel-quarkus-ipfs:
+    camel-quarkus-flink:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ipfs
+      artifactId: camel-quarkus-flink
       schemes:
-      - id: ipfs
+      - id: flink
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ipfs.IPFSComponent
-    camel-quarkus-grpc:
+      - org.apache.camel.component.flink.FlinkComponent
+    camel-quarkus-amqp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-grpc
+      artifactId: camel-quarkus-amqp
       schemes:
-      - id: grpc
-        http: true
+      - id: amqp
+        http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.grpc.GrpcComponent
-    camel-quarkus-servicenow:
+      - org.apache.camel.component.amqp.AMQPComponent
+    camel-quarkus-guava-eventbus:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-servicenow
+      artifactId: camel-quarkus-guava-eventbus
       schemes:
-      - id: servicenow
+      - id: guava-eventbus
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.servicenow.ServiceNowComponent
-    camel-quarkus-sap-netweaver:
+      - org.apache.camel.component.guava.eventbus.GuavaEventBusComponent
+    camel-quarkus-pulsar:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sap-netweaver
+      artifactId: camel-quarkus-pulsar
       schemes:
-      - id: sap-netweaver
+      - id: pulsar
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sap.netweaver.NetWeaverComponent
-    camel-quarkus-aws-sdb:
+      - org.apache.camel.component.pulsar.PulsarComponent
+    camel-quarkus-jpa:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sdb
+      artifactId: camel-quarkus-jpa
       schemes:
-      - id: aws-sdb
+      - id: jpa
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.sdb.SdbComponent
-    camel-quarkus-hbase:
+      - org.apache.camel.component.jpa.JpaComponent
+    camel-quarkus-aws2-ddb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hbase
+      artifactId: camel-quarkus-aws2-ddb
       schemes:
-      - id: hbase
+      - id: aws2-ddb
+        http: false
+        passive: false
+      - id: aws2-ddbstream
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.hbase.HBaseComponent
-    camel-quarkus-yammer:
+      - org.apache.camel.component.aws2.ddb.Ddb2Component
+      - org.apache.camel.component.aws2.ddbstream.Ddb2StreamComponent
+    camel-quarkus-mock:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-yammer
+      artifactId: camel-quarkus-mock
       schemes:
-      - id: yammer
+      - id: mock
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.mock.MockComponent
+    camel-quarkus-iec60870:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-iec60870
+      schemes:
+      - id: iec60870-server
+        http: false
+        passive: false
+      - id: iec60870-client
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.yammer.YammerComponent
-    camel-quarkus-jgroups:
+      - org.apache.camel.component.iec60870.client.ClientComponent
+      - org.apache.camel.component.iec60870.server.ServerComponent
+    camel-quarkus-weka:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jgroups
+      artifactId: camel-quarkus-weka
       schemes:
-      - id: jgroups
+      - id: weka
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jgroups.JGroupsComponent
-    camel-quarkus-dataformat:
+      - org.apache.camel.component.weka.WekaComponent
+    camel-quarkus-controlbus:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dataformat
+      artifactId: camel-quarkus-controlbus
       schemes:
-      - id: dataformat
+      - id: controlbus
         http: false
         passive: true
       javaTypes:
-      - org.apache.camel.component.dataformat.DataFormatComponent
-    camel-quarkus-jing:
+      - org.apache.camel.component.controlbus.ControlBusComponent
+    camel-quarkus-vertx:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jing
+      artifactId: camel-quarkus-vertx
       schemes:
-      - id: jing
+      - id: vertx
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.validator.jing.JingComponent
-    camel-quarkus-jaxb:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jaxb
-      dataformats:
-      - jaxb
-      javaTypes:
-      - org.apache.camel.converter.jaxb.JaxbDataFormat
-    camel-quarkus-scheduler:
+      - org.apache.camel.component.vertx.VertxComponent
+    camel-quarkus-jdbc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-scheduler
+      artifactId: camel-quarkus-jdbc
       schemes:
-      - id: scheduler
+      - id: jdbc
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.scheduler.SchedulerComponent
-    camel-quarkus-weather:
+      - org.apache.camel.component.jdbc.JdbcComponent
+    camel-quarkus-consul:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-weather
+      artifactId: camel-quarkus-consul
       schemes:
-      - id: weather
+      - id: consul
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.weather.WeatherComponent
-    camel-quarkus-aws2-eks:
+      - org.apache.camel.component.consul.ConsulComponent
+    camel-quarkus-ognl:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-eks
+      artifactId: camel-quarkus-ognl
+      languages:
+      - ognl
+      javaTypes:
+      - org.apache.camel.language.ognl.OgnlLanguage
+    camel-quarkus-facebook:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-facebook
       schemes:
-      - id: aws2-eks
+      - id: facebook
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.eks.EKS2Component
-    camel-quarkus-jsonapi:
+      - org.apache.camel.component.facebook.FacebookComponent
+    camel-quarkus-xpath:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsonapi
-      dataformats:
-      - jsonApi
+      artifactId: camel-quarkus-xpath
+      languages:
+      - xpath
       javaTypes:
-      - org.apache.camel.component.jsonapi.JsonApiDataFormat
-    camel-quarkus-iota:
+      - org.apache.camel.language.xpath.XPathLanguage
+    camel-quarkus-nsq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-iota
+      artifactId: camel-quarkus-nsq
       schemes:
-      - id: iota
+      - id: nsq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.iota.IOTAComponent
-    camel-quarkus-jt400:
+      - org.apache.camel.component.nsq.NsqComponent
+    camel-quarkus-jsonb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jt400
+      artifactId: camel-quarkus-jsonb
+      dataformats:
+      - json-jsonb
+      javaTypes:
+      - org.apache.camel.component.jsonb.JsonbDataFormat
+    camel-quarkus-aws2-sns:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws2-sns
       schemes:
-      - id: jt400
+      - id: aws2-sns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jt400.Jt400Component
-    camel-quarkus-aws2-sqs:
+      - org.apache.camel.component.aws2.sns.Sns2Component
+    camel-quarkus-mvel:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-sqs
+      artifactId: camel-quarkus-mvel
       schemes:
-      - id: aws2-sqs
+      - id: mvel
         http: false
         passive: false
+      languages:
+      - mvel
       javaTypes:
-      - org.apache.camel.component.aws2.sqs.Sqs2Component
-    camel-quarkus-stub:
+      - org.apache.camel.component.mvel.MvelComponent
+      - org.apache.camel.language.mvel.MvelLanguage
+    camel-quarkus-univocity-parsers:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stub
+      artifactId: camel-quarkus-univocity-parsers
+      dataformats:
+      - univocity-tsv
+      - univocity-fixed
+      - univocity-csv
+      javaTypes:
+      - org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat
+      - org.apache.camel.dataformat.univocity.UniVocityTsvDataFormat
+      - org.apache.camel.dataformat.univocity.UniVocityFixedWidthDataFormat
+    camel-quarkus-ref:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-ref
       schemes:
-      - id: stub
+      - id: ref
         http: false
         passive: true
       javaTypes:
-      - org.apache.camel.component.stub.StubComponent
-    camel-quarkus-pubnub:
+      - org.apache.camel.component.ref.RefComponent
+    camel-quarkus-lzf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pubnub
-      schemes:
-      - id: pubnub
-        http: false
-        passive: false
+      artifactId: camel-quarkus-lzf
+      dataformats:
+      - lzf
       javaTypes:
-      - org.apache.camel.component.pubnub.PubNubComponent
-    camel-quarkus-aws-swf:
+      - org.apache.camel.dataformat.lzf.LZFDataFormat
+    camel-quarkus-paho:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-swf
+      artifactId: camel-quarkus-paho
       schemes:
-      - id: aws-swf
+      - id: paho
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.swf.SWFComponent
-    camel-quarkus-twitter:
+      - org.apache.camel.component.paho.PahoComponent
+    camel-quarkus-vm:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-twitter
+      artifactId: camel-quarkus-vm
       schemes:
-      - id: twitter-directmessage
+      - id: vm
         http: false
-        passive: false
-      - id: twitter-timeline
-        http: false
-        passive: false
-      - id: twitter-search
-        http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent
-      - org.apache.camel.component.twitter.search.TwitterSearchComponent
-      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
-    camel-quarkus-aws2-kinesis:
+      - org.apache.camel.component.vm.VmComponent
+    camel-quarkus-bindy:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-kinesis
-      schemes:
-      - id: aws2-kinesis-firehose
-        http: false
-        passive: false
-      - id: aws2-kinesis
-        http: false
-        passive: false
+      artifactId: camel-quarkus-bindy
+      dataformats:
+      - bindy-kvp
+      - bindy-csv
+      - bindy-fixed
       javaTypes:
-      - org.apache.camel.component.aws2.firehose.KinesisFirehose2Component
-      - org.apache.camel.component.aws2.kinesis.Kinesis2Component
-    camel-quarkus-ganglia:
+      - org.apache.camel.dataformat.bindy.fixed.BindyFixedLengthDataFormat
+      - org.apache.camel.dataformat.bindy.kvp.BindyKeyValuePairDataFormat
+      - org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat
+    camel-quarkus-jslt:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ganglia
+      artifactId: camel-quarkus-jslt
       schemes:
-      - id: ganglia
+      - id: jslt
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ganglia.GangliaComponent
-    camel-quarkus-telegram:
+      - org.apache.camel.component.jslt.JsltComponent
+    camel-quarkus-apns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-telegram
+      artifactId: camel-quarkus-apns
       schemes:
-      - id: telegram
+      - id: apns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.telegram.TelegramComponent
-    camel-quarkus-http:
+      - org.apache.camel.component.apns.ApnsComponent
+    camel-quarkus-optaplanner:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-http
+      artifactId: camel-quarkus-optaplanner
       schemes:
-      - id: http
-        http: false
-        passive: false
-      - id: https
+      - id: optaplanner
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.http.HttpComponent
-    camel-quarkus-jolt:
+      - org.apache.camel.component.optaplanner.OptaPlannerComponent
+    camel-quarkus-xstream:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jolt
+      artifactId: camel-quarkus-xstream
+      dataformats:
+      - json-xstream
+      - xstream
+      javaTypes:
+      - org.apache.camel.dataformat.xstream.XStreamDataFormat
+      - org.apache.camel.dataformat.xstream.JsonDataFormat
+    camel-quarkus-debezium-mongodb:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-debezium-mongodb
       schemes:
-      - id: jolt
+      - id: debezium-mongodb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jolt.JoltComponent
-    camel-quarkus-netty:
+      - org.apache.camel.component.debezium.DebeziumMongodbComponent
+    camel-quarkus-jacksonxml:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-netty
+      artifactId: camel-quarkus-jacksonxml
+      dataformats:
+      - jacksonxml
+      javaTypes:
+      - org.apache.camel.component.jacksonxml.JacksonXMLDataFormat
+    camel-quarkus-zookeeper-master:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-zookeeper-master
       schemes:
-      - id: netty
+      - id: zookeeper-master
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.netty.NettyComponent
-    camel-quarkus-micrometer:
+      - org.apache.camel.component.zookeepermaster.MasterComponent
+    camel-k-knative:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-knative
+      schemes:
+      - id: knative
+        http: true
+        passive: false
+        producer:
+          dependencies:
+          - groupId: org.apache.camel.k
+            artifactId: camel-k-knative-producer
+        consumer:
+          dependencies:
+          - groupId: org.apache.camel.k
+            artifactId: camel-k-knative-consumer
+    camel-quarkus-language:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-micrometer
+      artifactId: camel-quarkus-language
       schemes:
-      - id: micrometer
+      - id: language
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.micrometer.MicrometerComponent
-    camel-quarkus-elsql:
+      - org.apache.camel.component.language.LanguageComponent
+    camel-quarkus-schematron:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-elsql
+      artifactId: camel-quarkus-schematron
       schemes:
-      - id: elsql
+      - id: schematron
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.elsql.ElsqlComponent
-    camel-quarkus-cbor:
+      - org.apache.camel.component.schematron.SchematronComponent
+    camel-quarkus-asn1:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cbor
+      artifactId: camel-quarkus-asn1
       dataformats:
-      - cbor
+      - asn1
       javaTypes:
-      - org.apache.camel.component.cbor.CBORDataFormat
-    camel-quarkus-mybatis:
+      - org.apache.camel.dataformat.asn1.ASN1DataFormat
+    camel-quarkus-aws2-cw:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mybatis
+      artifactId: camel-quarkus-aws2-cw
       schemes:
-      - id: mybatis
-        http: false
-        passive: false
-      - id: mybatis-bean
+      - id: aws2-cw
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mybatis.MyBatisBeanComponent
-      - org.apache.camel.component.mybatis.MyBatisComponent
-    camel-quarkus-file:
+      - org.apache.camel.component.aws2.cw.Cw2Component
+    camel-quarkus-sip:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-file
+      artifactId: camel-quarkus-sip
       schemes:
-      - id: file
+      - id: sips
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.file.FileComponent
-    camel-quarkus-robotframework:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-robotframework
-      schemes:
-      - id: robotframework
+      - id: sip
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.robotframework.RobotFrameworkComponent
-    camel-quarkus-file-watch:
+      - org.apache.camel.component.sip.SipComponent
+    camel-quarkus-thrift:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-file-watch
+      artifactId: camel-quarkus-thrift
       schemes:
-      - id: file-watch
+      - id: thrift
         http: false
         passive: false
+      dataformats:
+      - thrift
       javaTypes:
-      - org.apache.camel.component.file.watch.FileWatchComponent
-    camel-quarkus-rest-openapi:
+      - org.apache.camel.dataformat.thrift.ThriftDataFormat
+      - org.apache.camel.component.thrift.ThriftComponent
+    camel-quarkus-jms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rest-openapi
+      artifactId: camel-quarkus-jms
       schemes:
-      - id: rest-openapi
+      - id: jms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.rest.openapi.RestOpenApiComponent
-    camel-quarkus-jclouds:
+      - org.apache.camel.component.jms.JmsComponent
+    camel-quarkus-pg-replication-slot:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jclouds
+      artifactId: camel-quarkus-pg-replication-slot
       schemes:
-      - id: jclouds
+      - id: pg-replication-slot
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jclouds.JcloudsComponent
-    camel-quarkus-quickfix:
+      - org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent
+    camel-quarkus-quartz:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-quickfix
+      artifactId: camel-quarkus-quartz
       schemes:
-      - id: quickfix
+      - id: quartz
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.quickfixj.QuickfixjComponent
-    camel-quarkus-solr:
+      - org.apache.camel.component.quartz.QuartzComponent
+    camel-quarkus-etcd:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-solr
+      artifactId: camel-quarkus-etcd
       schemes:
-      - id: solr
+      - id: etcd-keys
         http: false
         passive: false
-      - id: solrs
+      - id: etcd-watch
         http: false
         passive: false
-      - id: solrCloud
+      - id: etcd-stats
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.solr.SolrComponent
-    camel-quarkus-johnzon:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-johnzon
-      dataformats:
-      - json-johnzon
-      javaTypes:
-      - org.apache.camel.component.johnzon.JohnzonDataFormat
-    camel-quarkus-fop:
+      - org.apache.camel.component.etcd.EtcdWatchComponent
+      - org.apache.camel.component.etcd.EtcdKeysComponent
+      - org.apache.camel.component.etcd.EtcdStatsComponent
+    camel-quarkus-as2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fop
+      artifactId: camel-quarkus-as2
       schemes:
-      - id: fop
+      - id: as2
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.fop.FopComponent
-    camel-quarkus-saga:
+      - org.apache.camel.component.as2.AS2Component
+    camel-quarkus-atmos:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-saga
+      artifactId: camel-quarkus-atmos
       schemes:
-      - id: saga
+      - id: atmos
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.saga.SagaComponent
-    camel-quarkus-beanstalk:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-beanstalk
+      - org.apache.camel.component.atmos.AtmosComponent
+    camel-k-kamelet-reify:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-kamelet-reify
       schemes:
-      - id: beanstalk
+      - id: wrap
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.beanstalk.BeanstalkComponent
-    camel-quarkus-xslt:
+    camel-quarkus-xchange:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xslt
+      artifactId: camel-quarkus-xchange
       schemes:
-      - id: xslt
+      - id: xchange
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xslt.XsltComponent
-    camel-quarkus-rest:
+      - org.apache.camel.component.xchange.XChangeComponent
+    camel-quarkus-ldap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rest
+      artifactId: camel-quarkus-ldap
       schemes:
-      - id: rest-api
+      - id: ldap
         http: false
         passive: false
-      - id: rest
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.rest.RestApiComponent
-      - org.apache.camel.component.rest.RestComponent
-    camel-quarkus-groovy:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-groovy
-      languages:
-      - groovy
       javaTypes:
-      - org.apache.camel.language.groovy.GroovyLanguage
-    camel-quarkus-xmlsecurity:
+      - org.apache.camel.component.ldap.LdapComponent
+    camel-quarkus-sjms2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xmlsecurity
+      artifactId: camel-quarkus-sjms2
       schemes:
-      - id: xmlsecurity-sign
-        http: false
-        passive: false
-      - id: xmlsecurity-verify
+      - id: sjms2
         http: false
         passive: false
-      dataformats:
-      - secureXML
       javaTypes:
-      - org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat
-      - org.apache.camel.component.xmlsecurity.XmlVerifierComponent
-      - org.apache.camel.component.xmlsecurity.XmlSignerComponent
-    camel-quarkus-azure:
+      - org.apache.camel.component.sjms2.Sjms2Component
+    camel-quarkus-zookeeper:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-azure
+      artifactId: camel-quarkus-zookeeper
       schemes:
-      - id: azure-queue
-        http: false
-        passive: false
-      - id: azure-blob
+      - id: zookeeper
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.azure.blob.BlobServiceComponent
-      - org.apache.camel.component.azure.queue.QueueServiceComponent
-    camel-quarkus-aws-translate:
+      - org.apache.camel.component.zookeeper.ZooKeeperComponent
+    camel-quarkus-olingo4:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-translate
+      artifactId: camel-quarkus-olingo4
       schemes:
-      - id: aws-translate
+      - id: olingo4
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.translate.TranslateComponent
-    camel-quarkus-chatscript:
+      - org.apache.camel.component.olingo4.Olingo4Component
+    camel-quarkus-aws-sqs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-chatscript
+      artifactId: camel-quarkus-aws-sqs
       schemes:
-      - id: chatscript
+      - id: aws-sqs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.chatscript.ChatScriptComponent
-    camel-quarkus-rabbitmq:
+      - org.apache.camel.component.aws.sqs.SqsComponent
+    camel-quarkus-braintree:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rabbitmq
+      artifactId: camel-quarkus-braintree
       schemes:
-      - id: rabbitmq
+      - id: braintree
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.rabbitmq.RabbitMQComponent
-    camel-quarkus-reactive-streams:
+      - org.apache.camel.component.braintree.BraintreeComponent
+    camel-quarkus-zendesk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-reactive-streams
+      artifactId: camel-quarkus-zendesk
       schemes:
-      - id: reactive-streams
+      - id: zendesk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
-    camel-quarkus-azure-storage-queue:
+      - org.apache.camel.component.zendesk.ZendeskComponent
+    camel-quarkus-twilio:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-azure-storage-queue
+      artifactId: camel-quarkus-twilio
       schemes:
-      - id: azure-storage-queue
+      - id: twilio
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.azure.storage.queue.QueueComponent
-    camel-quarkus-cron:
+      - org.apache.camel.component.twilio.TwilioComponent
+    camel-quarkus-activemq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cron
+      artifactId: camel-quarkus-activemq
       schemes:
-      - id: cron
+      - id: activemq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cron.CronComponent
-    camel-quarkus-mongodb-gridfs:
+      - org.apache.camel.component.activemq.ActiveMQComponent
+    camel-quarkus-nitrite:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mongodb-gridfs
+      artifactId: camel-quarkus-nitrite
       schemes:
-      - id: mongodb-gridfs
+      - id: nitrite
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mongodb.gridfs.GridFsComponent
-    camel-quarkus-ignite:
+      - org.apache.camel.component.nitrite.NitriteComponent
+    camel-quarkus-seda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ignite
+      artifactId: camel-quarkus-seda
       schemes:
-      - id: ignite-set
-        http: false
-        passive: false
-      - id: ignite-queue
-        http: false
-        passive: false
-      - id: ignite-events
-        http: false
-        passive: false
-      - id: ignite-messaging
-        http: false
-        passive: false
-      - id: ignite-compute
+      - id: seda
         http: false
-        passive: false
-      - id: ignite-cache
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.seda.SedaComponent
+    camel-quarkus-aws-eks:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-eks
+      schemes:
+      - id: aws-eks
         http: false
         passive: false
-      - id: ignite-idgen
+      javaTypes:
+      - org.apache.camel.component.aws.eks.EKSComponent
+    camel-quarkus-dozer:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-dozer
+      schemes:
+      - id: dozer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ignite.queue.IgniteQueueComponent
-      - org.apache.camel.component.ignite.messaging.IgniteMessagingComponent
-      - org.apache.camel.component.ignite.set.IgniteSetComponent
-      - org.apache.camel.component.ignite.idgen.IgniteIdGenComponent
-      - org.apache.camel.component.ignite.cache.IgniteCacheComponent
-      - org.apache.camel.component.ignite.events.IgniteEventsComponent
-      - org.apache.camel.component.ignite.compute.IgniteComputeComponent
-    camel-quarkus-web3j:
+      - org.apache.camel.component.dozer.DozerComponent
+    camel-quarkus-splunk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-web3j
+      artifactId: camel-quarkus-splunk
       schemes:
-      - id: web3j
+      - id: splunk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.web3j.Web3jComponent
-    camel-quarkus-aws-ec2:
+      - org.apache.camel.component.splunk.SplunkComponent
+    camel-quarkus-google-drive:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-ec2
+      artifactId: camel-quarkus-google-drive
       schemes:
-      - id: aws-ec2
+      - id: google-drive
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.ec2.EC2Component
-    camel-quarkus-ldif:
+      - org.apache.camel.component.google.drive.GoogleDriveComponent
+    camel-quarkus-sjms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ldif
+      artifactId: camel-quarkus-sjms
       schemes:
-      - id: ldif
+      - id: sjms
+        http: false
+        passive: false
+      - id: sjms-batch
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ldif.LdifComponent
-    camel-quarkus-xml-jaxp:
+      - org.apache.camel.component.sjms.batch.SjmsBatchComponent
+      - org.apache.camel.component.sjms.SjmsComponent
+    camel-quarkus-ical:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xml-jaxp
-      languages:
-      - xtokenize
+      artifactId: camel-quarkus-ical
+      dataformats:
+      - ical
       javaTypes:
-      - org.apache.camel.language.xtokenizer.XMLTokenizeLanguage
-    camel-quarkus-corda:
+      - org.apache.camel.component.ical.ICalDataFormat
+    camel-quarkus-cassandraql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-corda
+      artifactId: camel-quarkus-cassandraql
       schemes:
-      - id: corda
+      - id: cql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.corda.CordaComponent
-    camel-quarkus-github:
+      - org.apache.camel.component.cassandra.CassandraComponent
+    camel-quarkus-jgroups-raft:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-github
+      artifactId: camel-quarkus-jgroups-raft
       schemes:
-      - id: github
+      - id: jgroups-raft
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.github.GitHubComponent
-    camel-quarkus-aws2-eventbridge:
+      - org.apache.camel.component.jgroups.raft.JGroupsRaftComponent
+    camel-quarkus-mongodb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-eventbridge
+      artifactId: camel-quarkus-mongodb
       schemes:
-      - id: aws2-eventbridge
+      - id: mongodb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.eventbridge.EventbridgeComponent
-    camel-quarkus-xmpp:
+      - org.apache.camel.component.mongodb.MongoDbComponent
+    camel-quarkus-dns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xmpp
+      artifactId: camel-quarkus-dns
       schemes:
-      - id: xmpp
+      - id: dns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xmpp.XmppComponent
-    camel-quarkus-aws-lambda:
+      - org.apache.camel.component.dns.DnsComponent
+    camel-k-webhook:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-webhook
+      schemes:
+      - id: webhook
+        http: true
+        passive: true
+    camel-quarkus-chunk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-lambda
+      artifactId: camel-quarkus-chunk
       schemes:
-      - id: aws-lambda
+      - id: chunk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.lambda.LambdaComponent
-    camel-quarkus-minio:
+      - org.apache.camel.component.chunk.ChunkComponent
+    camel-quarkus-cometd:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-minio
+      artifactId: camel-quarkus-cometd
       schemes:
-      - id: minio
+      - id: cometds
+        http: false
+        passive: false
+      - id: cometd
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.minio.MinioComponent
-    camel-quarkus-atlasmap:
+      - org.apache.camel.component.cometd.CometdComponent
+    camel-quarkus-drill:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atlasmap
+      artifactId: camel-quarkus-drill
       schemes:
-      - id: atlasmap
+      - id: drill
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.atlasmap.AtlasMapComponent
-    camel-quarkus-aws2-sts:
+      - org.apache.camel.component.drill.DrillComponent
+    camel-quarkus-soroush:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-sts
+      artifactId: camel-quarkus-soroush
       schemes:
-      - id: aws2-sts
+      - id: soroush
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.sts.STS2Component
-    camel-quarkus-tarfile:
+      - org.apache.camel.component.soroushbot.component.SoroushBotComponent
+    camel-quarkus-atom:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tarfile
-      dataformats:
-      - tarfile
-      javaTypes:
-      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
-    camel-quarkus-avro:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-avro
-      dataformats:
-      - avro
-      javaTypes:
-      - org.apache.camel.dataformat.avro.AvroDataFormat
-    camel-quarkus-msv:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-msv
+      artifactId: camel-quarkus-atom
       schemes:
-      - id: msv
+      - id: atom
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.validator.msv.MsvComponent
-    camel-quarkus-spark:
+      - org.apache.camel.component.atom.AtomComponent
+    camel-quarkus-pgevent:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-spark
+      artifactId: camel-quarkus-pgevent
       schemes:
-      - id: spark
+      - id: pgevent
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.spark.SparkComponent
-    camel-quarkus-saxon:
+      - org.apache.camel.component.pgevent.PgEventComponent
+    camel-quarkus-geocoder:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-saxon
+      artifactId: camel-quarkus-geocoder
       schemes:
-      - id: xquery
+      - id: geocoder
         http: false
         passive: false
-      languages:
-      - xquery
       javaTypes:
-      - org.apache.camel.component.xquery.XQueryComponent
-      - org.apache.camel.language.xquery.XQueryLanguage
-    camel-quarkus-caffeine:
+      - org.apache.camel.component.geocoder.GeoCoderComponent
+    camel-quarkus-gson:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-caffeine
-      schemes:
-      - id: caffeine-loadcache
-        http: false
-        passive: false
-      - id: caffeine-cache
-        http: false
-        passive: false
+      artifactId: camel-quarkus-gson
+      dataformats:
+      - json-gson
       javaTypes:
-      - org.apache.camel.component.caffeine.cache.CaffeineCacheComponent
-      - org.apache.camel.component.caffeine.load.CaffeineLoadCacheComponent
-    camel-quarkus-elasticsearch-rest:
+      - org.apache.camel.component.gson.GsonDataFormat
+    camel-quarkus-rss:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-elasticsearch-rest
+      artifactId: camel-quarkus-rss
       schemes:
-      - id: elasticsearch-rest
+      - id: rss
         http: false
         passive: false
+      dataformats:
+      - rss
       javaTypes:
-      - org.apache.camel.component.elasticsearch.ElasticsearchComponent
-    camel-quarkus-bean-validator:
+      - org.apache.camel.dataformat.rss.RssDataFormat
+      - org.apache.camel.component.rss.RssComponent
+    camel-quarkus-exec:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bean-validator
+      artifactId: camel-quarkus-exec
       schemes:
-      - id: bean-validator
+      - id: exec
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.bean.validator.BeanValidatorComponent
-    camel-quarkus-jira:
+      - org.apache.camel.component.exec.ExecComponent
+    camel-quarkus-base64:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jira
+      artifactId: camel-quarkus-base64
+      dataformats:
+      - base64
+      javaTypes:
+      - org.apache.camel.dataformat.base64.Base64DataFormat
+    camel-quarkus-infinispan:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-infinispan
       schemes:
-      - id: jira
+      - id: infinispan
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jira.JiraComponent
-    camel-quarkus-sql:
+      - org.apache.camel.component.infinispan.InfinispanComponent
+    camel-quarkus-nats:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sql
+      artifactId: camel-quarkus-nats
       schemes:
-      - id: sql
-        http: false
-        passive: false
-      - id: sql-stored
+      - id: nats
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sql.stored.SqlStoredComponent
-      - org.apache.camel.component.sql.SqlComponent
-    camel-quarkus-ehcache:
+      - org.apache.camel.component.nats.NatsComponent
+    camel-quarkus-microprofile-metrics:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ehcache
+      artifactId: camel-quarkus-microprofile-metrics
       schemes:
-      - id: ehcache
+      - id: microprofile-metrics
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ehcache.EhcacheComponent
-    camel-quarkus-aws2-iam:
+      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
+    camel-quarkus-asterisk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-iam
+      artifactId: camel-quarkus-asterisk
       schemes:
-      - id: aws2-iam
+      - id: asterisk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.iam.IAM2Component
-    camel-quarkus-velocity:
+      - org.apache.camel.component.asterisk.AsteriskComponent
+    camel-quarkus-azure-storage-blob:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-velocity
+      artifactId: camel-quarkus-azure-storage-blob
       schemes:
-      - id: velocity
+      - id: azure-storage-blob
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.velocity.VelocityComponent
-    camel-quarkus-core:
+      - org.apache.camel.component.azure.storage.blob.BlobComponent
+    camel-quarkus-protobuf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-core
-      languages:
-      - ref
-      - constant
-      - csimple
-      - exchangeProperty
-      - tokenize
-      - file
-      - header
-      - simple
+      artifactId: camel-quarkus-protobuf
+      dataformats:
+      - protobuf
       javaTypes:
-      - org.apache.camel.language.ref.RefLanguage
-      - org.apache.camel.language.simple.FileLanguage
-      - org.apache.camel.language.csimple.CSimpleLanguage
-      - org.apache.camel.language.constant.ConstantLanguage
-      - org.apache.camel.language.simple.SimpleLanguage
-      - org.apache.camel.language.header.HeaderLanguage
-      - org.apache.camel.language.property.ExchangePropertyLanguage
-      - org.apache.camel.language.tokenizer.TokenizeLanguage
-    camel-quarkus-debezium-mysql:
+      - org.apache.camel.dataformat.protobuf.ProtobufDataFormat
+    camel-quarkus-tagsoup:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-mysql
-      schemes:
-      - id: debezium-mysql
-        http: false
-        passive: false
+      artifactId: camel-quarkus-tagsoup
+      dataformats:
+      - tidyMarkup
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMySqlComponent
-    camel-quarkus-jcr:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jcr
+      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
+    camel-k-kamelet:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-kamelet
       schemes:
-      - id: jcr
+      - id: kamelet
         http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jcr.JcrComponent
-    camel-quarkus-hdfs:
+        passive: true
+    camel-quarkus-influxdb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hdfs
+      artifactId: camel-quarkus-influxdb
       schemes:
-      - id: hdfs
+      - id: influxdb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.hdfs.HdfsComponent
-    camel-quarkus-kudu:
+      - org.apache.camel.component.influxdb.InfluxDbComponent
+    camel-quarkus-netty-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-kudu
+      artifactId: camel-quarkus-netty-http
       schemes:
-      - id: kudu
-        http: false
+      - id: netty-http
+        http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.kudu.KuduComponent
-    camel-quarkus-jooq:
+      - org.apache.camel.component.netty.http.NettyHttpComponent
+    camel-quarkus-aws2-ecs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jooq
+      artifactId: camel-quarkus-aws2-ecs
       schemes:
-      - id: jooq
+      - id: aws2-ecs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jooq.JooqComponent
-    camel-quarkus-jsonpath:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsonpath
-      languages:
-      - jsonpath
-      javaTypes:
-      - org.apache.camel.jsonpath.JsonPathLanguage
-    camel-quarkus-hl7:
+      - org.apache.camel.component.aws2.ecs.ECS2Component
+    camel-quarkus-zipfile:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hl7
-      languages:
-      - hl7terser
+      artifactId: camel-quarkus-zipfile
       dataformats:
-      - hl7
+      - zipfile
       javaTypes:
-      - org.apache.camel.component.hl7.Hl7TerserLanguage
-      - org.apache.camel.component.hl7.HL7DataFormat
-    camel-quarkus-disruptor:
+      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
+    camel-quarkus-flatpack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-disruptor
+      artifactId: camel-quarkus-flatpack
       schemes:
-      - id: disruptor
-        http: false
-        passive: false
-      - id: disruptor-vm
+      - id: flatpack
         http: false
         passive: false
+      dataformats:
+      - flatpack
       javaTypes:
-      - org.apache.camel.component.disruptor.vm.DisruptorVmComponent
-      - org.apache.camel.component.disruptor.DisruptorComponent
-    camel-quarkus-graphql:
+      - org.apache.camel.dataformat.flatpack.FlatpackDataFormat
+      - org.apache.camel.component.flatpack.FlatpackComponent
+    camel-quarkus-slack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-graphql
+      artifactId: camel-quarkus-slack
       schemes:
-      - id: graphql
+      - id: slack
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.graphql.GraphqlComponent
-    camel-quarkus-log:
+      - org.apache.camel.component.slack.SlackComponent
+    camel-quarkus-aws-sns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-log
+      artifactId: camel-quarkus-aws-sns
       schemes:
-      - id: log
+      - id: aws-sns
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.log.LogComponent
-    camel-quarkus-ahc:
+      - org.apache.camel.component.aws.sns.SnsComponent
+    camel-quarkus-couchbase:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ahc
+      artifactId: camel-quarkus-couchbase
       schemes:
-      - id: ahc
-        http: true
+      - id: couchbase
+        http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ahc.AhcComponent
-    camel-quarkus-milo:
+      - org.apache.camel.component.couchbase.CouchbaseComponent
+    camel-quarkus-digitalocean:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-milo
+      artifactId: camel-quarkus-digitalocean
       schemes:
-      - id: milo-server
+      - id: digitalocean
         http: false
         passive: false
-      - id: milo-client
+      javaTypes:
+      - org.apache.camel.component.digitalocean.DigitalOceanComponent
+    camel-quarkus-timer:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-timer
+      schemes:
+      - id: timer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.milo.client.MiloClientComponent
-      - org.apache.camel.component.milo.server.MiloServerComponent
-    camel-quarkus-atomix:
+      - org.apache.camel.component.timer.TimerComponent
+    camel-quarkus-platform-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atomix
+      artifactId: camel-quarkus-platform-http
       schemes:
-      - id: atomix-map
-        http: false
+      - id: platform-http
+        http: true
         passive: false
-      - id: atomix-queue
+      javaTypes:
+      - org.apache.camel.component.platform.http.PlatformHttpComponent
+    camel-quarkus-mail:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-mail
+      schemes:
+      - id: imap
         http: false
         passive: false
-      - id: atomix-set
+      - id: imaps
         http: false
         passive: false
-      - id: atomix-messaging
+      - id: smtp
         http: false
         passive: false
-      - id: atomix-value
+      - id: pop3
         http: false
         passive: false
-      - id: atomix-multimap
+      - id: smtps
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.atomix.client.map.AtomixMapComponent
-      - org.apache.camel.component.atomix.client.multimap.AtomixMultiMapComponent
-      - org.apache.camel.component.atomix.client.value.AtomixValueComponent
-      - org.apache.camel.component.atomix.client.set.AtomixSetComponent
-      - org.apache.camel.component.atomix.client.messaging.AtomixMessagingComponent
-      - org.apache.camel.component.atomix.client.queue.AtomixQueueComponent
-    camel-quarkus-fhir:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fhir
-      schemes:
-      - id: fhir
+      - id: pop3s
         http: false
         passive: false
       dataformats:
-      - fhirXml
-      - fhirJson
-      javaTypes:
-      - org.apache.camel.component.fhir.FhirComponent
-      - org.apache.camel.component.fhir.FhirXmlDataFormat
-      - org.apache.camel.component.fhir.FhirJsonDataFormat
-    camel-quarkus-csv:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-csv
-      dataformats:
-      - csv
-      javaTypes:
-      - org.apache.camel.dataformat.csv.CsvDataFormat
-    camel-quarkus-aws2-kms:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-kms
-      schemes:
-      - id: aws2-kms
-        http: false
-        passive: false
+      - mime-multipart
       javaTypes:
-      - org.apache.camel.component.aws2.kms.KMS2Component
-    camel-quarkus-lucene:
+      - org.apache.camel.component.mail.MailComponent
+      - org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat
+    camel-quarkus-google-bigquery:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-lucene
+      artifactId: camel-quarkus-google-bigquery
       schemes:
-      - id: lucene
+      - id: google-bigquery-sql
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.lucene.LuceneComponent
-    camel-quarkus-splunk-hec:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-splunk-hec
-      schemes:
-      - id: splunk-hec
+      - id: google-bigquery
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.splunkhec.SplunkHECComponent
-    camel-quarkus-aws-ecs:
+      - org.apache.camel.component.google.bigquery.GoogleBigQueryComponent
+      - org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent
+    camel-quarkus-dropbox:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-ecs
+      artifactId: camel-quarkus-dropbox
       schemes:
-      - id: aws-ecs
+      - id: dropbox
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.ecs.ECSComponent
-    camel-quarkus-jbpm:
+      - org.apache.camel.component.dropbox.DropboxComponent
+    camel-quarkus-aws2-s3:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jbpm
+      artifactId: camel-quarkus-aws2-s3
       schemes:
-      - id: jbpm
+      - id: aws2-s3
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jbpm.JBPMComponent
-    camel-quarkus-salesforce:
+      - org.apache.camel.component.aws2.s3.AWS2S3Component
+    camel-quarkus-json-validator:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-salesforce
+      artifactId: camel-quarkus-json-validator
       schemes:
-      - id: salesforce
+      - id: json-validator
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.salesforce.SalesforceComponent
-    camel-quarkus-jcache:
+      - org.apache.camel.component.jsonvalidator.JsonValidatorComponent
+    camel-quarkus-lumberjack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jcache
+      artifactId: camel-quarkus-lumberjack
       schemes:
-      - id: jcache
+      - id: lumberjack
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jcache.JCacheComponent
-    camel-quarkus-vertx-websocket:
+      - org.apache.camel.component.lumberjack.LumberjackComponent
+    camel-quarkus-websocket-jsr356:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vertx-websocket
+      artifactId: camel-quarkus-websocket-jsr356
       schemes:
-      - id: vertx-websocket
+      - id: websocket-jsr356
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.vertx.websocket.VertxWebsocketComponent
-    camel-quarkus-google-calendar:
+      - org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
+    camel-quarkus-google-mail:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-calendar
+      artifactId: camel-quarkus-google-mail
       schemes:
-      - id: google-calendar
+      - id: google-mail-stream
         http: false
         passive: false
-      - id: google-calendar-stream
+      - id: google-mail
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent
-      - org.apache.camel.component.google.calendar.GoogleCalendarComponent
-    camel-quarkus-avro-rpc:
+      - org.apache.camel.component.google.mail.GoogleMailComponent
+      - org.apache.camel.component.google.mail.stream.GoogleMailStreamComponent
+    camel-quarkus-arangodb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-avro-rpc
+      artifactId: camel-quarkus-arangodb
       schemes:
-      - id: avro
+      - id: arangodb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.avro.AvroComponent
-    camel-quarkus-browse:
+      - org.apache.camel.component.arangodb.ArangoDbComponent
+    camel-quarkus-soap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-browse
-      schemes:
-      - id: browse
-        http: false
-        passive: true
+      artifactId: camel-quarkus-soap
+      dataformats:
+      - soapjaxb
       javaTypes:
-      - org.apache.camel.component.browse.BrowseComponent
-    camel-quarkus-stream:
+      - org.apache.camel.dataformat.soap.SoapJaxbDataFormat
+    camel-quarkus-freemarker:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stream
+      artifactId: camel-quarkus-freemarker
       schemes:
-      - id: stream
+      - id: freemarker
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stream.StreamComponent
-    camel-quarkus-kafka:
+      - org.apache.camel.component.freemarker.FreemarkerComponent
+    camel-quarkus-servlet:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-kafka
+      artifactId: camel-quarkus-servlet
       schemes:
-      - id: kafka
-        http: false
+      - id: servlet
+        http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.kafka.KafkaComponent
-    camel-quarkus-xslt-saxon:
+      - org.apache.camel.component.servlet.ServletComponent
+    camel-quarkus-git:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xslt-saxon
+      artifactId: camel-quarkus-git
       schemes:
-      - id: xslt-saxon
+      - id: git
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xslt.saxon.XsltSaxonComponent
-    camel-quarkus-ssh:
+      - org.apache.camel.component.git.GitComponent
+    camel-quarkus-aws-kinesis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ssh
+      artifactId: camel-quarkus-aws-kinesis
       schemes:
-      - id: ssh
+      - id: aws-kinesis-firehose
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.ssh.SshComponent
-    camel-quarkus-tika:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tika
-      schemes:
-      - id: tika
+      - id: aws-kinesis
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.tika.TikaComponent
-    camel-quarkus-coap:
+      - org.apache.camel.component.aws.kinesis.KinesisComponent
+      - org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
+    camel-quarkus-openstack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-coap
+      artifactId: camel-quarkus-openstack
       schemes:
-      - id: coaps+tcp
+      - id: openstack-glance
         http: false
         passive: false
-      - id: coaps
+      - id: openstack-swift
         http: false
         passive: false
-      - id: coap+tcp
+      - id: openstack-neutron
         http: false
         passive: false
-      - id: coap
+      - id: openstack-keystone
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.coap.CoAPComponent
-    camel-quarkus-aws2-mq:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-mq
-      schemes:
-      - id: aws2-mq
+      - id: openstack-cinder
+        http: false
+        passive: false
+      - id: openstack-nova
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.mq.MQ2Component
-    camel-quarkus-beanio:
+      - org.apache.camel.component.openstack.swift.SwiftComponent
+      - org.apache.camel.component.openstack.glance.GlanceComponent
+      - org.apache.camel.component.openstack.neutron.NeutronComponent
+      - org.apache.camel.component.openstack.keystone.KeystoneComponent
+      - org.apache.camel.component.openstack.cinder.CinderComponent
+      - org.apache.camel.component.openstack.nova.NovaComponent
+    camel-quarkus-barcode:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-beanio
+      artifactId: camel-quarkus-barcode
       dataformats:
-      - beanio
+      - barcode
       javaTypes:
-      - org.apache.camel.dataformat.beanio.BeanIODataFormat
-    camel-quarkus-jsch:
+      - org.apache.camel.dataformat.barcode.BarcodeDataFormat
+    camel-quarkus-snmp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsch
+      artifactId: camel-quarkus-snmp
       schemes:
-      - id: scp
+      - id: snmp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.scp.ScpComponent
-    camel-quarkus-irc:
+      - org.apache.camel.component.snmp.SnmpComponent
+    camel-quarkus-aws2-ec2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-irc
+      artifactId: camel-quarkus-aws2-ec2
       schemes:
-      - id: irc
+      - id: aws2-ec2
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.irc.IrcComponent
-    camel-quarkus-mllp:
+      - org.apache.camel.component.aws2.ec2.AWS2EC2Component
+    camel-k-master:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-master
+      schemes:
+      - id: master
+        http: false
+        passive: false
+    camel-quarkus-master:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mllp
+      artifactId: camel-quarkus-master
       schemes:
-      - id: mllp
+      - id: master
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mllp.MllpComponent
-    camel-quarkus-ahc-ws:
+      - org.apache.camel.component.master.MasterComponent
+    camel-quarkus-mustache:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ahc-ws
+      artifactId: camel-quarkus-mustache
       schemes:
-      - id: ahc-wss
+      - id: mustache
         http: false
         passive: false
-      - id: ahc-ws
-        http: true
-        passive: false
       javaTypes:
-      - org.apache.camel.component.ahc.ws.WsComponent
-    camel-quarkus-aws2-translate:
+      - org.apache.camel.component.mustache.MustacheComponent
+    camel-quarkus-djl:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-translate
+      artifactId: camel-quarkus-djl
       schemes:
-      - id: aws2-translate
+      - id: djl
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.translate.Translate2Component
-    camel-quarkus-vertx-http:
+      - org.apache.camel.component.djl.DJLComponent
+    camel-quarkus-bonita:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vertx-http
+      artifactId: camel-quarkus-bonita
       schemes:
-      - id: vertx-http
+      - id: bonita
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.vertx.http.VertxHttpComponent
-    camel-quarkus-wordpress:
+      - org.apache.camel.component.bonita.BonitaComponent
+    camel-quarkus-nagios:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-wordpress
+      artifactId: camel-quarkus-nagios
       schemes:
-      - id: wordpress
+      - id: nagios
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.wordpress.WordpressComponent
-    camel-quarkus-box:
+      - org.apache.camel.component.nagios.NagiosComponent
+    camel-quarkus-crypto:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-box
+      artifactId: camel-quarkus-crypto
       schemes:
-      - id: box
+      - id: crypto
         http: false
         passive: false
+      dataformats:
+      - pgp
+      - crypto
       javaTypes:
-      - org.apache.camel.component.box.BoxComponent
-    camel-quarkus-hazelcast:
+      - org.apache.camel.converter.crypto.CryptoDataFormat
+      - org.apache.camel.converter.crypto.PGPDataFormat
+      - org.apache.camel.component.crypto.DigitalSignatureComponent
+    camel-quarkus-cm-sms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hazelcast
+      artifactId: camel-quarkus-cm-sms
       schemes:
-      - id: hazelcast-multimap
+      - id: cm-sms
         http: false
         passive: false
-      - id: hazelcast-topic
+      javaTypes:
+      - org.apache.camel.component.cm.CMComponent
+    camel-quarkus-aws2-athena:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws2-athena
+      schemes:
+      - id: aws2-athena
         http: false
         passive: false
-      - id: hazelcast-replicatedmap
+      javaTypes:
+      - org.apache.camel.component.aws2.athena.Athena2Component
+    camel-quarkus-kubernetes:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-kubernetes
+      schemes:
+      - id: kubernetes-custom-resources
         http: false
         passive: false
-      - id: hazelcast-atomicvalue
+      - id: openshift-builds
         http: false
         passive: false
-      - id: hazelcast-ringbuffer
+      - id: kubernetes-resources-quota
         http: false
         passive: false
-      - id: hazelcast-instance
+      - id: kubernetes-replication-controllers
         http: false
         passive: false
-      - id: hazelcast-list
+      - id: kubernetes-job
         http: false
         passive: false
-      - id: hazelcast-queue
+      - id: openshift-build-configs
         http: false
         passive: false
-      - id: hazelcast-set
+      - id: kubernetes-service-accounts
         http: false
         passive: false
-      - id: hazelcast-map
+      - id: kubernetes-secrets
         http: false
         passive: false
-      - id: hazelcast-seda
+      - id: kubernetes-services
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.hazelcast.seda.HazelcastSedaComponent
-      - org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapComponent
-      - org.apache.camel.component.hazelcast.set.HazelcastSetComponent
-      - org.apache.camel.component.hazelcast.instance.HazelcastInstanceComponent
-      - org.apache.camel.component.hazelcast.multimap.HazelcastMultimapComponent
-      - org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferComponent
-      - org.apache.camel.component.hazelcast.topic.HazelcastTopicComponent
-      - org.apache.camel.component.hazelcast.list.HazelcastListComponent
-      - org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberComponent
-      - org.apache.camel.component.hazelcast.queue.HazelcastQueueComponent
-      - org.apache.camel.component.hazelcast.map.HazelcastMapComponent
-    camel-quarkus-aws2-ses:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ses
-      schemes:
-      - id: aws2-ses
+      - id: kubernetes-persistent-volumes
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.ses.Ses2Component
-    camel-quarkus-cmis:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cmis
-      schemes:
-      - id: cmis
+      - id: kubernetes-config-maps
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.cmis.CMISComponent
-    camel-quarkus-google-pubsub:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-pubsub
-      schemes:
-      - id: google-pubsub
+      - id: kubernetes-pods
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.google.pubsub.GooglePubsubComponent
-    camel-quarkus-printer:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-printer
-      schemes:
-      - id: lpr
+      - id: kubernetes-persistent-volumes-claims
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.printer.PrinterComponent
-    camel-quarkus-jackson:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jackson
-      dataformats:
-      - json-jackson
-      javaTypes:
-      - org.apache.camel.component.jackson.JacksonDataFormat
-    camel-quarkus-validator:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-validator
-      schemes:
-      - id: validator
+      - id: kubernetes-deployments
         http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.validator.ValidatorComponent
-    camel-quarkus-ftp:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ftp
-      schemes:
-      - id: ftp
+        passive: false
+      - id: kubernetes-hpa
         http: false
         passive: false
-      - id: ftps
+      - id: kubernetes-nodes
         http: false
         passive: false
-      - id: sftp
+      - id: kubernetes-namespaces
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.file.remote.FtpComponent
-      - org.apache.camel.component.file.remote.FtpsComponent
-      - org.apache.camel.component.file.remote.SftpComponent
-    camel-quarkus-google-sheets:
+      - org.apache.camel.component.openshift.builds.OpenshiftBuildsComponent
+      - org.apache.camel.component.kubernetes.secrets.KubernetesSecretsComponent
+      - org.apache.camel.component.kubernetes.nodes.KubernetesNodesComponent
+      - org.apache.camel.component.kubernetes.services.KubernetesServicesComponent
+      - org.apache.camel.component.kubernetes.persistent_volumes.KubernetesPersistentVolumesComponent
+      - org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsComponent
+      - org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsComponent
+      - org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesComponent
+      - org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersComponent
+      - org.apache.camel.component.kubernetes.job.KubernetesJobComponent
+      - org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsComponent
+      - org.apache.camel.component.kubernetes.pods.KubernetesPodsComponent
+      - org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesComponent
+      - org.apache.camel.component.kubernetes.hpa.KubernetesHPAComponent
+      - org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaComponent
+      - org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsComponent
+      - org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsComponent
+    camel-quarkus-pdf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-sheets
+      artifactId: camel-quarkus-pdf
       schemes:
-      - id: google-sheets-stream
+      - id: pdf
         http: false
         passive: false
-      - id: google-sheets
+      javaTypes:
+      - org.apache.camel.component.pdf.PdfComponent
+    camel-k-cron:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-cron
+      schemes:
+      - id: cron
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.google.sheets.GoogleSheetsComponent
-      - org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent
-    camel-quarkus-stomp:
+    camel-quarkus-aws2-lambda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stomp
+      artifactId: camel-quarkus-aws2-lambda
       schemes:
-      - id: stomp
+      - id: aws2-lambda
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stomp.StompComponent
+      - org.apache.camel.component.aws2.lambda.Lambda2Component
     camel-quarkus-stringtemplate:
       groupId: org.apache.camel.quarkus
       artifactId: camel-quarkus-stringtemplate
@@ -1448,1394 +1385,1445 @@ spec:
         passive: false
       javaTypes:
       - org.apache.camel.component.stringtemplate.StringTemplateComponent
-    camel-quarkus-aws2-lambda:
+    camel-quarkus-stomp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-lambda
+      artifactId: camel-quarkus-stomp
       schemes:
-      - id: aws2-lambda
+      - id: stomp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.lambda.Lambda2Component
-    camel-k-cron:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-cron
+      - org.apache.camel.component.stomp.StompComponent
+    camel-quarkus-google-sheets:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-google-sheets
       schemes:
-      - id: cron
+      - id: google-sheets
         http: false
         passive: false
-    camel-quarkus-pdf:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pdf
-      schemes:
-      - id: pdf
+      - id: google-sheets-stream
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pdf.PdfComponent
-    camel-quarkus-kubernetes:
+      - org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent
+      - org.apache.camel.component.google.sheets.GoogleSheetsComponent
+    camel-quarkus-ftp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-kubernetes
+      artifactId: camel-quarkus-ftp
       schemes:
-      - id: openshift-builds
+      - id: ftps
         http: false
         passive: false
-      - id: kubernetes-custom-resources
+      - id: ftp
         http: false
         passive: false
-      - id: kubernetes-namespaces
+      - id: sftp
         http: false
         passive: false
-      - id: kubernetes-nodes
+      javaTypes:
+      - org.apache.camel.component.file.remote.FtpComponent
+      - org.apache.camel.component.file.remote.SftpComponent
+      - org.apache.camel.component.file.remote.FtpsComponent
+    camel-quarkus-validator:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-validator
+      schemes:
+      - id: validator
         http: false
-        passive: false
-      - id: kubernetes-hpa
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.validator.ValidatorComponent
+    camel-quarkus-jackson:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jackson
+      dataformats:
+      - json-jackson
+      javaTypes:
+      - org.apache.camel.component.jackson.JacksonDataFormat
+    camel-quarkus-printer:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-printer
+      schemes:
+      - id: lpr
         http: false
         passive: false
-      - id: kubernetes-deployments
+      javaTypes:
+      - org.apache.camel.component.printer.PrinterComponent
+    camel-quarkus-google-pubsub:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-google-pubsub
+      schemes:
+      - id: google-pubsub
         http: false
         passive: false
-      - id: kubernetes-persistent-volumes-claims
+      javaTypes:
+      - org.apache.camel.component.google.pubsub.GooglePubsubComponent
+    camel-quarkus-cmis:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-cmis
+      schemes:
+      - id: cmis
         http: false
         passive: false
-      - id: kubernetes-pods
+      javaTypes:
+      - org.apache.camel.component.cmis.CMISComponent
+    camel-quarkus-aws2-ses:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws2-ses
+      schemes:
+      - id: aws2-ses
         http: false
         passive: false
-      - id: kubernetes-config-maps
+      javaTypes:
+      - org.apache.camel.component.aws2.ses.Ses2Component
+    camel-quarkus-hazelcast:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-hazelcast
+      schemes:
+      - id: hazelcast-instance
         http: false
         passive: false
-      - id: kubernetes-persistent-volumes
+      - id: hazelcast-ringbuffer
         http: false
         passive: false
-      - id: kubernetes-services
+      - id: hazelcast-atomicvalue
         http: false
         passive: false
-      - id: kubernetes-secrets
+      - id: hazelcast-replicatedmap
         http: false
         passive: false
-      - id: kubernetes-service-accounts
+      - id: hazelcast-topic
         http: false
         passive: false
-      - id: openshift-build-configs
+      - id: hazelcast-multimap
         http: false
         passive: false
-      - id: kubernetes-job
+      - id: hazelcast-seda
         http: false
         passive: false
-      - id: kubernetes-replication-controllers
+      - id: hazelcast-map
         http: false
         passive: false
-      - id: kubernetes-resources-quota
+      - id: hazelcast-set
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.kubernetes.nodes.KubernetesNodesComponent
-      - org.apache.camel.component.kubernetes.secrets.KubernetesSecretsComponent
-      - org.apache.camel.component.openshift.builds.OpenshiftBuildsComponent
-      - org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsComponent
-      - org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsComponent
-      - org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaComponent
-      - org.apache.camel.component.kubernetes.hpa.KubernetesHPAComponent
-      - org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesComponent
-      - org.apache.camel.component.kubernetes.pods.KubernetesPodsComponent
-      - org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsComponent
-      - org.apache.camel.component.kubernetes.job.KubernetesJobComponent
-      - org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersComponent
-      - org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesComponent
-      - org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsComponent
-      - org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsComponent
-      - org.apache.camel.component.kubernetes.persistent_volumes.KubernetesPersistentVolumesComponent
-      - org.apache.camel.component.kubernetes.services.KubernetesServicesComponent
-    camel-quarkus-aws2-athena:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-athena
-      schemes:
-      - id: aws2-athena
+      - id: hazelcast-queue
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.athena.Athena2Component
-    camel-quarkus-cm-sms:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cm-sms
-      schemes:
-      - id: cm-sms
+      - id: hazelcast-list
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cm.CMComponent
-    camel-quarkus-crypto:
+      - org.apache.camel.component.hazelcast.list.HazelcastListComponent
+      - org.apache.camel.component.hazelcast.topic.HazelcastTopicComponent
+      - org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferComponent
+      - org.apache.camel.component.hazelcast.multimap.HazelcastMultimapComponent
+      - org.apache.camel.component.hazelcast.instance.HazelcastInstanceComponent
+      - org.apache.camel.component.hazelcast.set.HazelcastSetComponent
+      - org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapComponent
+      - org.apache.camel.component.hazelcast.seda.HazelcastSedaComponent
+      - org.apache.camel.component.hazelcast.map.HazelcastMapComponent
+      - org.apache.camel.component.hazelcast.queue.HazelcastQueueComponent
+      - org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberComponent
+    camel-quarkus-box:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-crypto
+      artifactId: camel-quarkus-box
       schemes:
-      - id: crypto
+      - id: box
         http: false
         passive: false
-      dataformats:
-      - crypto
-      - pgp
       javaTypes:
-      - org.apache.camel.converter.crypto.PGPDataFormat
-      - org.apache.camel.converter.crypto.CryptoDataFormat
-      - org.apache.camel.component.crypto.DigitalSignatureComponent
-    camel-quarkus-nagios:
+      - org.apache.camel.component.box.BoxComponent
+    camel-quarkus-wordpress:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nagios
+      artifactId: camel-quarkus-wordpress
       schemes:
-      - id: nagios
+      - id: wordpress
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nagios.NagiosComponent
-    camel-quarkus-bonita:
+      - org.apache.camel.component.wordpress.WordpressComponent
+    camel-quarkus-vertx-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bonita
+      artifactId: camel-quarkus-vertx-http
       schemes:
-      - id: bonita
+      - id: vertx-http
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.bonita.BonitaComponent
-    camel-quarkus-djl:
+      - org.apache.camel.component.vertx.http.VertxHttpComponent
+    camel-quarkus-aws2-translate:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-djl
+      artifactId: camel-quarkus-aws2-translate
       schemes:
-      - id: djl
+      - id: aws2-translate
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.djl.DJLComponent
-    camel-quarkus-mustache:
+      - org.apache.camel.component.aws2.translate.Translate2Component
+    camel-quarkus-ahc-ws:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mustache
+      artifactId: camel-quarkus-ahc-ws
       schemes:
-      - id: mustache
+      - id: ahc-ws
+        http: true
+        passive: false
+      - id: ahc-wss
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mustache.MustacheComponent
-    camel-quarkus-master:
+      - org.apache.camel.component.ahc.ws.WsComponent
+    camel-quarkus-mllp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-master
+      artifactId: camel-quarkus-mllp
       schemes:
-      - id: master
+      - id: mllp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.master.MasterComponent
-    camel-k-master:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-master
-      schemes:
-      - id: master
-        http: false
-        passive: false
-    camel-quarkus-aws2-ec2:
+      - org.apache.camel.component.mllp.MllpComponent
+    camel-quarkus-irc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ec2
+      artifactId: camel-quarkus-irc
       schemes:
-      - id: aws2-ec2
+      - id: irc
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.ec2.AWS2EC2Component
-    camel-quarkus-snmp:
+      - org.apache.camel.component.irc.IrcComponent
+    camel-quarkus-jsch:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-snmp
+      artifactId: camel-quarkus-jsch
       schemes:
-      - id: snmp
+      - id: scp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.snmp.SnmpComponent
-    camel-quarkus-barcode:
+      - org.apache.camel.component.scp.ScpComponent
+    camel-quarkus-beanio:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-barcode
+      artifactId: camel-quarkus-beanio
       dataformats:
-      - barcode
+      - beanio
       javaTypes:
-      - org.apache.camel.dataformat.barcode.BarcodeDataFormat
-    camel-quarkus-openstack:
+      - org.apache.camel.dataformat.beanio.BeanIODataFormat
+    camel-quarkus-aws2-mq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-openstack
+      artifactId: camel-quarkus-aws2-mq
       schemes:
-      - id: openstack-nova
-        http: false
-        passive: false
-      - id: openstack-cinder
+      - id: aws2-mq
         http: false
         passive: false
-      - id: openstack-keystone
+      javaTypes:
+      - org.apache.camel.component.aws2.mq.MQ2Component
+    camel-quarkus-coap:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-coap
+      schemes:
+      - id: coap
         http: false
         passive: false
-      - id: openstack-neutron
+      - id: coap+tcp
         http: false
         passive: false
-      - id: openstack-swift
+      - id: coaps
         http: false
         passive: false
-      - id: openstack-glance
+      - id: coaps+tcp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.openstack.cinder.CinderComponent
-      - org.apache.camel.component.openstack.keystone.KeystoneComponent
-      - org.apache.camel.component.openstack.neutron.NeutronComponent
-      - org.apache.camel.component.openstack.glance.GlanceComponent
-      - org.apache.camel.component.openstack.swift.SwiftComponent
-      - org.apache.camel.component.openstack.nova.NovaComponent
-    camel-quarkus-aws-kinesis:
+      - org.apache.camel.coap.CoAPComponent
+    camel-quarkus-tika:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-kinesis
+      artifactId: camel-quarkus-tika
       schemes:
-      - id: aws-kinesis
+      - id: tika
         http: false
         passive: false
-      - id: aws-kinesis-firehose
+      javaTypes:
+      - org.apache.camel.component.tika.TikaComponent
+    camel-quarkus-ssh:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-ssh
+      schemes:
+      - id: ssh
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
-      - org.apache.camel.component.aws.kinesis.KinesisComponent
-    camel-quarkus-git:
+      - org.apache.camel.component.ssh.SshComponent
+    camel-quarkus-xslt-saxon:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-git
+      artifactId: camel-quarkus-xslt-saxon
       schemes:
-      - id: git
+      - id: xslt-saxon
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.git.GitComponent
-    camel-quarkus-servlet:
+      - org.apache.camel.component.xslt.saxon.XsltSaxonComponent
+    camel-quarkus-kafka:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-servlet
+      artifactId: camel-quarkus-kafka
       schemes:
-      - id: servlet
-        http: true
+      - id: kafka
+        http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.servlet.ServletComponent
-    camel-quarkus-freemarker:
+      - org.apache.camel.component.kafka.KafkaComponent
+    camel-quarkus-stream:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-freemarker
+      artifactId: camel-quarkus-stream
       schemes:
-      - id: freemarker
+      - id: stream
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.freemarker.FreemarkerComponent
-    camel-quarkus-soap:
+      - org.apache.camel.component.stream.StreamComponent
+    camel-quarkus-browse:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-soap
-      dataformats:
-      - soapjaxb
+      artifactId: camel-quarkus-browse
+      schemes:
+      - id: browse
+        http: false
+        passive: true
       javaTypes:
-      - org.apache.camel.dataformat.soap.SoapJaxbDataFormat
-    camel-quarkus-arangodb:
+      - org.apache.camel.component.browse.BrowseComponent
+    camel-quarkus-avro-rpc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-arangodb
+      artifactId: camel-quarkus-avro-rpc
       schemes:
-      - id: arangodb
+      - id: avro
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.arangodb.ArangoDbComponent
-    camel-quarkus-google-mail:
+      - org.apache.camel.component.avro.AvroComponent
+    camel-quarkus-google-calendar:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-mail
+      artifactId: camel-quarkus-google-calendar
       schemes:
-      - id: google-mail
+      - id: google-calendar-stream
         http: false
         passive: false
-      - id: google-mail-stream
+      - id: google-calendar
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.mail.stream.GoogleMailStreamComponent
-      - org.apache.camel.component.google.mail.GoogleMailComponent
-    camel-quarkus-websocket-jsr356:
+      - org.apache.camel.component.google.calendar.GoogleCalendarComponent
+      - org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent
+    camel-quarkus-vertx-websocket:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-websocket-jsr356
+      artifactId: camel-quarkus-vertx-websocket
       schemes:
-      - id: websocket-jsr356
+      - id: vertx-websocket
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
-    camel-quarkus-lumberjack:
+      - org.apache.camel.component.vertx.websocket.VertxWebsocketComponent
+    camel-quarkus-jcache:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-lumberjack
+      artifactId: camel-quarkus-jcache
       schemes:
-      - id: lumberjack
+      - id: jcache
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.lumberjack.LumberjackComponent
-    camel-quarkus-json-validator:
+      - org.apache.camel.component.jcache.JCacheComponent
+    camel-quarkus-salesforce:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-json-validator
+      artifactId: camel-quarkus-salesforce
       schemes:
-      - id: json-validator
+      - id: salesforce
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jsonvalidator.JsonValidatorComponent
-    camel-quarkus-aws2-s3:
+      - org.apache.camel.component.salesforce.SalesforceComponent
+    camel-quarkus-jbpm:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-s3
+      artifactId: camel-quarkus-jbpm
       schemes:
-      - id: aws2-s3
+      - id: jbpm
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.s3.AWS2S3Component
-    camel-quarkus-dropbox:
+      - org.apache.camel.component.jbpm.JBPMComponent
+    camel-quarkus-aws-ecs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dropbox
+      artifactId: camel-quarkus-aws-ecs
       schemes:
-      - id: dropbox
+      - id: aws-ecs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.dropbox.DropboxComponent
-    camel-quarkus-google-bigquery:
+      - org.apache.camel.component.aws.ecs.ECSComponent
+    camel-quarkus-splunk-hec:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-bigquery
+      artifactId: camel-quarkus-splunk-hec
       schemes:
-      - id: google-bigquery
+      - id: splunk-hec
         http: false
         passive: false
-      - id: google-bigquery-sql
+      javaTypes:
+      - org.apache.camel.component.splunkhec.SplunkHECComponent
+    camel-quarkus-lucene:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-lucene
+      schemes:
+      - id: lucene
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent
-      - org.apache.camel.component.google.bigquery.GoogleBigQueryComponent
-    camel-quarkus-mail:
+      - org.apache.camel.component.lucene.LuceneComponent
+    camel-quarkus-aws2-kms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mail
+      artifactId: camel-quarkus-aws2-kms
       schemes:
-      - id: smtps
+      - id: aws2-kms
         http: false
         passive: false
-      - id: pop3
+      javaTypes:
+      - org.apache.camel.component.aws2.kms.KMS2Component
+    camel-quarkus-csv:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-csv
+      dataformats:
+      - csv
+      javaTypes:
+      - org.apache.camel.dataformat.csv.CsvDataFormat
+    camel-quarkus-fhir:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-fhir
+      schemes:
+      - id: fhir
         http: false
         passive: false
-      - id: smtp
+      dataformats:
+      - fhirJson
+      - fhirXml
+      javaTypes:
+      - org.apache.camel.component.fhir.FhirComponent
+      - org.apache.camel.component.fhir.FhirJsonDataFormat
+      - org.apache.camel.component.fhir.FhirXmlDataFormat
+    camel-quarkus-atomix:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-atomix
+      schemes:
+      - id: atomix-value
         http: false
         passive: false
-      - id: imaps
+      - id: atomix-messaging
         http: false
         passive: false
-      - id: imap
+      - id: atomix-set
         http: false
         passive: false
-      - id: pop3s
+      - id: atomix-queue
         http: false
         passive: false
-      dataformats:
-      - mime-multipart
-      javaTypes:
-      - org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat
-      - org.apache.camel.component.mail.MailComponent
-    camel-quarkus-platform-http:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-platform-http
-      schemes:
-      - id: platform-http
-        http: true
+      - id: atomix-map
+        http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.platform.http.PlatformHttpComponent
-    camel-quarkus-timer:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-timer
-      schemes:
-      - id: timer
+      - id: atomix-multimap
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.timer.TimerComponent
-    camel-quarkus-digitalocean:
+      - org.apache.camel.component.atomix.client.messaging.AtomixMessagingComponent
+      - org.apache.camel.component.atomix.client.set.AtomixSetComponent
+      - org.apache.camel.component.atomix.client.value.AtomixValueComponent
+      - org.apache.camel.component.atomix.client.multimap.AtomixMultiMapComponent
+      - org.apache.camel.component.atomix.client.map.AtomixMapComponent
+      - org.apache.camel.component.atomix.client.queue.AtomixQueueComponent
+    camel-quarkus-milo:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-digitalocean
+      artifactId: camel-quarkus-milo
       schemes:
-      - id: digitalocean
+      - id: milo-client
+        http: false
+        passive: false
+      - id: milo-server
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.digitalocean.DigitalOceanComponent
-    camel-quarkus-couchbase:
+      - org.apache.camel.component.milo.server.MiloServerComponent
+      - org.apache.camel.component.milo.client.MiloClientComponent
+    camel-quarkus-ahc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-couchbase
+      artifactId: camel-quarkus-ahc
       schemes:
-      - id: couchbase
-        http: false
+      - id: ahc
+        http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.couchbase.CouchbaseComponent
-    camel-quarkus-aws-sns:
+      - org.apache.camel.component.ahc.AhcComponent
+    camel-quarkus-log:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sns
+      artifactId: camel-quarkus-log
       schemes:
-      - id: aws-sns
+      - id: log
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.aws.sns.SnsComponent
-    camel-quarkus-slack:
+      - org.apache.camel.component.log.LogComponent
+    camel-quarkus-graphql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-slack
+      artifactId: camel-quarkus-graphql
       schemes:
-      - id: slack
+      - id: graphql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.slack.SlackComponent
-    camel-quarkus-flatpack:
+      - org.apache.camel.component.graphql.GraphqlComponent
+    camel-quarkus-disruptor:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-flatpack
+      artifactId: camel-quarkus-disruptor
       schemes:
-      - id: flatpack
+      - id: disruptor-vm
+        http: false
+        passive: false
+      - id: disruptor
         http: false
         passive: false
-      dataformats:
-      - flatpack
       javaTypes:
-      - org.apache.camel.component.flatpack.FlatpackComponent
-      - org.apache.camel.dataformat.flatpack.FlatpackDataFormat
-    camel-quarkus-zipfile:
+      - org.apache.camel.component.disruptor.DisruptorComponent
+      - org.apache.camel.component.disruptor.vm.DisruptorVmComponent
+    camel-quarkus-hl7:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zipfile
+      artifactId: camel-quarkus-hl7
+      languages:
+      - hl7terser
       dataformats:
-      - zipfile
+      - hl7
       javaTypes:
-      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
-    camel-quarkus-aws2-ecs:
+      - org.apache.camel.component.hl7.HL7DataFormat
+      - org.apache.camel.component.hl7.Hl7TerserLanguage
+    camel-quarkus-jsonpath:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ecs
-      schemes:
-      - id: aws2-ecs
-        http: false
-        passive: false
+      artifactId: camel-quarkus-jsonpath
+      languages:
+      - jsonpath
       javaTypes:
-      - org.apache.camel.component.aws2.ecs.ECS2Component
-    camel-quarkus-netty-http:
+      - org.apache.camel.jsonpath.JsonPathLanguage
+    camel-quarkus-jooq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-netty-http
+      artifactId: camel-quarkus-jooq
       schemes:
-      - id: netty-http
-        http: true
+      - id: jooq
+        http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.netty.http.NettyHttpComponent
-    camel-quarkus-influxdb:
+      - org.apache.camel.component.jooq.JooqComponent
+    camel-quarkus-kudu:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-influxdb
+      artifactId: camel-quarkus-kudu
       schemes:
-      - id: influxdb
+      - id: kudu
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.influxdb.InfluxDbComponent
-    camel-k-kamelet:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-kamelet
-      schemes:
-      - id: kamelet
-        http: false
-        passive: true
-    camel-quarkus-tagsoup:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tagsoup
-      dataformats:
-      - tidyMarkup
-      javaTypes:
-      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
-    camel-quarkus-protobuf:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-protobuf
-      dataformats:
-      - protobuf
-      javaTypes:
-      - org.apache.camel.dataformat.protobuf.ProtobufDataFormat
-    camel-quarkus-azure-storage-blob:
+      - org.apache.camel.component.kudu.KuduComponent
+    camel-quarkus-hdfs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-azure-storage-blob
+      artifactId: camel-quarkus-hdfs
       schemes:
-      - id: azure-storage-blob
+      - id: hdfs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.azure.storage.blob.BlobComponent
-    camel-quarkus-asterisk:
+      - org.apache.camel.component.hdfs.HdfsComponent
+    camel-quarkus-jcr:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-asterisk
+      artifactId: camel-quarkus-jcr
       schemes:
-      - id: asterisk
+      - id: jcr
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.asterisk.AsteriskComponent
-    camel-quarkus-microprofile-metrics:
+      - org.apache.camel.component.jcr.JcrComponent
+    camel-quarkus-debezium-mysql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-microprofile-metrics
+      artifactId: camel-quarkus-debezium-mysql
       schemes:
-      - id: microprofile-metrics
+      - id: debezium-mysql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
-    camel-quarkus-nats:
+      - org.apache.camel.component.debezium.DebeziumMySqlComponent
+    camel-quarkus-core:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nats
-      schemes:
-      - id: nats
-        http: false
-        passive: false
+      artifactId: camel-quarkus-core
+      languages:
+      - header
+      - file
+      - tokenize
+      - exchangeProperty
+      - csimple
+      - constant
+      - ref
+      - simple
       javaTypes:
-      - org.apache.camel.component.nats.NatsComponent
-    camel-quarkus-infinispan:
+      - org.apache.camel.language.header.HeaderLanguage
+      - org.apache.camel.language.simple.SimpleLanguage
+      - org.apache.camel.language.constant.ConstantLanguage
+      - org.apache.camel.language.csimple.CSimpleLanguage
+      - org.apache.camel.language.simple.FileLanguage
+      - org.apache.camel.language.ref.RefLanguage
+      - org.apache.camel.language.tokenizer.TokenizeLanguage
+      - org.apache.camel.language.property.ExchangePropertyLanguage
+    camel-quarkus-velocity:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-infinispan
+      artifactId: camel-quarkus-velocity
       schemes:
-      - id: infinispan
+      - id: velocity
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.infinispan.InfinispanComponent
-    camel-quarkus-base64:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-base64
-      dataformats:
-      - base64
-      javaTypes:
-      - org.apache.camel.dataformat.base64.Base64DataFormat
-    camel-quarkus-exec:
+      - org.apache.camel.component.velocity.VelocityComponent
+    camel-quarkus-aws2-iam:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-exec
+      artifactId: camel-quarkus-aws2-iam
       schemes:
-      - id: exec
+      - id: aws2-iam
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.exec.ExecComponent
-    camel-quarkus-rss:
+      - org.apache.camel.component.aws2.iam.IAM2Component
+    camel-quarkus-ehcache:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rss
+      artifactId: camel-quarkus-ehcache
       schemes:
-      - id: rss
+      - id: ehcache
         http: false
         passive: false
-      dataformats:
-      - rss
       javaTypes:
-      - org.apache.camel.component.rss.RssComponent
-      - org.apache.camel.dataformat.rss.RssDataFormat
-    camel-quarkus-gson:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-gson
-      dataformats:
-      - json-gson
-      javaTypes:
-      - org.apache.camel.component.gson.GsonDataFormat
-    camel-quarkus-geocoder:
+      - org.apache.camel.component.ehcache.EhcacheComponent
+    camel-quarkus-sql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-geocoder
+      artifactId: camel-quarkus-sql
       schemes:
-      - id: geocoder
+      - id: sql-stored
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.geocoder.GeoCoderComponent
-    camel-quarkus-pgevent:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pgevent
-      schemes:
-      - id: pgevent
+      - id: sql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pgevent.PgEventComponent
-    camel-quarkus-atom:
+      - org.apache.camel.component.sql.SqlComponent
+      - org.apache.camel.component.sql.stored.SqlStoredComponent
+    camel-quarkus-jira:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atom
+      artifactId: camel-quarkus-jira
       schemes:
-      - id: atom
+      - id: jira
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.atom.AtomComponent
-    camel-quarkus-soroush:
+      - org.apache.camel.component.jira.JiraComponent
+    camel-quarkus-bean-validator:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-soroush
+      artifactId: camel-quarkus-bean-validator
       schemes:
-      - id: soroush
+      - id: bean-validator
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.soroushbot.component.SoroushBotComponent
-    camel-quarkus-drill:
+      - org.apache.camel.component.bean.validator.BeanValidatorComponent
+    camel-quarkus-elasticsearch-rest:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-drill
+      artifactId: camel-quarkus-elasticsearch-rest
       schemes:
-      - id: drill
+      - id: elasticsearch-rest
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.drill.DrillComponent
-    camel-quarkus-cometd:
+      - org.apache.camel.component.elasticsearch.ElasticsearchComponent
+    camel-quarkus-caffeine:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cometd
+      artifactId: camel-quarkus-caffeine
       schemes:
-      - id: cometd
+      - id: caffeine-cache
         http: false
         passive: false
-      - id: cometds
+      - id: caffeine-loadcache
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cometd.CometdComponent
-    camel-quarkus-chunk:
+      - org.apache.camel.component.caffeine.load.CaffeineLoadCacheComponent
+      - org.apache.camel.component.caffeine.cache.CaffeineCacheComponent
+    camel-quarkus-saxon:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-chunk
+      artifactId: camel-quarkus-saxon
       schemes:
-      - id: chunk
+      - id: xquery
         http: false
         passive: false
+      languages:
+      - xquery
       javaTypes:
-      - org.apache.camel.component.chunk.ChunkComponent
-    camel-k-webhook:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-webhook
-      schemes:
-      - id: webhook
-        http: true
-        passive: true
-    camel-quarkus-dns:
+      - org.apache.camel.language.xquery.XQueryLanguage
+      - org.apache.camel.component.xquery.XQueryComponent
+    camel-quarkus-spark:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dns
+      artifactId: camel-quarkus-spark
       schemes:
-      - id: dns
+      - id: spark
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.dns.DnsComponent
-    camel-quarkus-mongodb:
+      - org.apache.camel.component.spark.SparkComponent
+    camel-quarkus-msv:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mongodb
+      artifactId: camel-quarkus-msv
       schemes:
-      - id: mongodb
+      - id: msv
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mongodb.MongoDbComponent
-    camel-quarkus-jgroups-raft:
+      - org.apache.camel.component.validator.msv.MsvComponent
+    camel-quarkus-avro:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jgroups-raft
+      artifactId: camel-quarkus-avro
+      dataformats:
+      - avro
+      javaTypes:
+      - org.apache.camel.dataformat.avro.AvroDataFormat
+    camel-quarkus-tarfile:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-tarfile
+      dataformats:
+      - tarfile
+      javaTypes:
+      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
+    camel-quarkus-aws2-sts:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws2-sts
       schemes:
-      - id: jgroups-raft
+      - id: aws2-sts
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jgroups.raft.JGroupsRaftComponent
-    camel-quarkus-cassandraql:
+      - org.apache.camel.component.aws2.sts.STS2Component
+    camel-quarkus-atlasmap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cassandraql
+      artifactId: camel-quarkus-atlasmap
       schemes:
-      - id: cql
+      - id: atlasmap
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cassandra.CassandraComponent
-    camel-quarkus-ical:
+      - org.apache.camel.component.atlasmap.AtlasMapComponent
+    camel-quarkus-minio:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ical
-      dataformats:
-      - ical
-      javaTypes:
-      - org.apache.camel.component.ical.ICalDataFormat
-    camel-quarkus-sjms:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sjms
+      artifactId: camel-quarkus-minio
       schemes:
-      - id: sjms-batch
-        http: false
-        passive: false
-      - id: sjms
+      - id: minio
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sjms.SjmsComponent
-      - org.apache.camel.component.sjms.batch.SjmsBatchComponent
-    camel-quarkus-google-drive:
+      - org.apache.camel.component.minio.MinioComponent
+    camel-quarkus-aws-lambda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-drive
+      artifactId: camel-quarkus-aws-lambda
       schemes:
-      - id: google-drive
+      - id: aws-lambda
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.drive.GoogleDriveComponent
-    camel-quarkus-splunk:
+      - org.apache.camel.component.aws.lambda.LambdaComponent
+    camel-quarkus-xmpp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-splunk
+      artifactId: camel-quarkus-xmpp
       schemes:
-      - id: splunk
+      - id: xmpp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.splunk.SplunkComponent
-    camel-quarkus-dozer:
+      - org.apache.camel.component.xmpp.XmppComponent
+    camel-quarkus-aws2-eventbridge:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dozer
+      artifactId: camel-quarkus-aws2-eventbridge
       schemes:
-      - id: dozer
+      - id: aws2-eventbridge
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.dozer.DozerComponent
-    camel-quarkus-aws-eks:
+      - org.apache.camel.component.aws2.eventbridge.EventbridgeComponent
+    camel-quarkus-github:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-eks
+      artifactId: camel-quarkus-github
       schemes:
-      - id: aws-eks
+      - id: github
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.eks.EKSComponent
-    camel-quarkus-seda:
+      - org.apache.camel.component.github.GitHubComponent
+    camel-quarkus-corda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-seda
+      artifactId: camel-quarkus-corda
       schemes:
-      - id: seda
+      - id: corda
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.seda.SedaComponent
-    camel-quarkus-nitrite:
+      - org.apache.camel.component.corda.CordaComponent
+    camel-quarkus-xml-jaxp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nitrite
-      schemes:
-      - id: nitrite
-        http: false
-        passive: false
+      artifactId: camel-quarkus-xml-jaxp
+      languages:
+      - xtokenize
       javaTypes:
-      - org.apache.camel.component.nitrite.NitriteComponent
-    camel-quarkus-activemq:
+      - org.apache.camel.language.xtokenizer.XMLTokenizeLanguage
+    camel-quarkus-ldif:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-activemq
+      artifactId: camel-quarkus-ldif
       schemes:
-      - id: activemq
+      - id: ldif
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.activemq.ActiveMQComponent
-    camel-quarkus-twilio:
+      - org.apache.camel.component.ldif.LdifComponent
+    camel-quarkus-aws-ec2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-twilio
+      artifactId: camel-quarkus-aws-ec2
       schemes:
-      - id: twilio
+      - id: aws-ec2
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.twilio.TwilioComponent
-    camel-quarkus-zendesk:
+      - org.apache.camel.component.aws.ec2.EC2Component
+    camel-quarkus-web3j:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zendesk
+      artifactId: camel-quarkus-web3j
       schemes:
-      - id: zendesk
+      - id: web3j
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.zendesk.ZendeskComponent
-    camel-quarkus-braintree:
+      - org.apache.camel.component.web3j.Web3jComponent
+    camel-quarkus-ignite:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-braintree
+      artifactId: camel-quarkus-ignite
       schemes:
-      - id: braintree
+      - id: ignite-set
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.braintree.BraintreeComponent
-    camel-quarkus-aws-sqs:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sqs
-      schemes:
-      - id: aws-sqs
+      - id: ignite-idgen
+        http: false
+        passive: false
+      - id: ignite-cache
+        http: false
+        passive: false
+      - id: ignite-compute
+        http: false
+        passive: false
+      - id: ignite-messaging
+        http: false
+        passive: false
+      - id: ignite-events
+        http: false
+        passive: false
+      - id: ignite-queue
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.sqs.SqsComponent
-    camel-quarkus-olingo4:
+      - org.apache.camel.component.ignite.set.IgniteSetComponent
+      - org.apache.camel.component.ignite.messaging.IgniteMessagingComponent
+      - org.apache.camel.component.ignite.queue.IgniteQueueComponent
+      - org.apache.camel.component.ignite.compute.IgniteComputeComponent
+      - org.apache.camel.component.ignite.events.IgniteEventsComponent
+      - org.apache.camel.component.ignite.cache.IgniteCacheComponent
+      - org.apache.camel.component.ignite.idgen.IgniteIdGenComponent
+    camel-quarkus-mongodb-gridfs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-olingo4
+      artifactId: camel-quarkus-mongodb-gridfs
       schemes:
-      - id: olingo4
+      - id: mongodb-gridfs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.olingo4.Olingo4Component
-    camel-quarkus-zookeeper:
+      - org.apache.camel.component.mongodb.gridfs.GridFsComponent
+    camel-quarkus-cron:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zookeeper
+      artifactId: camel-quarkus-cron
       schemes:
-      - id: zookeeper
+      - id: cron
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.zookeeper.ZooKeeperComponent
-    camel-quarkus-sjms2:
+      - org.apache.camel.component.cron.CronComponent
+    camel-quarkus-azure-storage-queue:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sjms2
+      artifactId: camel-quarkus-azure-storage-queue
       schemes:
-      - id: sjms2
+      - id: azure-storage-queue
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sjms2.Sjms2Component
-    camel-quarkus-ldap:
+      - org.apache.camel.component.azure.storage.queue.QueueComponent
+    camel-quarkus-reactive-streams:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ldap
+      artifactId: camel-quarkus-reactive-streams
       schemes:
-      - id: ldap
+      - id: reactive-streams
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ldap.LdapComponent
-    camel-quarkus-xchange:
+      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
+    camel-quarkus-rabbitmq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xchange
+      artifactId: camel-quarkus-rabbitmq
       schemes:
-      - id: xchange
+      - id: rabbitmq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xchange.XChangeComponent
-    camel-k-kamelet-reify:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-kamelet-reify
+      - org.apache.camel.component.rabbitmq.RabbitMQComponent
+    camel-quarkus-chatscript:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-chatscript
       schemes:
-      - id: wrap
+      - id: chatscript
         http: false
         passive: false
-    camel-quarkus-atmos:
+      javaTypes:
+      - org.apache.camel.component.chatscript.ChatScriptComponent
+    camel-quarkus-aws-translate:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atmos
+      artifactId: camel-quarkus-aws-translate
       schemes:
-      - id: atmos
+      - id: aws-translate
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.atmos.AtmosComponent
-    camel-quarkus-as2:
+      - org.apache.camel.component.aws.translate.TranslateComponent
+    camel-quarkus-azure:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-as2
+      artifactId: camel-quarkus-azure
       schemes:
-      - id: as2
+      - id: azure-blob
+        http: false
+        passive: false
+      - id: azure-queue
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.as2.AS2Component
-    camel-quarkus-etcd:
+      - org.apache.camel.component.azure.queue.QueueServiceComponent
+      - org.apache.camel.component.azure.blob.BlobServiceComponent
+    camel-quarkus-xmlsecurity:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-etcd
+      artifactId: camel-quarkus-xmlsecurity
       schemes:
-      - id: etcd-keys
-        http: false
-        passive: false
-      - id: etcd-stats
+      - id: xmlsecurity-verify
         http: false
         passive: false
-      - id: etcd-watch
+      - id: xmlsecurity-sign
         http: false
         passive: false
+      dataformats:
+      - secureXML
       javaTypes:
-      - org.apache.camel.component.etcd.EtcdWatchComponent
-      - org.apache.camel.component.etcd.EtcdStatsComponent
-      - org.apache.camel.component.etcd.EtcdKeysComponent
-    camel-quarkus-quartz:
+      - org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat
+      - org.apache.camel.component.xmlsecurity.XmlSignerComponent
+      - org.apache.camel.component.xmlsecurity.XmlVerifierComponent
+    camel-quarkus-groovy:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-quartz
+      artifactId: camel-quarkus-groovy
+      languages:
+      - groovy
+      javaTypes:
+      - org.apache.camel.language.groovy.GroovyLanguage
+    camel-quarkus-rest:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-rest
       schemes:
-      - id: quartz
+      - id: rest
+        http: true
+        passive: false
+      - id: rest-api
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.quartz.QuartzComponent
-    camel-quarkus-pg-replication-slot:
+      - org.apache.camel.component.rest.RestComponent
+      - org.apache.camel.component.rest.RestApiComponent
+    camel-quarkus-xslt:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pg-replication-slot
+      artifactId: camel-quarkus-xslt
       schemes:
-      - id: pg-replication-slot
+      - id: xslt
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent
-    camel-quarkus-jms:
+      - org.apache.camel.component.xslt.XsltComponent
+    camel-quarkus-beanstalk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jms
+      artifactId: camel-quarkus-beanstalk
       schemes:
-      - id: jms
+      - id: beanstalk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jms.JmsComponent
-    camel-quarkus-thrift:
+      - org.apache.camel.component.beanstalk.BeanstalkComponent
+    camel-quarkus-saga:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-thrift
+      artifactId: camel-quarkus-saga
       schemes:
-      - id: thrift
+      - id: saga
         http: false
         passive: false
+      javaTypes:
+      - org.apache.camel.component.saga.SagaComponent
+    camel-quarkus-fop:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-fop
+      schemes:
+      - id: fop
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.fop.FopComponent
+    camel-quarkus-johnzon:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-johnzon
       dataformats:
-      - thrift
+      - json-johnzon
       javaTypes:
-      - org.apache.camel.component.thrift.ThriftComponent
-      - org.apache.camel.dataformat.thrift.ThriftDataFormat
-    camel-quarkus-sip:
+      - org.apache.camel.component.johnzon.JohnzonDataFormat
+    camel-quarkus-solr:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sip
+      artifactId: camel-quarkus-solr
       schemes:
-      - id: sip
+      - id: solrs
         http: false
         passive: false
-      - id: sips
+      - id: solr
+        http: false
+        passive: false
+      - id: solrCloud
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sip.SipComponent
-    camel-quarkus-aws2-cw:
+      - org.apache.camel.component.solr.SolrComponent
+    camel-quarkus-quickfix:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-cw
+      artifactId: camel-quarkus-quickfix
       schemes:
-      - id: aws2-cw
+      - id: quickfix
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.cw.Cw2Component
-    camel-quarkus-asn1:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-asn1
-      dataformats:
-      - asn1
-      javaTypes:
-      - org.apache.camel.dataformat.asn1.ASN1DataFormat
-    camel-quarkus-schematron:
+      - org.apache.camel.component.quickfixj.QuickfixjComponent
+    camel-quarkus-jclouds:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-schematron
+      artifactId: camel-quarkus-jclouds
       schemes:
-      - id: schematron
+      - id: jclouds
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.schematron.SchematronComponent
-    camel-quarkus-language:
+      - org.apache.camel.component.jclouds.JcloudsComponent
+    camel-quarkus-rest-openapi:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-language
+      artifactId: camel-quarkus-rest-openapi
       schemes:
-      - id: language
+      - id: rest-openapi
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.language.LanguageComponent
-    camel-k-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-knative
+      - org.apache.camel.component.rest.openapi.RestOpenApiComponent
+    camel-quarkus-file-watch:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-file-watch
       schemes:
-      - id: knative
-        http: true
+      - id: file-watch
+        http: false
         passive: false
-        producer:
-          dependencies:
-          - groupId: org.apache.camel.k
-            artifactId: camel-k-knative-producer
-        consumer:
-          dependencies:
-          - groupId: org.apache.camel.k
-            artifactId: camel-k-knative-consumer
-    camel-quarkus-zookeeper-master:
+      javaTypes:
+      - org.apache.camel.component.file.watch.FileWatchComponent
+    camel-quarkus-robotframework:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zookeeper-master
+      artifactId: camel-quarkus-robotframework
       schemes:
-      - id: zookeeper-master
+      - id: robotframework
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.zookeepermaster.MasterComponent
-    camel-quarkus-jacksonxml:
+      - org.apache.camel.component.robotframework.RobotFrameworkComponent
+    camel-quarkus-file:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jacksonxml
-      dataformats:
-      - jacksonxml
+      artifactId: camel-quarkus-file
+      schemes:
+      - id: file
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.component.jacksonxml.JacksonXMLDataFormat
-    camel-quarkus-debezium-mongodb:
+      - org.apache.camel.component.file.FileComponent
+    camel-quarkus-mybatis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-mongodb
+      artifactId: camel-quarkus-mybatis
       schemes:
-      - id: debezium-mongodb
+      - id: mybatis-bean
+        http: false
+        passive: false
+      - id: mybatis
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMongodbComponent
-    camel-quarkus-xstream:
+      - org.apache.camel.component.mybatis.MyBatisComponent
+      - org.apache.camel.component.mybatis.MyBatisBeanComponent
+    camel-quarkus-cbor:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xstream
+      artifactId: camel-quarkus-cbor
       dataformats:
-      - xstream
-      - json-xstream
+      - cbor
       javaTypes:
-      - org.apache.camel.dataformat.xstream.JsonDataFormat
-      - org.apache.camel.dataformat.xstream.XStreamDataFormat
-    camel-quarkus-optaplanner:
+      - org.apache.camel.component.cbor.CBORDataFormat
+    camel-quarkus-elsql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-optaplanner
+      artifactId: camel-quarkus-elsql
       schemes:
-      - id: optaplanner
+      - id: elsql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.optaplanner.OptaPlannerComponent
-    camel-quarkus-apns:
+      - org.apache.camel.component.elsql.ElsqlComponent
+    camel-quarkus-micrometer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-apns
+      artifactId: camel-quarkus-micrometer
       schemes:
-      - id: apns
+      - id: micrometer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.apns.ApnsComponent
-    camel-quarkus-jslt:
+      - org.apache.camel.component.micrometer.MicrometerComponent
+    camel-quarkus-netty:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jslt
+      artifactId: camel-quarkus-netty
       schemes:
-      - id: jslt
+      - id: netty
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jslt.JsltComponent
-    camel-quarkus-bindy:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bindy
-      dataformats:
-      - bindy-kvp
-      - bindy-fixed
-      - bindy-csv
-      javaTypes:
-      - org.apache.camel.dataformat.bindy.kvp.BindyKeyValuePairDataFormat
-      - org.apache.camel.dataformat.bindy.fixed.BindyFixedLengthDataFormat
-      - org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat
-    camel-quarkus-vm:
+      - org.apache.camel.component.netty.NettyComponent
+    camel-quarkus-jolt:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vm
+      artifactId: camel-quarkus-jolt
       schemes:
-      - id: vm
+      - id: jolt
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.vm.VmComponent
-    camel-quarkus-paho:
+      - org.apache.camel.component.jolt.JoltComponent
+    camel-quarkus-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-paho
+      artifactId: camel-quarkus-http
       schemes:
-      - id: paho
+      - id: https
+        http: false
+        passive: false
+      - id: http
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.paho.PahoComponent
-    camel-quarkus-lzf:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-lzf
-      dataformats:
-      - lzf
-      javaTypes:
-      - org.apache.camel.dataformat.lzf.LZFDataFormat
-    camel-quarkus-ref:
+      - org.apache.camel.component.http.HttpComponent
+    camel-quarkus-telegram:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ref
+      artifactId: camel-quarkus-telegram
       schemes:
-      - id: ref
+      - id: telegram
         http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.ref.RefComponent
-    camel-quarkus-univocity-parsers:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-univocity-parsers
-      dataformats:
-      - univocity-fixed
-      - univocity-tsv
-      - univocity-csv
+        passive: false
       javaTypes:
-      - org.apache.camel.dataformat.univocity.UniVocityTsvDataFormat
-      - org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat
-      - org.apache.camel.dataformat.univocity.UniVocityFixedWidthDataFormat
-    camel-quarkus-mvel:
+      - org.apache.camel.component.telegram.TelegramComponent
+    camel-quarkus-ganglia:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mvel
+      artifactId: camel-quarkus-ganglia
       schemes:
-      - id: mvel
+      - id: ganglia
         http: false
         passive: false
-      languages:
-      - mvel
       javaTypes:
-      - org.apache.camel.language.mvel.MvelLanguage
-      - org.apache.camel.component.mvel.MvelComponent
-    camel-quarkus-aws2-sns:
+      - org.apache.camel.component.ganglia.GangliaComponent
+    camel-quarkus-aws2-kinesis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-sns
+      artifactId: camel-quarkus-aws2-kinesis
       schemes:
-      - id: aws2-sns
+      - id: aws2-kinesis
+        http: false
+        passive: false
+      - id: aws2-kinesis-firehose
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.sns.Sns2Component
-    camel-quarkus-jsonb:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsonb
-      dataformats:
-      - json-jsonb
-      javaTypes:
-      - org.apache.camel.component.jsonb.JsonbDataFormat
-    camel-quarkus-nsq:
+      - org.apache.camel.component.aws2.kinesis.Kinesis2Component
+      - org.apache.camel.component.aws2.firehose.KinesisFirehose2Component
+    camel-quarkus-twitter:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nsq
+      artifactId: camel-quarkus-twitter
       schemes:
-      - id: nsq
+      - id: twitter-timeline
+        http: false
+        passive: false
+      - id: twitter-directmessage
+        http: false
+        passive: false
+      - id: twitter-search
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nsq.NsqComponent
-    camel-quarkus-xpath:
+      - org.apache.camel.component.twitter.search.TwitterSearchComponent
+      - org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent
+      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
+    camel-quarkus-aws-swf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xpath
-      languages:
-      - xpath
+      artifactId: camel-quarkus-aws-swf
+      schemes:
+      - id: aws-swf
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.language.xpath.XPathLanguage
-    camel-quarkus-facebook:
+      - org.apache.camel.component.aws.swf.SWFComponent
+    camel-quarkus-pubnub:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-facebook
+      artifactId: camel-quarkus-pubnub
       schemes:
-      - id: facebook
+      - id: pubnub
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.facebook.FacebookComponent
-    camel-quarkus-ognl:
+      - org.apache.camel.component.pubnub.PubNubComponent
+    camel-quarkus-stub:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ognl
-      languages:
-      - ognl
+      artifactId: camel-quarkus-stub
+      schemes:
+      - id: stub
+        http: false
+        passive: true
       javaTypes:
-      - org.apache.camel.language.ognl.OgnlLanguage
-    camel-quarkus-consul:
+      - org.apache.camel.component.stub.StubComponent
+    camel-quarkus-aws2-sqs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-consul
+      artifactId: camel-quarkus-aws2-sqs
       schemes:
-      - id: consul
+      - id: aws2-sqs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.consul.ConsulComponent
-    camel-quarkus-jdbc:
+      - org.apache.camel.component.aws2.sqs.Sqs2Component
+    camel-quarkus-jt400:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jdbc
+      artifactId: camel-quarkus-jt400
       schemes:
-      - id: jdbc
+      - id: jt400
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jdbc.JdbcComponent
-    camel-quarkus-vertx:
+      - org.apache.camel.component.jt400.Jt400Component
+    camel-quarkus-iota:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vertx
+      artifactId: camel-quarkus-iota
       schemes:
-      - id: vertx
+      - id: iota
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.vertx.VertxComponent
-    camel-quarkus-controlbus:
+      - org.apache.camel.component.iota.IOTAComponent
+    camel-quarkus-jsonapi:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-controlbus
-      schemes:
-      - id: controlbus
-        http: false
-        passive: true
+      artifactId: camel-quarkus-jsonapi
+      dataformats:
+      - jsonApi
       javaTypes:
-      - org.apache.camel.component.controlbus.ControlBusComponent
-    camel-quarkus-weka:
+      - org.apache.camel.component.jsonapi.JsonApiDataFormat
+    camel-quarkus-aws2-eks:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-weka
+      artifactId: camel-quarkus-aws2-eks
       schemes:
-      - id: weka
+      - id: aws2-eks
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.weka.WekaComponent
-    camel-quarkus-iec60870:
+      - org.apache.camel.component.aws2.eks.EKS2Component
+    camel-quarkus-weather:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-iec60870
+      artifactId: camel-quarkus-weather
       schemes:
-      - id: iec60870-client
-        http: false
-        passive: false
-      - id: iec60870-server
+      - id: weather
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.iec60870.server.ServerComponent
-      - org.apache.camel.component.iec60870.client.ClientComponent
-    camel-quarkus-mock:
+      - org.apache.camel.component.weather.WeatherComponent
+    camel-quarkus-scheduler:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mock
+      artifactId: camel-quarkus-scheduler
       schemes:
-      - id: mock
+      - id: scheduler
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.mock.MockComponent
-    camel-quarkus-aws2-ddb:
+      - org.apache.camel.component.scheduler.SchedulerComponent
+    camel-quarkus-jaxb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ddb
+      artifactId: camel-quarkus-jaxb
+      dataformats:
+      - jaxb
+      javaTypes:
+      - org.apache.camel.converter.jaxb.JaxbDataFormat
+    camel-quarkus-jing:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jing
       schemes:
-      - id: aws2-ddbstream
-        http: false
-        passive: false
-      - id: aws2-ddb
+      - id: jing
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.ddbstream.Ddb2StreamComponent
-      - org.apache.camel.component.aws2.ddb.Ddb2Component
-    camel-quarkus-jpa:
+      - org.apache.camel.component.validator.jing.JingComponent
+    camel-quarkus-dataformat:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jpa
+      artifactId: camel-quarkus-dataformat
       schemes:
-      - id: jpa
+      - id: dataformat
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.jpa.JpaComponent
-    camel-quarkus-pulsar:
+      - org.apache.camel.component.dataformat.DataFormatComponent
+    camel-quarkus-jgroups:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pulsar
+      artifactId: camel-quarkus-jgroups
       schemes:
-      - id: pulsar
+      - id: jgroups
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pulsar.PulsarComponent
-    camel-quarkus-guava-eventbus:
+      - org.apache.camel.component.jgroups.JGroupsComponent
+    camel-quarkus-yammer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-guava-eventbus
+      artifactId: camel-quarkus-yammer
       schemes:
-      - id: guava-eventbus
+      - id: yammer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.guava.eventbus.GuavaEventBusComponent
-    camel-quarkus-amqp:
+      - org.apache.camel.component.yammer.YammerComponent
+    camel-quarkus-hbase:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-amqp
+      artifactId: camel-quarkus-hbase
       schemes:
-      - id: amqp
+      - id: hbase
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.amqp.AMQPComponent
-    camel-quarkus-flink:
+      - org.apache.camel.component.hbase.HBaseComponent
+    camel-quarkus-aws-sdb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-flink
+      artifactId: camel-quarkus-aws-sdb
       schemes:
-      - id: flink
+      - id: aws-sdb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.flink.FlinkComponent
-    camel-quarkus-debezium-postgres:
+      - org.apache.camel.component.aws.sdb.SdbComponent
+    camel-quarkus-sap-netweaver:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-postgres
+      artifactId: camel-quarkus-sap-netweaver
       schemes:
-      - id: debezium-postgres
+      - id: sap-netweaver
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumPostgresComponent
-    camel-quarkus-aws-iam:
+      - org.apache.camel.component.sap.netweaver.NetWeaverComponent
+    camel-quarkus-servicenow:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-iam
+      artifactId: camel-quarkus-servicenow
       schemes:
-      - id: aws-iam
+      - id: servicenow
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.iam.IAMComponent
-    camel-quarkus-syslog:
+      - org.apache.camel.component.servicenow.ServiceNowComponent
+    camel-quarkus-grpc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-syslog
-      dataformats:
-      - syslog
+      artifactId: camel-quarkus-grpc
+      schemes:
+      - id: grpc
+        http: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.syslog.SyslogDataFormat
-    camel-quarkus-smpp:
+      - org.apache.camel.component.grpc.GrpcComponent
+    camel-quarkus-ipfs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-smpp
+      artifactId: camel-quarkus-ipfs
       schemes:
-      - id: smpp
+      - id: ipfs
         http: false
         passive: false
-      - id: smpps
+      javaTypes:
+      - org.apache.camel.component.ipfs.IPFSComponent
+    camel-quarkus-aws-kms:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-kms
+      schemes:
+      - id: aws-kms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.smpp.SmppComponent
-    camel-quarkus-zip-deflater:
+      - org.apache.camel.component.aws.kms.KMSComponent
+    camel-quarkus-stax:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zip-deflater
-      dataformats:
-      - zipdeflater
-      - gzipdeflater
+      artifactId: camel-quarkus-stax
+      schemes:
+      - id: stax
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat
-      - org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat
-    camel-quarkus-workday:
+      - org.apache.camel.component.stax.StAXComponent
+    camel-quarkus-aws2-msk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-workday
+      artifactId: camel-quarkus-aws2-msk
       schemes:
-      - id: workday
+      - id: aws2-msk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.workday.WorkdayComponent
-    camel-quarkus-couchdb:
+      - org.apache.camel.component.aws2.msk.MSK2Component
+    camel-quarkus-debezium-sqlserver:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-couchdb
+      artifactId: camel-quarkus-debezium-sqlserver
       schemes:
-      - id: couchdb
+      - id: debezium-sqlserver
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.couchdb.CouchDbComponent
-    camel-quarkus-grok:
+      - org.apache.camel.component.debezium.DebeziumSqlserverComponent
+    camel-quarkus-snakeyaml:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-grok
+      artifactId: camel-quarkus-snakeyaml
       dataformats:
-      - grok
+      - yaml-snakeyaml
       javaTypes:
-      - org.apache.camel.component.grok.GrokDataFormat
-    camel-quarkus-aws-s3:
+      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
+    camel-quarkus-fastjson:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-s3
+      artifactId: camel-quarkus-fastjson
+      dataformats:
+      - json-fastjson
+      javaTypes:
+      - org.apache.camel.component.fastjson.FastjsonDataFormat
+    camel-quarkus-xj:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-xj
       schemes:
-      - id: aws-s3
+      - id: xj
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.s3.S3Component
+      - org.apache.camel.component.xj.XJComponent
+    camel-quarkus-direct:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-direct
+      schemes:
+      - id: direct
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.direct.DirectComponent
     camel-quarkus-bean:
       groupId: org.apache.camel.quarkus
       artifactId: camel-quarkus-bean
@@ -2849,92 +2837,104 @@ spec:
       languages:
       - bean
       javaTypes:
-      - org.apache.camel.language.bean.BeanLanguage
-      - org.apache.camel.component.bean.BeanComponent
       - org.apache.camel.component.beanclass.ClassComponent
-    camel-quarkus-direct:
+      - org.apache.camel.component.bean.BeanComponent
+      - org.apache.camel.language.bean.BeanLanguage
+    camel-quarkus-aws-s3:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-direct
+      artifactId: camel-quarkus-aws-s3
       schemes:
-      - id: direct
+      - id: aws-s3
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.direct.DirectComponent
-    camel-quarkus-xj:
+      - org.apache.camel.component.aws.s3.S3Component
+    camel-quarkus-grok:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xj
+      artifactId: camel-quarkus-grok
+      dataformats:
+      - grok
+      javaTypes:
+      - org.apache.camel.component.grok.GrokDataFormat
+    camel-quarkus-couchdb:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-couchdb
       schemes:
-      - id: xj
+      - id: couchdb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xj.XJComponent
-    camel-quarkus-fastjson:
+      - org.apache.camel.component.couchdb.CouchDbComponent
+    camel-quarkus-workday:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fastjson
-      dataformats:
-      - json-fastjson
+      artifactId: camel-quarkus-workday
+      schemes:
+      - id: workday
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.component.fastjson.FastjsonDataFormat
-    camel-quarkus-snakeyaml:
+      - org.apache.camel.component.workday.WorkdayComponent
+    camel-quarkus-zip-deflater:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-snakeyaml
+      artifactId: camel-quarkus-zip-deflater
       dataformats:
-      - yaml-snakeyaml
+      - gzipdeflater
+      - zipdeflater
       javaTypes:
-      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
-    camel-quarkus-debezium-sqlserver:
+      - org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat
+      - org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat
+    camel-quarkus-smpp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-sqlserver
+      artifactId: camel-quarkus-smpp
       schemes:
-      - id: debezium-sqlserver
+      - id: smpps
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.debezium.DebeziumSqlserverComponent
-    camel-quarkus-aws2-msk:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-msk
-      schemes:
-      - id: aws2-msk
+      - id: smpp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.msk.MSK2Component
-    camel-quarkus-stax:
+      - org.apache.camel.component.smpp.SmppComponent
+    camel-quarkus-syslog:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stax
+      artifactId: camel-quarkus-syslog
+      dataformats:
+      - syslog
+      javaTypes:
+      - org.apache.camel.component.syslog.SyslogDataFormat
+    camel-quarkus-aws-iam:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-iam
       schemes:
-      - id: stax
+      - id: aws-iam
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stax.StAXComponent
-    camel-quarkus-aws-kms:
+      - org.apache.camel.component.aws.iam.IAMComponent
+    camel-quarkus-debezium-postgres:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-kms
+      artifactId: camel-quarkus-debezium-postgres
       schemes:
-      - id: aws-kms
+      - id: debezium-postgres
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.kms.KMSComponent
+      - org.apache.camel.component.debezium.DebeziumPostgresComponent
   loaders:
-    xml:
+    kts:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-xml
+      artifactId: camel-k-loader-kotlin
       languages:
-      - xml
+      - kts
       metadata:
-        native: "true"
-    java:
+        native: "false"
+    yaml:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-java
+      artifactId: camel-k-loader-yaml
       languages:
-      - java
+      - yaml
       metadata:
-        native: "false"
+        native: "true"
     groovy:
       groupId: org.apache.camel.k
       artifactId: camel-k-loader-groovy
@@ -2942,20 +2942,20 @@ spec:
       - groovy
       metadata:
         native: "false"
-    yaml:
+    java:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-yaml
+      artifactId: camel-k-loader-java
       languages:
-      - yaml
+      - java
       metadata:
-        native: "true"
-    kts:
+        native: "false"
+    xml:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-kotlin
+      artifactId: camel-k-loader-xml
       languages:
-      - kts
+      - xml
       metadata:
-        native: "false"
+        native: "true"
     js:
       groupId: org.apache.camel.k
       artifactId: camel-k-loader-js
diff --git a/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_integrations.yaml b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_integrations.yaml
index c28a5a8..96e26b9 100644
--- a/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_integrations.yaml
+++ b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_integrations.yaml
@@ -44,7 +44,7 @@ spec:
       name: Phase
       type: string
     - description: The integration kit
-      jsonPath: .status.kit
+      jsonPath: .status.integrationKit.name
       name: Kit
       type: string
     - description: The number of pods
@@ -95,7 +95,67 @@ spec:
                   type: object
                   x-kubernetes-preserve-unknown-fields: true
                 type: array
+              integrationKit:
+                description: 'ObjectReference contains enough information to let you
+                  inspect or modify the referred object. --- New uses of this type
+                  are discouraged because of difficulty describing its usage when
+                  embedded in APIs.  1. Ignored fields.  It includes many fields which
+                  are not generally honored.  For instance, ResourceVersion and FieldPath
+                  are both very rarely valid in actual usage.  2. Invalid usage help.  It
+                  is impossible to add specific help for individual usage.  In most
+                  embedded usages, there are particular     restrictions like, "must
+                  refer only to types A and B" or "UID not honored" or "name must
+                  be restricted".     Those cannot be well described when embedded.  3.
+                  Inconsistent validation.  Because the usages are different, the
+                  validation rules are different by usage, which makes it hard for
+                  users to predict what will happen.  4. The fields are both imprecise
+                  and overly precise.  Kind is not a precise mapping to a URL. This
+                  can produce ambiguity     during interpretation and require a REST
+                  mapping.  In most cases, the dependency is on the group,resource
+                  tuple     and the version of the actual struct is irrelevant.  5.
+                  We cannot easily change it.  Because this type is embedded in many
+                  locations, updates to this type     will affect numerous schemas.  Don''t
+                  make new APIs embed an underspecified API type they do not control.
+                  Instead of using this type, create a locally provided and used type
+                  that is well-focused on your reference. For example, ServiceReferences
+                  for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
+                  .'
+                properties:
+                  apiVersion:
+                    description: API version of the referent.
+                    type: string
+                  fieldPath:
+                    description: 'If referring to a piece of an object instead of
+                      an entire object, this string should contain a valid JSON/Go
+                      field access statement, such as desiredState.manifest.containers[2].
+                      For example, if the object reference is to a container within
+                      a pod, this would take on a value like: "spec.containers{name}"
+                      (where "name" refers to the name of the container that triggered
+                      the event) or if no container name is specified "spec.containers[2]"
+                      (container with index 2 in this pod). This syntax is chosen
+                      only to have some well-defined way of referencing a part of
+                      an object. TODO: this design is not final and this field is
+                      subject to change in the future.'
+                    type: string
+                  kind:
+                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+                    type: string
+                  name:
+                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+                    type: string
+                  namespace:
+                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
+                    type: string
+                  resourceVersion:
+                    description: 'Specific resourceVersion to which this reference
+                      is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
+                    type: string
+                  uid:
+                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
+                    type: string
+                type: object
               kit:
+                description: 'Deprecated: use the IntegrationKit field'
                 type: string
               profile:
                 description: TraitProfile represents lists of traits that are enabled
@@ -355,7 +415,67 @@ spec:
                 type: array
               image:
                 type: string
+              integrationKit:
+                description: 'ObjectReference contains enough information to let you
+                  inspect or modify the referred object. --- New uses of this type
+                  are discouraged because of difficulty describing its usage when
+                  embedded in APIs.  1. Ignored fields.  It includes many fields which
+                  are not generally honored.  For instance, ResourceVersion and FieldPath
+                  are both very rarely valid in actual usage.  2. Invalid usage help.  It
+                  is impossible to add specific help for individual usage.  In most
+                  embedded usages, there are particular     restrictions like, "must
+                  refer only to types A and B" or "UID not honored" or "name must
+                  be restricted".     Those cannot be well described when embedded.  3.
+                  Inconsistent validation.  Because the usages are different, the
+                  validation rules are different by usage, which makes it hard for
+                  users to predict what will happen.  4. The fields are both imprecise
+                  and overly precise.  Kind is not a precise mapping to a URL. This
+                  can produce ambiguity     during interpretation and require a REST
+                  mapping.  In most cases, the dependency is on the group,resource
+                  tuple     and the version of the actual struct is irrelevant.  5.
+                  We cannot easily change it.  Because this type is embedded in many
+                  locations, updates to this type     will affect numerous schemas.  Don''t
+                  make new APIs embed an underspecified API type they do not control.
+                  Instead of using this type, create a locally provided and used type
+                  that is well-focused on your reference. For example, ServiceReferences
+                  for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
+                  .'
+                properties:
+                  apiVersion:
+                    description: API version of the referent.
+                    type: string
+                  fieldPath:
+                    description: 'If referring to a piece of an object instead of
+                      an entire object, this string should contain a valid JSON/Go
+                      field access statement, such as desiredState.manifest.containers[2].
+                      For example, if the object reference is to a container within
+                      a pod, this would take on a value like: "spec.containers{name}"
+                      (where "name" refers to the name of the container that triggered
+                      the event) or if no container name is specified "spec.containers[2]"
+                      (container with index 2 in this pod). This syntax is chosen
+                      only to have some well-defined way of referencing a part of
+                      an object. TODO: this design is not final and this field is
+                      subject to change in the future.'
+                    type: string
+                  kind:
+                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+                    type: string
+                  name:
+                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+                    type: string
+                  namespace:
+                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
+                    type: string
+                  resourceVersion:
+                    description: 'Specific resourceVersion to which this reference
+                      is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
+                    type: string
+                  uid:
+                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
+                    type: string
+                type: object
               kit:
+                description: 'Deprecated: use the IntegrationKit field'
                 type: string
               lastInitTimestamp:
                 description: The timestamp representing the last time when this integration
@@ -367,8 +487,6 @@ spec:
                 type: string
               platform:
                 type: string
-              platformNamespace:
-                type: string
               profile:
                 description: TraitProfile represents lists of traits that are enabled
                   for the specific installation/integration
diff --git a/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_kameletbindings.yaml b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_kameletbindings.yaml
index 5a427b5..c9a8b87 100644
--- a/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_kameletbindings.yaml
+++ b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_kameletbindings.yaml
@@ -91,7 +91,68 @@ spec:
                       type: object
                       x-kubernetes-preserve-unknown-fields: true
                     type: array
+                  integrationKit:
+                    description: 'ObjectReference contains enough information to let
+                      you inspect or modify the referred object. --- New uses of this
+                      type are discouraged because of difficulty describing its usage
+                      when embedded in APIs.  1. Ignored fields.  It includes many
+                      fields which are not generally honored.  For instance, ResourceVersion
+                      and FieldPath are both very rarely valid in actual usage.  2.
+                      Invalid usage help.  It is impossible to add specific help for
+                      individual usage.  In most embedded usages, there are particular     restrictions
+                      like, "must refer only to types A and B" or "UID not honored"
+                      or "name must be restricted".     Those cannot be well described
+                      when embedded.  3. Inconsistent validation.  Because the usages
+                      are different, the validation rules are different by usage,
+                      which makes it hard for users to predict what will happen.  4.
+                      The fields are both imprecise and overly precise.  Kind is not
+                      a precise mapping to a URL. This can produce ambiguity     during
+                      interpretation and require a REST mapping.  In most cases, the
+                      dependency is on the group,resource tuple     and the version
+                      of the actual struct is irrelevant.  5. We cannot easily change
+                      it.  Because this type is embedded in many locations, updates
+                      to this type     will affect numerous schemas.  Don''t make
+                      new APIs embed an underspecified API type they do not control.
+                      Instead of using this type, create a locally provided and used
+                      type that is well-focused on your reference. For example, ServiceReferences
+                      for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
+                      .'
+                    properties:
+                      apiVersion:
+                        description: API version of the referent.
+                        type: string
+                      fieldPath:
+                        description: 'If referring to a piece of an object instead
+                          of an entire object, this string should contain a valid
+                          JSON/Go field access statement, such as desiredState.manifest.containers[2].
+                          For example, if the object reference is to a container within
+                          a pod, this would take on a value like: "spec.containers{name}"
+                          (where "name" refers to the name of the container that triggered
+                          the event) or if no container name is specified "spec.containers[2]"
+                          (container with index 2 in this pod). This syntax is chosen
+                          only to have some well-defined way of referencing a part
+                          of an object. TODO: this design is not final and this field
+                          is subject to change in the future.'
+                        type: string
+                      kind:
+                        description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+                        type: string
+                      name:
+                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+                        type: string
+                      namespace:
+                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
+                        type: string
+                      resourceVersion:
+                        description: 'Specific resourceVersion to which this reference
+                          is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
+                        type: string
+                      uid:
+                        description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
+                        type: string
+                    type: object
                   kit:
+                    description: 'Deprecated: use the IntegrationKit field'
                     type: string
                   profile:
                     description: TraitProfile represents lists of traits that are
diff --git a/docs/modules/ROOT/assets/attachments/schema/integration-schema.json b/docs/modules/ROOT/assets/attachments/schema/integration-schema.json
index 7423a3c..14b7051 100644
--- a/docs/modules/ROOT/assets/attachments/schema/integration-schema.json
+++ b/docs/modules/ROOT/assets/attachments/schema/integration-schema.json
@@ -66,7 +66,42 @@
             }
           }
         },
+        "integrationKit": {
+          "description": "ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.  1. Ignored fields.  It includes many fields which are not generally honored.  For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage.  2. Invalid usage help.  It is impossible to add specific help for individual usage.  In most emb [...]
+          "type": "object",
+          "properties": {
+            "apiVersion": {
+              "description": "API version of the referent.",
+              "type": "string"
+            },
+            "fieldPath": {
+              "description": "If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: \"spec.containers{name}\" (where \"name\" refers to the name of the container that triggered the event) or if no container name is specified \"spec.containers[2]\" (container with in [...]
+              "type": "string"
+            },
+            "kind": {
+              "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+              "type": "string"
+            },
+            "name": {
+              "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+              "type": "string"
+            },
+            "namespace": {
+              "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/",
+              "type": "string"
+            },
+            "resourceVersion": {
+              "description": "Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency",
+              "type": "string"
+            },
+            "uid": {
+              "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids",
+              "type": "string"
+            }
+          }
+        },
         "kit": {
+          "description": "Deprecated: use the IntegrationKit field",
           "type": "string"
         },
         "profile": {
@@ -418,7 +453,42 @@
         "image": {
           "type": "string"
         },
+        "integrationKit": {
+          "description": "ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.  1. Ignored fields.  It includes many fields which are not generally honored.  For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage.  2. Invalid usage help.  It is impossible to add specific help for individual usage.  In most emb [...]
+          "type": "object",
+          "properties": {
+            "apiVersion": {
+              "description": "API version of the referent.",
+              "type": "string"
+            },
+            "fieldPath": {
+              "description": "If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: \"spec.containers{name}\" (where \"name\" refers to the name of the container that triggered the event) or if no container name is specified \"spec.containers[2]\" (container with in [...]
+              "type": "string"
+            },
+            "kind": {
+              "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
+              "type": "string"
+            },
+            "name": {
+              "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+              "type": "string"
+            },
+            "namespace": {
+              "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/",
+              "type": "string"
+            },
+            "resourceVersion": {
+              "description": "Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency",
+              "type": "string"
+            },
+            "uid": {
+              "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids",
+              "type": "string"
+            }
+          }
+        },
         "kit": {
+          "description": "Deprecated: use the IntegrationKit field",
           "type": "string"
         },
         "lastInitTimestamp": {
@@ -433,9 +503,6 @@
         "platform": {
           "type": "string"
         },
-        "platformNamespace": {
-          "type": "string"
-        },
         "profile": {
           "description": "TraitProfile represents lists of traits that are enabled for the specific installation/integration",
           "type": "string"
diff --git a/e2e/support/test_support.go b/e2e/support/test_support.go
index cdd0d7f..f9250ca 100644
--- a/e2e/support/test_support.go
+++ b/e2e/support/test_support.go
@@ -461,7 +461,10 @@ func IntegrationKit(ns string, name string) func() string {
 		if it == nil {
 			return ""
 		}
-		return it.Status.Kit
+		if it.Status.IntegrationKit == nil {
+			return ""
+		}
+		return it.Status.IntegrationKit.Name
 	}
 }
 
diff --git a/helm/camel-k/crds/crd-integration.yaml b/helm/camel-k/crds/crd-integration.yaml
index c28a5a8..96e26b9 100644
--- a/helm/camel-k/crds/crd-integration.yaml
+++ b/helm/camel-k/crds/crd-integration.yaml
@@ -44,7 +44,7 @@ spec:
       name: Phase
       type: string
     - description: The integration kit
-      jsonPath: .status.kit
+      jsonPath: .status.integrationKit.name
       name: Kit
       type: string
     - description: The number of pods
@@ -95,7 +95,67 @@ spec:
                   type: object
                   x-kubernetes-preserve-unknown-fields: true
                 type: array
+              integrationKit:
+                description: 'ObjectReference contains enough information to let you
+                  inspect or modify the referred object. --- New uses of this type
+                  are discouraged because of difficulty describing its usage when
+                  embedded in APIs.  1. Ignored fields.  It includes many fields which
+                  are not generally honored.  For instance, ResourceVersion and FieldPath
+                  are both very rarely valid in actual usage.  2. Invalid usage help.  It
+                  is impossible to add specific help for individual usage.  In most
+                  embedded usages, there are particular     restrictions like, "must
+                  refer only to types A and B" or "UID not honored" or "name must
+                  be restricted".     Those cannot be well described when embedded.  3.
+                  Inconsistent validation.  Because the usages are different, the
+                  validation rules are different by usage, which makes it hard for
+                  users to predict what will happen.  4. The fields are both imprecise
+                  and overly precise.  Kind is not a precise mapping to a URL. This
+                  can produce ambiguity     during interpretation and require a REST
+                  mapping.  In most cases, the dependency is on the group,resource
+                  tuple     and the version of the actual struct is irrelevant.  5.
+                  We cannot easily change it.  Because this type is embedded in many
+                  locations, updates to this type     will affect numerous schemas.  Don''t
+                  make new APIs embed an underspecified API type they do not control.
+                  Instead of using this type, create a locally provided and used type
+                  that is well-focused on your reference. For example, ServiceReferences
+                  for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
+                  .'
+                properties:
+                  apiVersion:
+                    description: API version of the referent.
+                    type: string
+                  fieldPath:
+                    description: 'If referring to a piece of an object instead of
+                      an entire object, this string should contain a valid JSON/Go
+                      field access statement, such as desiredState.manifest.containers[2].
+                      For example, if the object reference is to a container within
+                      a pod, this would take on a value like: "spec.containers{name}"
+                      (where "name" refers to the name of the container that triggered
+                      the event) or if no container name is specified "spec.containers[2]"
+                      (container with index 2 in this pod). This syntax is chosen
+                      only to have some well-defined way of referencing a part of
+                      an object. TODO: this design is not final and this field is
+                      subject to change in the future.'
+                    type: string
+                  kind:
+                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+                    type: string
+                  name:
+                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+                    type: string
+                  namespace:
+                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
+                    type: string
+                  resourceVersion:
+                    description: 'Specific resourceVersion to which this reference
+                      is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
+                    type: string
+                  uid:
+                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
+                    type: string
+                type: object
               kit:
+                description: 'Deprecated: use the IntegrationKit field'
                 type: string
               profile:
                 description: TraitProfile represents lists of traits that are enabled
@@ -355,7 +415,67 @@ spec:
                 type: array
               image:
                 type: string
+              integrationKit:
+                description: 'ObjectReference contains enough information to let you
+                  inspect or modify the referred object. --- New uses of this type
+                  are discouraged because of difficulty describing its usage when
+                  embedded in APIs.  1. Ignored fields.  It includes many fields which
+                  are not generally honored.  For instance, ResourceVersion and FieldPath
+                  are both very rarely valid in actual usage.  2. Invalid usage help.  It
+                  is impossible to add specific help for individual usage.  In most
+                  embedded usages, there are particular     restrictions like, "must
+                  refer only to types A and B" or "UID not honored" or "name must
+                  be restricted".     Those cannot be well described when embedded.  3.
+                  Inconsistent validation.  Because the usages are different, the
+                  validation rules are different by usage, which makes it hard for
+                  users to predict what will happen.  4. The fields are both imprecise
+                  and overly precise.  Kind is not a precise mapping to a URL. This
+                  can produce ambiguity     during interpretation and require a REST
+                  mapping.  In most cases, the dependency is on the group,resource
+                  tuple     and the version of the actual struct is irrelevant.  5.
+                  We cannot easily change it.  Because this type is embedded in many
+                  locations, updates to this type     will affect numerous schemas.  Don''t
+                  make new APIs embed an underspecified API type they do not control.
+                  Instead of using this type, create a locally provided and used type
+                  that is well-focused on your reference. For example, ServiceReferences
+                  for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
+                  .'
+                properties:
+                  apiVersion:
+                    description: API version of the referent.
+                    type: string
+                  fieldPath:
+                    description: 'If referring to a piece of an object instead of
+                      an entire object, this string should contain a valid JSON/Go
+                      field access statement, such as desiredState.manifest.containers[2].
+                      For example, if the object reference is to a container within
+                      a pod, this would take on a value like: "spec.containers{name}"
+                      (where "name" refers to the name of the container that triggered
+                      the event) or if no container name is specified "spec.containers[2]"
+                      (container with index 2 in this pod). This syntax is chosen
+                      only to have some well-defined way of referencing a part of
+                      an object. TODO: this design is not final and this field is
+                      subject to change in the future.'
+                    type: string
+                  kind:
+                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+                    type: string
+                  name:
+                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+                    type: string
+                  namespace:
+                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
+                    type: string
+                  resourceVersion:
+                    description: 'Specific resourceVersion to which this reference
+                      is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
+                    type: string
+                  uid:
+                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
+                    type: string
+                type: object
               kit:
+                description: 'Deprecated: use the IntegrationKit field'
                 type: string
               lastInitTimestamp:
                 description: The timestamp representing the last time when this integration
@@ -367,8 +487,6 @@ spec:
                 type: string
               platform:
                 type: string
-              platformNamespace:
-                type: string
               profile:
                 description: TraitProfile represents lists of traits that are enabled
                   for the specific installation/integration
diff --git a/helm/camel-k/crds/crd-kamelet-binding.yaml b/helm/camel-k/crds/crd-kamelet-binding.yaml
index 5a427b5..c9a8b87 100644
--- a/helm/camel-k/crds/crd-kamelet-binding.yaml
+++ b/helm/camel-k/crds/crd-kamelet-binding.yaml
@@ -91,7 +91,68 @@ spec:
                       type: object
                       x-kubernetes-preserve-unknown-fields: true
                     type: array
+                  integrationKit:
+                    description: 'ObjectReference contains enough information to let
+                      you inspect or modify the referred object. --- New uses of this
+                      type are discouraged because of difficulty describing its usage
+                      when embedded in APIs.  1. Ignored fields.  It includes many
+                      fields which are not generally honored.  For instance, ResourceVersion
+                      and FieldPath are both very rarely valid in actual usage.  2.
+                      Invalid usage help.  It is impossible to add specific help for
+                      individual usage.  In most embedded usages, there are particular     restrictions
+                      like, "must refer only to types A and B" or "UID not honored"
+                      or "name must be restricted".     Those cannot be well described
+                      when embedded.  3. Inconsistent validation.  Because the usages
+                      are different, the validation rules are different by usage,
+                      which makes it hard for users to predict what will happen.  4.
+                      The fields are both imprecise and overly precise.  Kind is not
+                      a precise mapping to a URL. This can produce ambiguity     during
+                      interpretation and require a REST mapping.  In most cases, the
+                      dependency is on the group,resource tuple     and the version
+                      of the actual struct is irrelevant.  5. We cannot easily change
+                      it.  Because this type is embedded in many locations, updates
+                      to this type     will affect numerous schemas.  Don''t make
+                      new APIs embed an underspecified API type they do not control.
+                      Instead of using this type, create a locally provided and used
+                      type that is well-focused on your reference. For example, ServiceReferences
+                      for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
+                      .'
+                    properties:
+                      apiVersion:
+                        description: API version of the referent.
+                        type: string
+                      fieldPath:
+                        description: 'If referring to a piece of an object instead
+                          of an entire object, this string should contain a valid
+                          JSON/Go field access statement, such as desiredState.manifest.containers[2].
+                          For example, if the object reference is to a container within
+                          a pod, this would take on a value like: "spec.containers{name}"
+                          (where "name" refers to the name of the container that triggered
+                          the event) or if no container name is specified "spec.containers[2]"
+                          (container with index 2 in this pod). This syntax is chosen
+                          only to have some well-defined way of referencing a part
+                          of an object. TODO: this design is not final and this field
+                          is subject to change in the future.'
+                        type: string
+                      kind:
+                        description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+                        type: string
+                      name:
+                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+                        type: string
+                      namespace:
+                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
+                        type: string
+                      resourceVersion:
+                        description: 'Specific resourceVersion to which this reference
+                          is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
+                        type: string
+                      uid:
+                        description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
+                        type: string
+                    type: object
                   kit:
+                    description: 'Deprecated: use the IntegrationKit field'
                     type: string
                   profile:
                     description: TraitProfile represents lists of traits that are
diff --git a/pkg/apis/camel/v1/integration_types.go b/pkg/apis/camel/v1/integration_types.go
index fc3689c..6ba7e10 100644
--- a/pkg/apis/camel/v1/integration_types.go
+++ b/pkg/apis/camel/v1/integration_types.go
@@ -27,40 +27,43 @@ import (
 
 // IntegrationSpec defines the desired state of Integration
 type IntegrationSpec struct {
-	Replicas           *int32               `json:"replicas,omitempty"`
-	Sources            []SourceSpec         `json:"sources,omitempty"`
-	Flows              []Flow               `json:"flows,omitempty"`
-	Resources          []ResourceSpec       `json:"resources,omitempty"`
-	Kit                string               `json:"kit,omitempty"`
-	Dependencies       []string             `json:"dependencies,omitempty"`
-	Profile            TraitProfile         `json:"profile,omitempty"`
-	Traits             map[string]TraitSpec `json:"traits,omitempty"`
-	Configuration      []ConfigurationSpec  `json:"configuration,omitempty"`
-	Repositories       []string             `json:"repositories,omitempty"`
-	ServiceAccountName string               `json:"serviceAccountName,omitempty"`
+	Replicas  *int32         `json:"replicas,omitempty"`
+	Sources   []SourceSpec   `json:"sources,omitempty"`
+	Flows     []Flow         `json:"flows,omitempty"`
+	Resources []ResourceSpec `json:"resources,omitempty"`
+	// Deprecated: use the IntegrationKit field
+	Kit                string                  `json:"kit,omitempty"`
+	IntegrationKit     *corev1.ObjectReference `json:"integrationKit,omitempty"`
+	Dependencies       []string                `json:"dependencies,omitempty"`
+	Profile            TraitProfile            `json:"profile,omitempty"`
+	Traits             map[string]TraitSpec    `json:"traits,omitempty"`
+	Configuration      []ConfigurationSpec     `json:"configuration,omitempty"`
+	Repositories       []string                `json:"repositories,omitempty"`
+	ServiceAccountName string                  `json:"serviceAccountName,omitempty"`
 }
 
 // IntegrationStatus defines the observed state of Integration
 type IntegrationStatus struct {
-	Phase              IntegrationPhase       `json:"phase,omitempty"`
-	Digest             string                 `json:"digest,omitempty"`
-	Image              string                 `json:"image,omitempty"`
-	Dependencies       []string               `json:"dependencies,omitempty"`
-	Profile            TraitProfile           `json:"profile,omitempty"`
-	Kit                string                 `json:"kit,omitempty"`
-	PlatformNamespace  string                 `json:"platformNamespace,omitempty"`
-	Platform           string                 `json:"platform,omitempty"`
-	GeneratedSources   []SourceSpec           `json:"generatedSources,omitempty"`
-	GeneratedResources []ResourceSpec         `json:"generatedResources,omitempty"`
-	Failure            *Failure               `json:"failure,omitempty"`
-	RuntimeVersion     string                 `json:"runtimeVersion,omitempty"`
-	RuntimeProvider    RuntimeProvider        `json:"runtimeProvider,omitempty"`
-	Configuration      []ConfigurationSpec    `json:"configuration,omitempty"`
-	Conditions         []IntegrationCondition `json:"conditions,omitempty"`
-	Version            string                 `json:"version,omitempty"`
-	Replicas           *int32                 `json:"replicas,omitempty"`
-	Selector           string                 `json:"selector,omitempty"`
-	Capabilities       []string               `json:"capabilities,omitempty"`
+	Phase        IntegrationPhase `json:"phase,omitempty"`
+	Digest       string           `json:"digest,omitempty"`
+	Image        string           `json:"image,omitempty"`
+	Dependencies []string         `json:"dependencies,omitempty"`
+	Profile      TraitProfile     `json:"profile,omitempty"`
+	// Deprecated: use the IntegrationKit field
+	Kit                string                  `json:"kit,omitempty"`
+	IntegrationKit     *corev1.ObjectReference `json:"integrationKit,omitempty"`
+	Platform           string                  `json:"platform,omitempty"`
+	GeneratedSources   []SourceSpec            `json:"generatedSources,omitempty"`
+	GeneratedResources []ResourceSpec          `json:"generatedResources,omitempty"`
+	Failure            *Failure                `json:"failure,omitempty"`
+	RuntimeVersion     string                  `json:"runtimeVersion,omitempty"`
+	RuntimeProvider    RuntimeProvider         `json:"runtimeProvider,omitempty"`
+	Configuration      []ConfigurationSpec     `json:"configuration,omitempty"`
+	Conditions         []IntegrationCondition  `json:"conditions,omitempty"`
+	Version            string                  `json:"version,omitempty"`
+	Replicas           *int32                  `json:"replicas,omitempty"`
+	Selector           string                  `json:"selector,omitempty"`
+	Capabilities       []string                `json:"capabilities,omitempty"`
 	// The timestamp representing the last time when this integration was initialized.
 	InitializationTimestamp *metav1.Time `json:"lastInitTimestamp,omitempty"`
 }
@@ -74,7 +77,7 @@ type IntegrationStatus struct {
 // +kubebuilder:storageversion
 // +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas,selectorpath=.status.selector
 // +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase`,description="The integration phase"
-// +kubebuilder:printcolumn:name="Kit",type=string,JSONPath=`.status.kit`,description="The integration kit"
+// +kubebuilder:printcolumn:name="Kit",type=string,JSONPath=`.status.integrationKit.name`,description="The integration kit"
 // +kubebuilder:printcolumn:name="Replicas",type=integer,JSONPath=`.status.replicas`,description="The number of pods"
 
 // Integration is the Schema for the integrations API
diff --git a/pkg/apis/camel/v1/integration_types_support.go b/pkg/apis/camel/v1/integration_types_support.go
index 6384720..34d973b 100644
--- a/pkg/apis/camel/v1/integration_types_support.go
+++ b/pkg/apis/camel/v1/integration_types_support.go
@@ -259,7 +259,6 @@ func (in *Integration) SetIntegrationPlatform(platform *IntegrationPlatform) {
 	}
 
 	in.Status.SetCondition(IntegrationConditionPlatformAvailable, cs, IntegrationConditionPlatformAvailableReason, platform.Namespace+"/"+platform.Name)
-	in.Status.PlatformNamespace = platform.Namespace
 	in.Status.Platform = platform.Name
 }
 
@@ -277,14 +276,23 @@ func (in *Integration) SetIntegrationKit(kit *IntegrationKit) {
 	}
 
 	in.Status.SetCondition(IntegrationConditionKitAvailable, cs, IntegrationConditionKitAvailableReason, message)
-	in.Status.Kit = kit.Name
+	in.Status.IntegrationKit = &corev1.ObjectReference{
+		Namespace: kit.Namespace,
+		Name:      kit.Name,
+	}
 	in.Status.Image = kit.Status.Image
 }
 
-// SetIntegrationKit --
-func (in *Integration) GetIntegrationKitNamespace() string {
-	if in.Status.PlatformNamespace != "" {
-		return in.Status.PlatformNamespace
+// GetIntegrationKitNamespace --
+func (in *Integration) GetIntegrationKitNamespace(p *IntegrationPlatform) string {
+	if in.Status.IntegrationKit != nil && in.Status.IntegrationKit.Namespace != "" {
+		return in.Status.IntegrationKit.Namespace
+	}
+	if in.Spec.IntegrationKit != nil && in.Spec.IntegrationKit.Namespace != "" {
+		return in.Spec.IntegrationKit.Namespace
+	}
+	if p != nil {
+		return p.Namespace
 	}
 	return in.Namespace
 }
diff --git a/pkg/apis/camel/v1/zz_generated.deepcopy.go b/pkg/apis/camel/v1/zz_generated.deepcopy.go
index 48ab8dd..4637c2d 100644
--- a/pkg/apis/camel/v1/zz_generated.deepcopy.go
+++ b/pkg/apis/camel/v1/zz_generated.deepcopy.go
@@ -1145,6 +1145,11 @@ func (in *IntegrationSpec) DeepCopyInto(out *IntegrationSpec) {
 			(*in)[i].DeepCopyInto(&(*out)[i])
 		}
 	}
+	if in.IntegrationKit != nil {
+		in, out := &in.IntegrationKit, &out.IntegrationKit
+		*out = new(corev1.ObjectReference)
+		**out = **in
+	}
 	if in.Dependencies != nil {
 		in, out := &in.Dependencies, &out.Dependencies
 		*out = make([]string, len(*in))
@@ -1187,6 +1192,11 @@ func (in *IntegrationStatus) DeepCopyInto(out *IntegrationStatus) {
 		*out = make([]string, len(*in))
 		copy(*out, *in)
 	}
+	if in.IntegrationKit != nil {
+		in, out := &in.IntegrationKit, &out.IntegrationKit
+		*out = new(corev1.ObjectReference)
+		**out = **in
+	}
 	if in.GeneratedSources != nil {
 		in, out := &in.GeneratedSources, &out.GeneratedSources
 		*out = make([]SourceSpec, len(*in))
diff --git a/pkg/cmd/describe_integration.go b/pkg/cmd/describe_integration.go
index 3d6b7cc..bb44607 100644
--- a/pkg/cmd/describe_integration.go
+++ b/pkg/cmd/describe_integration.go
@@ -101,7 +101,12 @@ func (command *describeIntegrationCommandOptions) describeIntegration(i v1.Integ
 
 		w.Write(0, "Phase:\t%s\n", i.Status.Phase)
 		w.Write(0, "Runtime Version:\t%s\n", i.Status.RuntimeVersion)
-		w.Write(0, "Kit:\t%s\n", i.Status.Kit)
+		kit := ""
+		if i.Status.IntegrationKit != nil {
+			ns := i.GetIntegrationKitNamespace(nil)
+			kit = fmt.Sprintf("%s/%s", ns, i.Status.IntegrationKit.Name)
+		}
+		w.Write(0, "Kit:\t%s\n", kit)
 		w.Write(0, "Image:\t%s\n", i.Status.Image)
 		w.Write(0, "Version:\t%s\n", i.Status.Version)
 
diff --git a/pkg/cmd/get.go b/pkg/cmd/get.go
index 0bdf1f4..bf0f130 100644
--- a/pkg/cmd/get.go
+++ b/pkg/cmd/get.go
@@ -81,7 +81,12 @@ func (o *getCmdOptions) run(cmd *cobra.Command, args []string) error {
 	w := tabwriter.NewWriter(cmd.OutOrStdout(), 0, 8, 1, '\t', 0)
 	fmt.Fprintln(w, "NAME\tPHASE\tKIT")
 	for _, integration := range integrationList.Items {
-		fmt.Fprintf(w, "%s\t%s\t%s\n", integration.Name, string(integration.Status.Phase), integration.Status.Kit)
+		kit := ""
+		if integration.Status.IntegrationKit != nil {
+			ns := integration.GetIntegrationKitNamespace(nil)
+			kit = fmt.Sprintf("%s/%s", ns, integration.Status.IntegrationKit.Name)
+		}
+		fmt.Fprintf(w, "%s\t%s\t%s\n", integration.Name, string(integration.Status.Phase), kit)
 	}
 	w.Flush()
 
diff --git a/pkg/cmd/log.go b/pkg/cmd/log.go
index dc2f854..ced501e 100644
--- a/pkg/cmd/log.go
+++ b/pkg/cmd/log.go
@@ -142,7 +142,7 @@ func (o *logCmdOptions) run(cmd *cobra.Command, args []string) error {
 			// the associated Integration Kit's progress
 			//
 			newLogMsg = fmt.Sprintf("The building kit for integration '%s' is being initialised. This may take some time ...", integrationId)
-			if integration.Status.Kit == "" {
+			if integration.Status.IntegrationKit == nil {
 				//
 				// Not created yet so wait quietly
 				//
@@ -155,13 +155,13 @@ func (o *logCmdOptions) run(cmd *cobra.Command, args []string) error {
 					APIVersion: v1.SchemeGroupVersion.String(),
 				},
 				ObjectMeta: metav1.ObjectMeta{
-					Namespace: o.Namespace,
-					Name:      integration.Status.Kit,
+					Namespace: integration.Status.IntegrationKit.Namespace,
+					Name:      integration.Status.IntegrationKit.Name,
 				},
 			}
 			ikKey := k8sclient.ObjectKey{
-				Namespace: o.Namespace,
-				Name:      integration.Status.Kit,
+				Namespace: integration.Status.IntegrationKit.Namespace,
+				Name:      integration.Status.IntegrationKit.Name,
 			}
 
 			//
diff --git a/pkg/cmd/run.go b/pkg/cmd/run.go
index 6f5f4ce..87e3ac8 100644
--- a/pkg/cmd/run.go
+++ b/pkg/cmd/run.go
@@ -439,6 +439,14 @@ func (o *runCmdOptions) updateIntegrationCode(c client.Client, sources []string,
 		return nil, errors.New("unable to determine integration name")
 	}
 
+	var integrationKit *corev1.ObjectReference
+	if o.IntegrationKit != "" {
+		integrationKit = &corev1.ObjectReference{
+			Namespace: namespace,
+			Name:      o.IntegrationKit,
+		}
+	}
+
 	integration := v1.Integration{
 		TypeMeta: metav1.TypeMeta{
 			Kind:       v1.IntegrationKind,
@@ -449,11 +457,11 @@ func (o *runCmdOptions) updateIntegrationCode(c client.Client, sources []string,
 			Name:      name,
 		},
 		Spec: v1.IntegrationSpec{
-			Dependencies:  make([]string, 0, len(o.Dependencies)),
-			Kit:           o.IntegrationKit,
-			Configuration: make([]v1.ConfigurationSpec, 0),
-			Repositories:  o.Repositories,
-			Profile:       v1.TraitProfileByName(o.Profile),
+			Dependencies:   make([]string, 0, len(o.Dependencies)),
+			IntegrationKit: integrationKit,
+			Configuration:  make([]v1.ConfigurationSpec, 0),
+			Repositories:   o.Repositories,
+			Profile:        v1.TraitProfileByName(o.Profile),
 		},
 	}
 
diff --git a/pkg/controller/integration/build_kit.go b/pkg/controller/integration/build_kit.go
index 1cc7827..863690d 100644
--- a/pkg/controller/integration/build_kit.go
+++ b/pkg/controller/integration/build_kit.go
@@ -22,9 +22,11 @@ import (
 	"fmt"
 
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+	"github.com/apache/camel-k/pkg/platform"
 	"github.com/apache/camel-k/pkg/trait"
 	"github.com/apache/camel-k/pkg/util"
 	"github.com/rs/xid"
+	k8serrors "k8s.io/apimachinery/pkg/api/errors"
 )
 
 // NewBuildKitAction create an action that handles integration kit build
@@ -92,7 +94,7 @@ func (action *buildKitAction) Handle(ctx context.Context, integration *v1.Integr
 			return integration, nil
 		}
 
-		if integration.Status.Kit == "" {
+		if integration.Status.IntegrationKit == nil || integration.Status.IntegrationKit.Name == "" {
 			integration.SetIntegrationKit(kit)
 
 			return integration, nil
@@ -101,8 +103,13 @@ func (action *buildKitAction) Handle(ctx context.Context, integration *v1.Integr
 		return nil, nil
 	}
 
+	pl, err := platform.GetCurrent(ctx, action.client, integration.Namespace)
+	if err != nil && !k8serrors.IsNotFound(err) {
+		return nil, err
+	}
+
 	platformKitName := fmt.Sprintf("kit-%s", xid.New())
-	platformKit := v1.NewIntegrationKit(integration.GetIntegrationKitNamespace(), platformKitName)
+	platformKit := v1.NewIntegrationKit(integration.GetIntegrationKitNamespace(pl), platformKitName)
 
 	// Add some information for post-processing, this may need to be refactored
 	// to a proper data structure
diff --git a/pkg/controller/integration/deploy.go b/pkg/controller/integration/deploy.go
index efa82ad..fee22ae 100644
--- a/pkg/controller/integration/deploy.go
+++ b/pkg/controller/integration/deploy.go
@@ -44,13 +44,13 @@ func (action *deployAction) CanHandle(integration *v1.Integration) bool {
 }
 
 func (action *deployAction) Handle(ctx context.Context, integration *v1.Integration) (*v1.Integration, error) {
-	if integration.Status.Kit == "" {
+	if integration.Status.IntegrationKit == nil {
 		return nil, errors.Errorf("no kit set on integration %s", integration.Name)
 	}
 
-	kit, err := kubernetes.GetIntegrationKit(ctx, action.client, integration.Status.Kit, integration.GetIntegrationKitNamespace())
+	kit, err := kubernetes.GetIntegrationKit(ctx, action.client, integration.Status.IntegrationKit.Name, integration.Status.IntegrationKit.Namespace)
 	if err != nil {
-		return nil, errors.Wrapf(err, "unable to find integration kit %s, %s", integration.Status.Kit, err)
+		return nil, errors.Wrapf(err, "unable to find integration kit %s/%s, %s", integration.Status.IntegrationKit.Namespace, integration.Status.IntegrationKit.Name, err)
 	}
 
 	_, err = trait.Apply(ctx, action.client, integration, kit)
diff --git a/pkg/controller/integration/initialize.go b/pkg/controller/integration/initialize.go
index d33d816..102b66d 100644
--- a/pkg/controller/integration/initialize.go
+++ b/pkg/controller/integration/initialize.go
@@ -20,6 +20,9 @@ package integration
 import (
 	"context"
 
+	"github.com/apache/camel-k/pkg/platform"
+	corev1 "k8s.io/api/core/v1"
+	k8serrors "k8s.io/apimachinery/pkg/api/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
@@ -52,10 +55,33 @@ func (action *initializeAction) Handle(ctx context.Context, integration *v1.Inte
 		return nil, err
 	}
 
-	kit := v1.NewIntegrationKit(integration.GetIntegrationKitNamespace(), integration.Spec.Kit)
+	if integration.Spec.IntegrationKit == nil && integration.Spec.Kit != "" {
+		// TODO: temporary fallback until deprecated field gets removed
+		integration.Spec.IntegrationKit = &corev1.ObjectReference{
+			Name: integration.Spec.Kit,
+		}
+	}
+
+	if integration.Spec.IntegrationKit != nil && integration.Spec.IntegrationKit.Name != "" {
+		kitNamespace := integration.Spec.IntegrationKit.Namespace
+		kitName := integration.Spec.IntegrationKit.Name
+
+		if kitNamespace == "" {
+			pl, err := platform.GetCurrent(ctx, action.client, integration.Namespace)
+			if err != nil && !k8serrors.IsNotFound(err) {
+				return nil, err
+			}
+			if pl != nil {
+				kitNamespace = pl.Namespace
+			}
+		}
+		kit := v1.NewIntegrationKit(kitNamespace, kitName)
+		integration.SetIntegrationKit(&kit)
+	} else {
+		integration.Status.IntegrationKit = nil
+	}
 
 	integration.Status.Phase = v1.IntegrationPhaseBuildingKit
-	integration.SetIntegrationKit(&kit)
 	integration.Status.Version = defaults.Version
 	if timestamp := integration.Status.InitializationTimestamp; timestamp == nil || timestamp.IsZero() {
 		now := metav1.Now()
diff --git a/pkg/controller/integration/util.go b/pkg/controller/integration/util.go
index f0fc97b..986b499 100644
--- a/pkg/controller/integration/util.go
+++ b/pkg/controller/integration/util.go
@@ -21,7 +21,9 @@ import (
 	"context"
 	"encoding/json"
 
+	"github.com/apache/camel-k/pkg/platform"
 	"github.com/pkg/errors"
+	k8errors "k8s.io/apimachinery/pkg/api/errors"
 
 	"k8s.io/apimachinery/pkg/selection"
 	k8sclient "sigs.k8s.io/controller-runtime/pkg/client"
@@ -34,17 +36,22 @@ import (
 
 // LookupKitForIntegration --
 func LookupKitForIntegration(ctx context.Context, c k8sclient.Reader, integration *v1.Integration) (*v1.IntegrationKit, error) {
-	if integration.Status.Kit != "" {
-		kit, err := kubernetes.GetIntegrationKit(ctx, c, integration.Status.Kit, integration.GetIntegrationKitNamespace())
+	if integration.Status.IntegrationKit != nil {
+		kit, err := kubernetes.GetIntegrationKit(ctx, c, integration.Status.IntegrationKit.Name, integration.Status.IntegrationKit.Namespace)
 		if err != nil {
-			return nil, errors.Wrapf(err, "unable to find integration kit %s/%s, %s", integration.GetIntegrationKitNamespace(), integration.Status.Kit, err)
+			return nil, errors.Wrapf(err, "unable to find integration kit %s/%s, %s", integration.Status.IntegrationKit.Namespace, integration.Status.IntegrationKit.Name, err)
 		}
 
 		return kit, nil
 	}
 
+	pl, err := platform.GetCurrent(ctx, c, integration.Namespace)
+	if err != nil && !k8errors.IsNotFound(err) {
+		return nil, err
+	}
+
 	options := []k8sclient.ListOption{
-		k8sclient.InNamespace(integration.GetIntegrationKitNamespace()),
+		k8sclient.InNamespace(integration.GetIntegrationKitNamespace(pl)),
 		k8sclient.MatchingLabels{
 			"camel.apache.org/runtime.version":  integration.Status.RuntimeVersion,
 			"camel.apache.org/runtime.provider": string(integration.Status.RuntimeProvider),
diff --git a/pkg/controller/integrationkit/integrationkit_controller.go b/pkg/controller/integrationkit/integrationkit_controller.go
index cc4993d..ac38555 100644
--- a/pkg/controller/integrationkit/integrationkit_controller.go
+++ b/pkg/controller/integrationkit/integrationkit_controller.go
@@ -204,27 +204,31 @@ func (r *reconcileIntegrationKit) Reconcile(request reconcile.Request) (reconcil
 	targetLog := rlog.ForIntegrationKit(target)
 
 	if target.Status.Phase == v1.IntegrationKitPhaseNone || target.Status.Phase == v1.IntegrationKitPhaseWaitingForPlatform {
-		// TODO.... here local...
-		pl, err := platform.GetOrFindLocal(ctx, r.client, target.Namespace, target.Status.Platform, true)
-		if err != nil || pl.Status.Phase != v1.IntegrationPlatformPhaseReady {
-			target.Status.Phase = v1.IntegrationKitPhaseWaitingForPlatform
-		} else {
+		if target.Labels["camel.apache.org/kit.type"] == v1.IntegrationKitTypeExternal {
 			target.Status.Phase = v1.IntegrationKitPhaseInitialization
-		}
-
-		if instance.Status.Phase != target.Status.Phase {
-			if err != nil {
-				target.Status.SetErrorCondition(v1.IntegrationKitConditionPlatformAvailable, v1.IntegrationKitConditionPlatformAvailableReason, err)
+			return r.update(ctx, &instance, target)
+		} else {
+			// Platform is always local to the kit
+			pl, err := platform.GetOrFindLocal(ctx, r.client, target.Namespace, target.Status.Platform, true)
+			if err != nil || pl.Status.Phase != v1.IntegrationPlatformPhaseReady {
+				target.Status.Phase = v1.IntegrationKitPhaseWaitingForPlatform
+			} else {
+				target.Status.Phase = v1.IntegrationKitPhaseInitialization
 			}
 
-			if pl != nil {
-				target.SetIntegrationPlatform(pl)
-			}
+			if instance.Status.Phase != target.Status.Phase {
+				if err != nil {
+					target.Status.SetErrorCondition(v1.IntegrationKitConditionPlatformAvailable, v1.IntegrationKitConditionPlatformAvailableReason, err)
+				}
 
-			return r.update(ctx, &instance, target)
-		}
+				if pl != nil {
+					target.SetIntegrationPlatform(pl)
+				}
 
-		return reconcile.Result{}, err
+				return r.update(ctx, &instance, target)
+			}
+			return reconcile.Result{}, err
+		}
 	}
 
 	actions := []Action{
diff --git a/pkg/trait/jvm.go b/pkg/trait/jvm.go
index 59b1f80..c4167f7 100644
--- a/pkg/trait/jvm.go
+++ b/pkg/trait/jvm.go
@@ -70,23 +70,27 @@ func (t *jvmTrait) Configure(e *Environment) (bool, error) {
 func (t *jvmTrait) Apply(e *Environment) error {
 	kit := e.IntegrationKit
 
-	if kit == nil && e.Integration.Status.Kit != "" {
-		name := e.Integration.Status.Kit
-		k := v1.NewIntegrationKit(e.Integration.Namespace, name)
+	if kit == nil && e.Integration.Status.IntegrationKit != nil {
+		name := e.Integration.Status.IntegrationKit.Name
+		ns := e.Integration.GetIntegrationKitNamespace(e.Platform)
+		k := v1.NewIntegrationKit(ns, name)
 		key := k8sclient.ObjectKey{
-			Namespace: e.Integration.Namespace,
+			Namespace: ns,
 			Name:      name,
 		}
 
 		if err := t.Client.Get(t.Ctx, key, &k); err != nil {
-			return errors.Wrapf(err, "unable to find integration kit %s, %s", name, err)
+			return errors.Wrapf(err, "unable to find integration kit %s/%s, %s", ns, name, err)
 		}
 
 		kit = &k
 	}
 
 	if kit == nil {
-		return fmt.Errorf("unable to find integration kit %s", e.Integration.Status.Kit)
+		if e.Integration.Status.IntegrationKit != nil {
+			return fmt.Errorf("unable to find integration kit %s/%s", e.Integration.GetIntegrationKitNamespace(e.Platform), e.Integration.Status.IntegrationKit.Name)
+		}
+		return fmt.Errorf("unable to find integration kit for integration %s", e.Integration.Name)
 	}
 
 	classpath := strset.New()
diff --git a/pkg/trait/pull_secret.go b/pkg/trait/pull_secret.go
index 1c19af7..1dea2b1 100644
--- a/pkg/trait/pull_secret.go
+++ b/pkg/trait/pull_secret.go
@@ -93,7 +93,7 @@ func (t *pullSecretTrait) Configure(e *Environment) (bool, error) {
 				}
 			}
 			isOperatorGlobal := platform.IsCurrentOperatorGlobal()
-			isKitExternal := e.Integration.GetIntegrationKitNamespace() != e.Integration.Namespace
+			isKitExternal := e.Integration.GetIntegrationKitNamespace(e.Platform) != e.Integration.Namespace
 			needsDelegation := isOpenshift && isOperatorGlobal && isKitExternal
 			t.ImagePullerDelegation = &needsDelegation
 		}
@@ -136,7 +136,7 @@ func (t *pullSecretTrait) newImagePullerRoleBinding(e *Environment) *rbacv1.Role
 	}
 	return &rbacv1.RoleBinding{
 		ObjectMeta: metav1.ObjectMeta{
-			Namespace: e.Integration.GetIntegrationKitNamespace(),
+			Namespace: e.Integration.GetIntegrationKitNamespace(e.Platform),
 			Name:      fmt.Sprintf("camel-k-puller-%s", e.Integration.Namespace),
 		},
 		RoleRef: rbacv1.RoleRef{
diff --git a/pkg/trait/trait_types.go b/pkg/trait/trait_types.go
index a44930b..a489a9b 100644
--- a/pkg/trait/trait_types.go
+++ b/pkg/trait/trait_types.go
@@ -343,8 +343,11 @@ func (e *Environment) GetIntegrationPodSpec() *corev1.PodSpec {
 
 // DetermineCatalogNamespace --
 func (e *Environment) DetermineCatalogNamespace() string {
-	if e.Integration != nil && e.Integration.Status.PlatformNamespace != "" {
-		return e.Integration.Status.PlatformNamespace
+	if e.Integration != nil && e.Integration.Status.IntegrationKit != nil && e.Integration.Status.IntegrationKit.Namespace != "" {
+		return e.Integration.Status.IntegrationKit.Namespace
+	}
+	if e.Integration != nil && e.Integration.Spec.IntegrationKit != nil && e.Integration.Spec.IntegrationKit.Namespace != "" {
+		return e.Integration.Spec.IntegrationKit.Namespace
 	}
 	if e.Platform != nil && e.Platform.Namespace != "" {
 		return e.Platform.Namespace
diff --git a/pkg/trait/util.go b/pkg/trait/util.go
index 97376f9..debba1f 100644
--- a/pkg/trait/util.go
+++ b/pkg/trait/util.go
@@ -41,15 +41,13 @@ var exactVersionRegexp = regexp.MustCompile(`^(\d+)\.(\d+)\.([\w-.]+)$`)
 
 // GetIntegrationKit retrieves the kit set on the integration
 func GetIntegrationKit(ctx context.Context, c client.Client, integration *v1.Integration) (*v1.IntegrationKit, error) {
-	if integration.Status.Kit == "" {
+	if integration.Status.IntegrationKit == nil {
 		return nil, nil
 	}
-
-	name := integration.Status.Kit
-	kit := v1.NewIntegrationKit(integration.GetIntegrationKitNamespace(), name)
+	kit := v1.NewIntegrationKit(integration.Status.IntegrationKit.Namespace, integration.Status.IntegrationKit.Name)
 	key := k8sclient.ObjectKey{
-		Namespace: integration.GetIntegrationKitNamespace(),
-		Name:      name,
+		Namespace: integration.Status.IntegrationKit.Namespace,
+		Name:      integration.Status.IntegrationKit.Name,
 	}
 	err := c.Get(ctx, key, &kit)
 	return &kit, err
diff --git a/pkg/util/digest/digest.go b/pkg/util/digest/digest.go
index 4b2dfba..462aff2 100644
--- a/pkg/util/digest/digest.go
+++ b/pkg/util/digest/digest.go
@@ -45,8 +45,10 @@ func ComputeForIntegration(integration *v1.Integration) (string, error) {
 		return "", err
 	}
 	// Integration Kit is relevant
-	if _, err := hash.Write([]byte(integration.Spec.Kit)); err != nil {
-		return "", err
+	if integration.Spec.IntegrationKit != nil {
+		if _, err := hash.Write([]byte(fmt.Sprintf("%s/%s", integration.Spec.IntegrationKit.Namespace, integration.Spec.IntegrationKit.Name))); err != nil {
+			return "", err
+		}
 	}
 	// Profile is relevant
 	if _, err := hash.Write([]byte(integration.Spec.Profile)); err != nil {