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:32 UTC

[camel-k] branch master updated (1a2f871 -> 631f67d)

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

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


    from 1a2f871  Updated CHANGELOG.md
     new 3526c96  Fix #1799: implement a global build strategy
     new 7552e03  Fix #1799: added system:image-puller delegation for OpenShift
     new 1ce7370  Fix #1799: get and create the catalog in the platform namespace only
     new c171434  Fix #1799: use fully qualified integration kit
     new 621f795  Fix #1799: add global behavior e2e test
     new c11d9d5  Fix #1799: fix catalog location
     new e21faae  Fix #1799: refactor test and regen
     new 631f67d  Fix #1799: regen resources

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../client/internalclientset/fake/register.go      |    2 +-
 .../crd/bases/camel.apache.org_integrations.yaml   |  122 +-
 .../bases/camel.apache.org_kameletbindings.yaml    |   61 +
 deploy/camel-catalog-1.6.0.yaml                    | 3242 ++++++++++----------
 .../camel.apache.org_integrations.yaml             |  122 +-
 .../camel.apache.org_kameletbindings.yaml          |   61 +
 deploy/traits.yaml                                 |    6 +
 .../attachments/schema/integration-schema.json     |   70 +
 docs/modules/traits/pages/platform.adoc            |    4 +
 docs/modules/traits/pages/pull-secret.adoc         |    4 +
 e2e/builder/global_test.go                         |   96 +-
 e2e/support/test_support.go                        |    5 +-
 go.sum                                             |    1 +
 helm/camel-k/crds/crd-integration.yaml             |  122 +-
 helm/camel-k/crds/crd-kamelet-binding.yaml         |   61 +
 pkg/apis/camel/v1/integration_types.go             |   64 +-
 pkg/apis/camel/v1/integration_types_support.go     |   23 +-
 pkg/apis/camel/v1/zz_generated.deepcopy.go         |   10 +
 pkg/builder/spectrum/publisher.go                  |    2 +-
 pkg/cmd/describe_integration.go                    |    7 +-
 pkg/cmd/get.go                                     |    7 +-
 pkg/cmd/install.go                                 |   12 +-
 pkg/cmd/log.go                                     |   10 +-
 pkg/cmd/run.go                                     |   18 +-
 pkg/controller/build/build_controller.go           |    2 +-
 pkg/controller/integration/build_kit.go            |   24 +-
 pkg/controller/integration/deploy.go               |    6 +-
 pkg/controller/integration/initialize.go           |   30 +-
 .../integration/integration_controller.go          |   23 +-
 pkg/controller/integration/platform_setup.go       |    2 +-
 pkg/controller/integration/util.go                 |   15 +-
 .../integrationkit/integrationkit_controller.go    |   35 +-
 pkg/controller/kameletbinding/common.go            |    2 +-
 pkg/platform/defaults.go                           |   13 +-
 pkg/platform/operator.go                           |    5 +
 pkg/platform/platform.go                           |   51 +-
 pkg/resources/resources.go                         |   14 +-
 pkg/trait/camel.go                                 |    2 +-
 pkg/trait/cron_test.go                             |   74 -
 pkg/trait/jvm.go                                   |   16 +-
 pkg/trait/openapi.go                               |    2 +-
 pkg/trait/platform.go                              |   31 +-
 pkg/trait/pull_secret.go                           |   75 +-
 pkg/trait/trait.go                                 |    2 +-
 pkg/trait/trait_types.go                           |   20 +-
 pkg/trait/util.go                                  |   10 +-
 pkg/util/digest/digest.go                          |    6 +-
 pkg/util/test/client.go                            |   23 +
 48 files changed, 2740 insertions(+), 1875 deletions(-)


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

Posted by nf...@apache.org.
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 {


[camel-k] 02/08: Fix #1799: added system:image-puller delegation for OpenShift

Posted by nf...@apache.org.
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 7552e0305ccfd4c1e3bd355373d0ec770834b4d7
Author: nicolaferraro <ni...@gmail.com>
AuthorDate: Fri Feb 19 12:21:42 2021 +0100

    Fix #1799: added system:image-puller delegation for OpenShift
---
 deploy/traits.yaml                                 |  3 +
 .../attachments/schema/integration-schema.json     |  3 +
 docs/modules/traits/pages/pull-secret.adoc         |  4 ++
 .../integration/integration_controller.go          | 14 ++--
 pkg/platform/defaults.go                           | 13 +++-
 pkg/trait/cron_test.go                             | 74 ---------------------
 pkg/trait/pull_secret.go                           | 75 ++++++++++++++++++++--
 pkg/util/test/client.go                            | 23 +++++++
 8 files changed, 124 insertions(+), 85 deletions(-)

diff --git a/deploy/traits.yaml b/deploy/traits.yaml
index afde044..bbf8d9a 100755
--- a/deploy/traits.yaml
+++ b/deploy/traits.yaml
@@ -533,6 +533,9 @@ traits:
   - name: secret-name
     type: string
     description: The pull secret name to set on the Pod. If left empty this is automatically taken from the `IntegrationPlatform` registry configuration.
+  - name: image-puller-delegation
+    type: bool
+    description: When using a global operator with a shared platform, this enables delegation of the `system:image-puller` cluster role on the operator namespace to the integration service account.
   - name: auto
     type: bool
     description: Automatically configures the platform registry secret on the pod if it is of type `kubernetes.io/dockerconfigjson`.
diff --git a/docs/modules/ROOT/assets/attachments/schema/integration-schema.json b/docs/modules/ROOT/assets/attachments/schema/integration-schema.json
index 249e3f3..7423a3c 100644
--- a/docs/modules/ROOT/assets/attachments/schema/integration-schema.json
+++ b/docs/modules/ROOT/assets/attachments/schema/integration-schema.json
@@ -433,6 +433,9 @@
         "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/docs/modules/traits/pages/pull-secret.adoc b/docs/modules/traits/pages/pull-secret.adoc
index 0815ae4..8d8fee2 100755
--- a/docs/modules/traits/pages/pull-secret.adoc
+++ b/docs/modules/traits/pages/pull-secret.adoc
@@ -38,6 +38,10 @@ The following configuration options are available:
 | string
 | The pull secret name to set on the Pod. If left empty this is automatically taken from the `IntegrationPlatform` registry configuration.
 
+| pull-secret.image-puller-delegation
+| bool
+| When using a global operator with a shared platform, this enables delegation of the `system:image-puller` cluster role on the operator namespace to the integration service account.
+
 | pull-secret.auto
 | bool
 | Automatically configures the platform registry secret on the pod if it is of type `kubernetes.io/dockerconfigjson`.
diff --git a/pkg/controller/integration/integration_controller.go b/pkg/controller/integration/integration_controller.go
index 2e1362b..abe0d90 100644
--- a/pkg/controller/integration/integration_controller.go
+++ b/pkg/controller/integration/integration_controller.go
@@ -150,20 +150,26 @@ func add(mgr manager.Manager, r reconcile.Reconciler, c client.Client) error {
 	// requests for any integrations that are in phase waiting for platform
 	err = ctrl.Watch(&source.Kind{Type: &v1.IntegrationPlatform{}}, &handler.EnqueueRequestsFromMapFunc{
 		ToRequests: handler.ToRequestsFunc(func(a handler.MapObject) []reconcile.Request {
-			platform := a.Object.(*v1.IntegrationPlatform)
+			pl := a.Object.(*v1.IntegrationPlatform)
 			var requests []reconcile.Request
 
-			if platform.Status.Phase == v1.IntegrationPlatformPhaseReady {
+			if pl.Status.Phase == v1.IntegrationPlatformPhaseReady {
 				list := &v1.IntegrationList{}
 
-				if err := mgr.GetClient().List(context.TODO(), list, k8sclient.InNamespace(platform.Namespace)); err != nil {
+				// Do global search in case of global operator (it may be using a global platform)
+				var opts []k8sclient.ListOption
+				if !platform.IsCurrentOperatorGlobal() {
+					opts = append(opts, k8sclient.InNamespace(pl.Namespace))
+				}
+
+				if err := mgr.GetClient().List(context.TODO(), list, opts...); err != nil {
 					log.Error(err, "Failed to retrieve integration list")
 					return requests
 				}
 
 				for _, integration := range list.Items {
 					if integration.Status.Phase == v1.IntegrationPhaseWaitingForPlatform {
-						log.Infof("Platform %s ready, wake-up integration: %s", platform.Name, integration.Name)
+						log.Infof("Platform %s ready, wake-up integration: %s", pl.Name, integration.Name)
 						requests = append(requests, reconcile.Request{
 							NamespacedName: types.NamespacedName{
 								Namespace: integration.Namespace,
diff --git a/pkg/platform/defaults.go b/pkg/platform/defaults.go
index 9da4e88..8b86acc 100644
--- a/pkg/platform/defaults.go
+++ b/pkg/platform/defaults.go
@@ -76,14 +76,23 @@ func ConfigureDefaults(ctx context.Context, c client.Client, p *v1.IntegrationPl
 	}
 
 	if p.Status.Build.BuildStrategy == "" {
-		// If the operator is global, a global build strategy should be used
-		if IsCurrentOperatorGlobal() {
+		operatorIsLocal := !IsCurrentOperatorGlobal()
+		// Local operators build in the same namespace by definition
+		buildInDifferentNamespace := !operatorIsLocal
+		if !operatorIsLocal {
+			// Unless it's a global operator using a globally shared integration platform
+			buildInDifferentNamespace = p.Namespace != GetOperatorNamespace()
+		}
+
+		// If the operator and the build are in different namespaces, pod strategy should be used (except for Spectrum)
+		if buildInDifferentNamespace {
 			if p.Status.Build.PublishStrategy == v1.IntegrationPlatformBuildPublishStrategySpectrum {
 				p.Status.Build.BuildStrategy = v1.IntegrationPlatformBuildStrategyRoutine
 			} else {
 				p.Status.Build.BuildStrategy = v1.IntegrationPlatformBuildStrategyPod
 			}
 		} else {
+			// Same-namespace builds use the fastest strategy that they support (routine when possible)
 			if p.Status.Build.PublishStrategy == v1.IntegrationPlatformBuildPublishStrategyS2I ||
 				p.Status.Build.PublishStrategy == v1.IntegrationPlatformBuildPublishStrategySpectrum {
 				p.Status.Build.BuildStrategy = v1.IntegrationPlatformBuildStrategyRoutine
diff --git a/pkg/trait/cron_test.go b/pkg/trait/cron_test.go
index 07f77fa..f445cc3 100644
--- a/pkg/trait/cron_test.go
+++ b/pkg/trait/cron_test.go
@@ -365,80 +365,6 @@ func TestCronDepsFallback(t *testing.T) {
 	assert.Contains(t, environment.Integration.Status.Dependencies, "mvn:org.apache.camel.k:camel-k-cron")
 }
 
-func TestCronWithMain(t *testing.T) {
-	catalog, err := camel.DefaultCatalog()
-	assert.Nil(t, err)
-
-	traitCatalog := NewCatalog(context.TODO(), nil)
-
-	environment := Environment{
-		CamelCatalog: catalog,
-		Catalog:      traitCatalog,
-		Integration: &v1.Integration{
-			ObjectMeta: metav1.ObjectMeta{
-				Name:      "test",
-				Namespace: "ns",
-			},
-			Status: v1.IntegrationStatus{
-				Phase: v1.IntegrationPhaseDeploying,
-			},
-			Spec: v1.IntegrationSpec{
-				Profile: v1.TraitProfileKnative,
-				Sources: []v1.SourceSpec{
-					{
-						DataSpec: v1.DataSpec{
-							Name:    "routes.java",
-							Content: `from("cron:tab?schedule=0 0/2 * * ?").to("log:test")`,
-						},
-						Language: v1.LanguageJavaSource,
-					},
-				},
-				Resources: []v1.ResourceSpec{},
-				Traits: map[string]v1.TraitSpec{
-					"quarkus": test.TraitSpecFromMap(t, map[string]interface{}{
-						"enabled": false,
-					}),
-				},
-			},
-		},
-		IntegrationKit: &v1.IntegrationKit{
-			Status: v1.IntegrationKitStatus{
-				Phase: v1.IntegrationKitPhaseReady,
-			},
-		},
-		Platform: &v1.IntegrationPlatform{
-			Spec: v1.IntegrationPlatformSpec{
-				Cluster: v1.IntegrationPlatformClusterOpenShift,
-				Build: v1.IntegrationPlatformBuildSpec{
-					PublishStrategy: v1.IntegrationPlatformBuildPublishStrategyS2I,
-					Registry:        v1.IntegrationPlatformRegistrySpec{Address: "registry"},
-				},
-				Profile: v1.TraitProfileKnative,
-			},
-		},
-		EnvVars:        make([]corev1.EnvVar, 0),
-		ExecutedTraits: make([]Trait, 0),
-		Resources:      k8sutils.NewCollection(),
-	}
-	environment.Platform.ResyncStatusFullConfig()
-
-	c, err := NewFakeClient("ns")
-	assert.Nil(t, err)
-
-	tc := NewCatalog(context.TODO(), c)
-
-	err = tc.apply(&environment)
-
-	assert.Nil(t, err)
-	assert.NotEmpty(t, environment.ExecutedTraits)
-	assert.Nil(t, environment.GetTrait("quarkus"))
-
-	ct := environment.GetTrait("cron").(*cronTrait)
-	assert.NotNil(t, ct)
-	assert.Nil(t, ct.Fallback)
-	assert.Contains(t, environment.Interceptors, "cron")
-}
-
 func TestCronWithQuarkus(t *testing.T) {
 	catalog, err := camel.DefaultCatalog()
 	assert.Nil(t, err)
diff --git a/pkg/trait/pull_secret.go b/pkg/trait/pull_secret.go
index 9bb6b19..1c19af7 100644
--- a/pkg/trait/pull_secret.go
+++ b/pkg/trait/pull_secret.go
@@ -18,9 +18,17 @@ limitations under the License.
 package trait
 
 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/util"
+	"github.com/apache/camel-k/pkg/util/kubernetes"
+	"github.com/apache/camel-k/pkg/util/openshift"
+	"github.com/pkg/errors"
 	corev1 "k8s.io/api/core/v1"
+	rbacv1 "k8s.io/api/rbac/v1"
+	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"sigs.k8s.io/controller-runtime/pkg/client"
 )
 
@@ -40,6 +48,8 @@ type pullSecretTrait struct {
 	BaseTrait `property:",squash"`
 	// The pull secret name to set on the Pod. If left empty this is automatically taken from the `IntegrationPlatform` registry configuration.
 	SecretName string `property:"secret-name" json:"secretName,omitempty"`
+	// When using a global operator with a shared platform, this enables delegation of the `system:image-puller` cluster role on the operator namespace to the integration service account.
+	ImagePullerDelegation *bool `property:"image-puller-delegation" json:"imagePullerDelegation,omitempty"`
 	// Automatically configures the platform registry secret on the pod if it is of type `kubernetes.io/dockerconfigjson`.
 	Auto *bool `property:"auto" json:"auto,omitempty"`
 }
@@ -73,17 +83,72 @@ func (t *pullSecretTrait) Configure(e *Environment) (bool, error) {
 				}
 			}
 		}
+		if t.ImagePullerDelegation == nil {
+			var isOpenshift bool
+			if t.Client != nil {
+				var err error
+				isOpenshift, err = openshift.IsOpenShift(t.Client)
+				if err != nil {
+					return false, err
+				}
+			}
+			isOperatorGlobal := platform.IsCurrentOperatorGlobal()
+			isKitExternal := e.Integration.GetIntegrationKitNamespace() != e.Integration.Namespace
+			needsDelegation := isOpenshift && isOperatorGlobal && isKitExternal
+			t.ImagePullerDelegation = &needsDelegation
+		}
 	}
 
-	return t.SecretName != "", nil
+	return t.SecretName != "" || util.IsTrue(t.ImagePullerDelegation), nil
 }
 
 func (t *pullSecretTrait) Apply(e *Environment) error {
-	e.Resources.VisitPodSpec(func(p *corev1.PodSpec) {
-		p.ImagePullSecrets = append(p.ImagePullSecrets, corev1.LocalObjectReference{
-			Name: t.SecretName,
+	if t.SecretName != "" {
+		e.Resources.VisitPodSpec(func(p *corev1.PodSpec) {
+			p.ImagePullSecrets = append(p.ImagePullSecrets, corev1.LocalObjectReference{
+				Name: t.SecretName,
+			})
 		})
-	})
+	}
+	if util.IsTrue(t.ImagePullerDelegation) {
+		if err := t.delegateImagePuller(e); err != nil {
+			return err
+		}
+	}
 
 	return nil
 }
+
+func (t *pullSecretTrait) delegateImagePuller(e *Environment) error {
+	// Applying the rolebinding directly because it's a resource in the operator namespace
+	// (different from the integration namespace when delegation is enabled).
+	rb := t.newImagePullerRoleBinding(e)
+	if err := kubernetes.ReplaceResource(e.C, e.Client, rb); err != nil {
+		return errors.Wrap(err, "error during the creation of the system:image-puller delegating role binding")
+	}
+	return nil
+}
+
+func (t *pullSecretTrait) newImagePullerRoleBinding(e *Environment) *rbacv1.RoleBinding {
+	serviceAccount := e.Integration.Spec.ServiceAccountName
+	if serviceAccount == "" {
+		serviceAccount = "default"
+	}
+	return &rbacv1.RoleBinding{
+		ObjectMeta: metav1.ObjectMeta{
+			Namespace: e.Integration.GetIntegrationKitNamespace(),
+			Name:      fmt.Sprintf("camel-k-puller-%s", e.Integration.Namespace),
+		},
+		RoleRef: rbacv1.RoleRef{
+			Kind: "ClusterRole",
+			Name: "system:image-puller",
+		},
+		Subjects: []rbacv1.Subject{
+			{
+				Kind:      "ServiceAccount",
+				Namespace: e.Integration.Namespace,
+				Name:      serviceAccount,
+			},
+		},
+	}
+}
diff --git a/pkg/util/test/client.go b/pkg/util/test/client.go
index 0657673..69c8f05 100644
--- a/pkg/util/test/client.go
+++ b/pkg/util/test/client.go
@@ -26,8 +26,11 @@ import (
 	fakecamelclientset "github.com/apache/camel-k/pkg/client/camel/clientset/versioned/fake"
 	camelv1 "github.com/apache/camel-k/pkg/client/camel/clientset/versioned/typed/camel/v1"
 	camelv1alpha1 "github.com/apache/camel-k/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1"
+	k8serrors "k8s.io/apimachinery/pkg/api/errors"
+	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/apimachinery/pkg/runtime"
 	"k8s.io/apimachinery/pkg/runtime/schema"
+	"k8s.io/client-go/discovery"
 	"k8s.io/client-go/kubernetes"
 	fakeclientset "k8s.io/client-go/kubernetes/fake"
 	clientscheme "k8s.io/client-go/kubernetes/scheme"
@@ -101,3 +104,23 @@ func (c *FakeClient) GetConfig() *rest.Config {
 func (c *FakeClient) GetCurrentNamespace(kubeConfig string) (string, error) {
 	return "", nil
 }
+
+func (c *FakeClient) Discovery() discovery.DiscoveryInterface {
+	return &FakeDiscovery{
+		DiscoveryInterface: c.Interface.Discovery(),
+	}
+}
+
+type FakeDiscovery struct {
+	discovery.DiscoveryInterface
+}
+
+func (f *FakeDiscovery) ServerResourcesForGroupVersion(groupVersion string) (*metav1.APIResourceList, error) {
+	// Normalize the fake discovery to behave like the real implementation when checking for openshift
+	if groupVersion == "image.openshift.io/v1" {
+		return nil, k8serrors.NewNotFound(schema.GroupResource{
+			Group: "image.openshift.io",
+		}, "")
+	}
+	return f.DiscoveryInterface.ServerResourcesForGroupVersion(groupVersion)
+}


[camel-k] 03/08: Fix #1799: get and create the catalog in the platform namespace only

Posted by nf...@apache.org.
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 1ce737029c72ac8764ffebef001212c254966794
Author: nicolaferraro <ni...@gmail.com>
AuthorDate: Fri Feb 19 12:36:13 2021 +0100

    Fix #1799: get and create the catalog in the platform namespace only
---
 pkg/trait/camel.go       |  4 ++--
 pkg/trait/trait_types.go | 16 +++++++++-------
 2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/pkg/trait/camel.go b/pkg/trait/camel.go
index fc8fba2..8a82430 100644
--- a/pkg/trait/camel.go
+++ b/pkg/trait/camel.go
@@ -76,7 +76,7 @@ func (t *camelTrait) Apply(e *Environment) error {
 }
 
 func (t *camelTrait) loadOrCreateCatalog(e *Environment, runtimeVersion string) error {
-	ns := e.DetermineNamespace()
+	ns := e.DetermineCatalogNamespace()
 	if ns == "" {
 		return errors.New("unable to determine namespace")
 	}
@@ -96,7 +96,7 @@ func (t *camelTrait) loadOrCreateCatalog(e *Environment, runtimeVersion string)
 		// the required versions (camel and runtime) are not expressed as
 		// semver constraints
 		if exactVersionRegexp.MatchString(runtimeVersion) {
-			catalog, err = camel.GenerateCatalog(e.C, e.Client, e.Platform.Namespace, e.Platform.Status.Build.Maven, runtime, []maven.Dependency{})
+			catalog, err = camel.GenerateCatalog(e.C, e.Client, ns, e.Platform.Status.Build.Maven, runtime, []maven.Dependency{})
 			if err != nil {
 				return err
 			}
diff --git a/pkg/trait/trait_types.go b/pkg/trait/trait_types.go
index 5b360d0..a44930b 100644
--- a/pkg/trait/trait_types.go
+++ b/pkg/trait/trait_types.go
@@ -341,18 +341,20 @@ func (e *Environment) GetIntegrationPodSpec() *corev1.PodSpec {
 	return nil
 }
 
-// DetermineNamespace --
-func (e *Environment) DetermineNamespace() string {
-	if e.Integration != nil && e.Integration.Namespace != "" {
-		return e.Integration.Namespace
+// DetermineCatalogNamespace --
+func (e *Environment) DetermineCatalogNamespace() string {
+	if e.Integration != nil && e.Integration.Status.PlatformNamespace != "" {
+		return e.Integration.Status.PlatformNamespace
+	}
+	if e.Platform != nil && e.Platform.Namespace != "" {
+		return e.Platform.Namespace
 	}
 	if e.IntegrationKit != nil && e.IntegrationKit.Namespace != "" {
 		return e.IntegrationKit.Namespace
 	}
-	if e.Platform != nil && e.Platform.Namespace != "" {
-		return e.Platform.Namespace
+	if e.Integration != nil && e.Integration.Namespace != "" {
+		return e.Integration.Namespace
 	}
-
 	return ""
 }
 


[camel-k] 05/08: Fix #1799: add global behavior e2e test

Posted by nf...@apache.org.
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 621f795eb6949bb8cca1628c425fb40a3d2ccf42
Author: nicolaferraro <ni...@gmail.com>
AuthorDate: Tue Mar 2 00:17:05 2021 +0100

    Fix #1799: add global behavior e2e test
---
 e2e/builder/global_test.go | 57 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 56 insertions(+), 1 deletion(-)

diff --git a/e2e/builder/global_test.go b/e2e/builder/global_test.go
index 1e2650b..ef68c94 100644
--- a/e2e/builder/global_test.go
+++ b/e2e/builder/global_test.go
@@ -25,8 +25,10 @@ import (
 	"os"
 	"testing"
 
+	camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1"
 	. "github.com/onsi/gomega"
 	"github.com/stretchr/testify/assert"
+	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
 	v1 "k8s.io/api/core/v1"
 
@@ -49,14 +51,17 @@ func TestRunGlobalInstall(t *testing.T) {
 	WithNewTestNamespace(t, func(ns string) {
 		Expect(Kamel("install", "-n", ns, "--global").Execute()).To(Succeed())
 
-		// NS2: namespace without operator
+		// NS2: namespace without operator but with platform
 		WithNewTestNamespace(t, func(ns2 string) {
+			// Creating platform
 			Expect(Kamel("install", "-n", ns2, "--skip-operator-setup", "--olm=false").Execute()).To(Succeed())
 
 			Expect(Kamel("run", "-n", ns2, "files/Java.java").Execute()).To(Succeed())
 			Eventually(IntegrationPodPhase(ns2, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
 			Eventually(IntegrationLogs(ns2, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
 			Expect(Kamel("delete", "--all", "-n", ns2).Execute()).To(Succeed())
+			Expect(Kits(ns2)()).Should(HaveLen(1))
+			Expect(Kits(ns)()).Should(HaveLen(0))
 
 			Expect(ConfigMap(ns2, platform.OperatorLockName)()).To(BeNil(), "No locking configmap expected")
 		})
@@ -75,6 +80,56 @@ func TestRunGlobalInstall(t *testing.T) {
 			)
 		})
 
+		// NS4: namespace without operator or platform
+		WithNewTestNamespace(t, func(ns4 string) {
+			Expect(Kamel("run", "-n", ns4, "files/Java.java").Execute()).To(Succeed())
+			Eventually(IntegrationPodPhase(ns4, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
+			Eventually(IntegrationLogs(ns4, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+			Expect(Kamel("delete", "--all", "-n", ns4).Execute()).To(Succeed())
+			Expect(Kits(ns4)()).Should(HaveLen(0))
+			Expect(Kits(ns)()).Should(HaveLen(1)) // Kit built globally
+
+			Expect(ConfigMap(ns4, platform.OperatorLockName)()).To(BeNil(), "No locking configmap expected")
+		})
+
+		// NS5: second namespace without operator or platform, using an external kit
+		WithNewTestNamespace(t, func(ns5 string) {
+			Expect(Kamel("run", "-n", ns5, "files/Java.java").Execute()).To(Succeed())
+			Eventually(IntegrationPodPhase(ns5, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
+			Eventually(IntegrationLogs(ns5, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+			Expect(Kamel("delete", "--all", "-n", ns5).Execute()).To(Succeed())
+			Expect(Kits(ns5)()).Should(HaveLen(0))
+			globalKits := Kits(ns)()
+			Expect(globalKits).Should(HaveLen(1)) // Reusing the same global kit
+			if len(globalKits) == 1 {
+				kit := globalKits[0]
+				// external kit mirroring the global one
+				externalKit := camelv1.IntegrationKit{
+					ObjectMeta: metav1.ObjectMeta{
+						Namespace: ns5,
+						Name:      "external",
+						Labels: map[string]string{
+							"camel.apache.org/kit.type": camelv1.IntegrationKitTypeExternal,
+						},
+					},
+					Spec: camelv1.IntegrationKitSpec{
+						Image: kit.Status.Image,
+					},
+				}
+				Expect(TestClient().Create(TestContext, &externalKit)).Should(BeNil())
+
+				Expect(Kamel("run", "-n", ns5, "files/Java.java", "--name", "ext", "--kit", "external").Execute()).To(Succeed())
+				Eventually(IntegrationPodPhase(ns5, "ext"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
+				Eventually(IntegrationLogs(ns5, "ext"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+				Expect(IntegrationKit(ns5, "ext")()).Should(Equal("external"))
+				Expect(Kamel("delete", "--all", "-n", ns5).Execute()).To(Succeed())
+				Expect(Kits(ns5)()).Should(HaveLen(1)) // the external one
+				Expect(Kits(ns)()).Should(HaveLen(1))  // the global one
+			}
+
+			Expect(ConfigMap(ns5, platform.OperatorLockName)()).To(BeNil(), "No locking configmap expected")
+		})
+
 		Expect(Kamel("uninstall", "-n", ns, "--skip-crd", "--skip-cluster-roles").Execute()).To(Succeed())
 	})
 }


[camel-k] 01/08: Fix #1799: implement a global build strategy

Posted by nf...@apache.org.
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 3526c961eff404fc5139ad9911897a31b41df5f1
Author: nicolaferraro <ni...@gmail.com>
AuthorDate: Thu Feb 18 17:27:50 2021 +0100

    Fix #1799: implement a global build strategy
---
 .../crd/bases/camel.apache.org_integrations.yaml   |  2 +
 .../camel.apache.org_integrations.yaml             |  2 +
 deploy/traits.yaml                                 |  3 ++
 docs/modules/traits/pages/platform.adoc            |  4 ++
 helm/camel-k/crds/crd-integration.yaml             |  2 +
 pkg/apis/camel/v1/integration_types.go             |  1 +
 pkg/apis/camel/v1/integration_types_support.go     | 13 +++++-
 pkg/builder/spectrum/publisher.go                  |  2 +-
 pkg/cmd/install.go                                 | 12 ++---
 pkg/controller/build/build_controller.go           |  2 +-
 pkg/controller/integration/build_kit.go            | 15 ++++---
 pkg/controller/integration/deploy.go               |  2 +-
 pkg/controller/integration/initialize.go           |  2 +-
 .../integration/integration_controller.go          |  9 +++-
 pkg/controller/integration/platform_setup.go       |  2 +-
 pkg/controller/integration/util.go                 |  6 +--
 .../integrationkit/integrationkit_controller.go    |  3 +-
 pkg/controller/kameletbinding/common.go            |  2 +-
 pkg/platform/operator.go                           |  5 +++
 pkg/platform/platform.go                           | 51 +++++++++++++++-------
 pkg/trait/camel.go                                 |  2 +-
 pkg/trait/openapi.go                               |  2 +-
 pkg/trait/platform.go                              | 31 +++++++++----
 pkg/trait/trait.go                                 |  2 +-
 pkg/trait/util.go                                  |  4 +-
 25 files changed, 124 insertions(+), 57 deletions(-)

diff --git a/config/crd/bases/camel.apache.org_integrations.yaml b/config/crd/bases/camel.apache.org_integrations.yaml
index 147f9fa..c28a5a8 100644
--- a/config/crd/bases/camel.apache.org_integrations.yaml
+++ b/config/crd/bases/camel.apache.org_integrations.yaml
@@ -367,6 +367,8 @@ 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_integrations.yaml b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_integrations.yaml
index 147f9fa..c28a5a8 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
@@ -367,6 +367,8 @@ 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/traits.yaml b/deploy/traits.yaml
index ebe104d..afde044 100755
--- a/deploy/traits.yaml
+++ b/deploy/traits.yaml
@@ -493,6 +493,9 @@ traits:
   - name: create-default
     type: bool
     description: To create a default (empty) platform when the platform is missing.
+  - name: global
+    type: bool
+    description: Indicates if the platform should be created globally in the case of global operator (default true).
   - name: auto
     type: bool
     description: To automatically detect from the environment if a default platform can be created (it will be created on OpenShift only).
diff --git a/docs/modules/traits/pages/platform.adoc b/docs/modules/traits/pages/platform.adoc
index 319fb03..20cbf44 100755
--- a/docs/modules/traits/pages/platform.adoc
+++ b/docs/modules/traits/pages/platform.adoc
@@ -35,6 +35,10 @@ The following configuration options are available:
 | bool
 | To create a default (empty) platform when the platform is missing.
 
+| platform.global
+| bool
+| Indicates if the platform should be created globally in the case of global operator (default true).
+
 | platform.auto
 | bool
 | To automatically detect from the environment if a default platform can be created (it will be created on OpenShift only).
diff --git a/helm/camel-k/crds/crd-integration.yaml b/helm/camel-k/crds/crd-integration.yaml
index 147f9fa..c28a5a8 100644
--- a/helm/camel-k/crds/crd-integration.yaml
+++ b/helm/camel-k/crds/crd-integration.yaml
@@ -367,6 +367,8 @@ 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/pkg/apis/camel/v1/integration_types.go b/pkg/apis/camel/v1/integration_types.go
index 678d0e6..fc3689c 100644
--- a/pkg/apis/camel/v1/integration_types.go
+++ b/pkg/apis/camel/v1/integration_types.go
@@ -48,6 +48,7 @@ type IntegrationStatus struct {
 	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"`
diff --git a/pkg/apis/camel/v1/integration_types_support.go b/pkg/apis/camel/v1/integration_types_support.go
index 12479ae..6384720 100644
--- a/pkg/apis/camel/v1/integration_types_support.go
+++ b/pkg/apis/camel/v1/integration_types_support.go
@@ -258,7 +258,8 @@ func (in *Integration) SetIntegrationPlatform(platform *IntegrationPlatform) {
 		cs = corev1.ConditionFalse
 	}
 
-	in.Status.SetCondition(IntegrationConditionPlatformAvailable, cs, IntegrationConditionPlatformAvailableReason, platform.Name)
+	in.Status.SetCondition(IntegrationConditionPlatformAvailable, cs, IntegrationConditionPlatformAvailableReason, platform.Namespace+"/"+platform.Name)
+	in.Status.PlatformNamespace = platform.Namespace
 	in.Status.Platform = platform.Name
 }
 
@@ -271,7 +272,7 @@ func (in *Integration) SetIntegrationKit(kit *IntegrationKit) {
 		if kit.Status.Phase == IntegrationKitPhaseNone {
 			message = fmt.Sprintf("creating a new integration kit")
 		} else {
-			message = fmt.Sprintf("integration kit %s is in state %q", kit.Name, kit.Status.Phase)
+			message = fmt.Sprintf("integration kit %s/%s is in state %q", kit.Namespace, kit.Name, kit.Status.Phase)
 		}
 	}
 
@@ -280,6 +281,14 @@ func (in *Integration) SetIntegrationKit(kit *IntegrationKit) {
 	in.Status.Image = kit.Status.Image
 }
 
+// SetIntegrationKit --
+func (in *Integration) GetIntegrationKitNamespace() string {
+	if in.Status.PlatformNamespace != "" {
+		return in.Status.PlatformNamespace
+	}
+	return in.Namespace
+}
+
 // GetCondition returns the condition with the provided type.
 func (in *IntegrationStatus) GetCondition(condType IntegrationConditionType) *IntegrationCondition {
 	for i := range in.Conditions {
diff --git a/pkg/builder/spectrum/publisher.go b/pkg/builder/spectrum/publisher.go
index ab36774..d47f955 100644
--- a/pkg/builder/spectrum/publisher.go
+++ b/pkg/builder/spectrum/publisher.go
@@ -44,7 +44,7 @@ func publisher(ctx *builder.Context) error {
 		return err
 	}
 
-	pl, err := platform.GetCurrentPlatform(ctx.C, ctx, ctx.Namespace)
+	pl, err := platform.GetCurrent(ctx.C, ctx, ctx.Namespace)
 	if err != nil {
 		return err
 	}
diff --git a/pkg/cmd/install.go b/pkg/cmd/install.go
index 8f39642..4252c75 100644
--- a/pkg/cmd/install.go
+++ b/pkg/cmd/install.go
@@ -369,14 +369,10 @@ func (o *installCmdOptions) install(cobraCmd *cobra.Command, _ []string) error {
 			platform.Spec.Build.KanikoBuildCache = &o.KanikoBuildCache
 		}
 
-		// Do not create an integration platform in global mode as platforms are expected
-		// to be created in other namespaces.
-		// In OLM mode, the operator is installed in an external namespace, so it's ok to install the platform locally.
-		if !o.Global || installViaOLM {
-			err = install.RuntimeObjectOrCollect(o.Context, c, namespace, collection, o.Force, platform)
-			if err != nil {
-				return err
-			}
+		// Always create a platform in the namespace where the operator is located
+		err = install.RuntimeObjectOrCollect(o.Context, c, namespace, collection, o.Force, platform)
+		if err != nil {
+			return err
 		}
 
 		if o.ExampleSetup {
diff --git a/pkg/controller/build/build_controller.go b/pkg/controller/build/build_controller.go
index 2e09188..b77e23c 100644
--- a/pkg/controller/build/build_controller.go
+++ b/pkg/controller/build/build_controller.go
@@ -172,7 +172,7 @@ func (r *reconcileBuild) Reconcile(request reconcile.Request) (reconcile.Result,
 	target := instance.DeepCopy()
 	targetLog := rlog.ForBuild(target)
 
-	pl, err := platform.GetOrLookupCurrent(ctx, r.client, target.Namespace, target.Status.Platform)
+	pl, err := platform.GetOrFind(ctx, r.client, target.Namespace, target.Status.Platform, true)
 	if target.Status.Phase == v1.BuildPhaseNone || target.Status.Phase == v1.BuildPhaseWaitingForPlatform {
 		if err != nil || pl.Status.Phase != v1.IntegrationPlatformPhaseReady {
 			target.Status.Phase = v1.BuildPhaseWaitingForPlatform
diff --git a/pkg/controller/integration/build_kit.go b/pkg/controller/integration/build_kit.go
index a3e4fe6..1cc7827 100644
--- a/pkg/controller/integration/build_kit.go
+++ b/pkg/controller/integration/build_kit.go
@@ -102,17 +102,18 @@ func (action *buildKitAction) Handle(ctx context.Context, integration *v1.Integr
 	}
 
 	platformKitName := fmt.Sprintf("kit-%s", xid.New())
-	platformKit := v1.NewIntegrationKit(integration.Namespace, platformKitName)
+	platformKit := v1.NewIntegrationKit(integration.GetIntegrationKitNamespace(), platformKitName)
 
 	// Add some information for post-processing, this may need to be refactored
 	// to a proper data structure
 	platformKit.Labels = map[string]string{
-		"camel.apache.org/kit.type":           v1.IntegrationKitTypePlatform,
-		"camel.apache.org/created.by.kind":    v1.IntegrationKind,
-		"camel.apache.org/created.by.name":    integration.Name,
-		"camel.apache.org/created.by.version": integration.ResourceVersion,
-		"camel.apache.org/runtime.version":    integration.Status.RuntimeVersion,
-		"camel.apache.org/runtime.provider":   string(integration.Status.RuntimeProvider),
+		"camel.apache.org/kit.type":             v1.IntegrationKitTypePlatform,
+		"camel.apache.org/created.by.kind":      v1.IntegrationKind,
+		"camel.apache.org/created.by.name":      integration.Name,
+		"camel.apache.org/created.by.namespace": integration.Namespace,
+		"camel.apache.org/created.by.version":   integration.ResourceVersion,
+		"camel.apache.org/runtime.version":      integration.Status.RuntimeVersion,
+		"camel.apache.org/runtime.provider":     string(integration.Status.RuntimeProvider),
 	}
 
 	// Set the kit to have the same characteristics as the integrations
diff --git a/pkg/controller/integration/deploy.go b/pkg/controller/integration/deploy.go
index b398126..efa82ad 100644
--- a/pkg/controller/integration/deploy.go
+++ b/pkg/controller/integration/deploy.go
@@ -48,7 +48,7 @@ func (action *deployAction) Handle(ctx context.Context, integration *v1.Integrat
 		return nil, errors.Errorf("no kit set on integration %s", integration.Name)
 	}
 
-	kit, err := kubernetes.GetIntegrationKit(ctx, action.client, integration.Status.Kit, integration.Namespace)
+	kit, err := kubernetes.GetIntegrationKit(ctx, action.client, integration.Status.Kit, integration.GetIntegrationKitNamespace())
 	if err != nil {
 		return nil, errors.Wrapf(err, "unable to find integration kit %s, %s", integration.Status.Kit, err)
 	}
diff --git a/pkg/controller/integration/initialize.go b/pkg/controller/integration/initialize.go
index 4698b71..d33d816 100644
--- a/pkg/controller/integration/initialize.go
+++ b/pkg/controller/integration/initialize.go
@@ -52,7 +52,7 @@ func (action *initializeAction) Handle(ctx context.Context, integration *v1.Inte
 		return nil, err
 	}
 
-	kit := v1.NewIntegrationKit(integration.Namespace, integration.Spec.Kit)
+	kit := v1.NewIntegrationKit(integration.GetIntegrationKitNamespace(), integration.Spec.Kit)
 
 	integration.Status.Phase = v1.IntegrationPhaseBuildingKit
 	integration.SetIntegrationKit(&kit)
diff --git a/pkg/controller/integration/integration_controller.go b/pkg/controller/integration/integration_controller.go
index 516c029..2e1362b 100644
--- a/pkg/controller/integration/integration_controller.go
+++ b/pkg/controller/integration/integration_controller.go
@@ -114,7 +114,13 @@ func add(mgr manager.Manager, r reconcile.Reconciler, c client.Client) error {
 			if kit.Status.Phase == v1.IntegrationKitPhaseReady || kit.Status.Phase == v1.IntegrationKitPhaseError {
 				list := &v1.IntegrationList{}
 
-				if err := mgr.GetClient().List(context.TODO(), list, k8sclient.InNamespace(kit.Namespace)); err != nil {
+				// Do global search in case of global operator (it may be using a global platform)
+				var opts []k8sclient.ListOption
+				if !platform.IsCurrentOperatorGlobal() {
+					opts = append(opts, k8sclient.InNamespace(kit.Namespace))
+				}
+
+				if err := mgr.GetClient().List(context.TODO(), list, opts...); err != nil {
 					log.Error(err, "Failed to retrieve integration list")
 					return requests
 				}
@@ -130,6 +136,7 @@ func add(mgr manager.Manager, r reconcile.Reconciler, c client.Client) error {
 						})
 					}
 				}
+
 			}
 
 			return requests
diff --git a/pkg/controller/integration/platform_setup.go b/pkg/controller/integration/platform_setup.go
index 51c5a5b..97cd3bb 100644
--- a/pkg/controller/integration/platform_setup.go
+++ b/pkg/controller/integration/platform_setup.go
@@ -55,7 +55,7 @@ func (action *platformSetupAction) Handle(ctx context.Context, integration *v1.I
 		return nil, err
 	}
 
-	pl, err := platform.GetCurrentPlatform(ctx, action.client, integration.Namespace)
+	pl, err := platform.GetCurrent(ctx, action.client, integration.Namespace)
 	if err != nil && !k8serrors.IsNotFound(err) {
 		return nil, err
 	} else if pl != nil {
diff --git a/pkg/controller/integration/util.go b/pkg/controller/integration/util.go
index 16cc94e..f0fc97b 100644
--- a/pkg/controller/integration/util.go
+++ b/pkg/controller/integration/util.go
@@ -35,16 +35,16 @@ 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.Namespace)
+		kit, err := kubernetes.GetIntegrationKit(ctx, c, integration.Status.Kit, integration.GetIntegrationKitNamespace())
 		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.GetIntegrationKitNamespace(), integration.Status.Kit, err)
 		}
 
 		return kit, nil
 	}
 
 	options := []k8sclient.ListOption{
-		k8sclient.InNamespace(integration.Namespace),
+		k8sclient.InNamespace(integration.GetIntegrationKitNamespace()),
 		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 a525725..cc4993d 100644
--- a/pkg/controller/integrationkit/integrationkit_controller.go
+++ b/pkg/controller/integrationkit/integrationkit_controller.go
@@ -204,7 +204,8 @@ func (r *reconcileIntegrationKit) Reconcile(request reconcile.Request) (reconcil
 	targetLog := rlog.ForIntegrationKit(target)
 
 	if target.Status.Phase == v1.IntegrationKitPhaseNone || target.Status.Phase == v1.IntegrationKitPhaseWaitingForPlatform {
-		pl, err := platform.GetOrLookupCurrent(ctx, r.client, target.Namespace, target.Status.Platform)
+		// 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 {
diff --git a/pkg/controller/kameletbinding/common.go b/pkg/controller/kameletbinding/common.go
index e51bf1a..411bde8 100644
--- a/pkg/controller/kameletbinding/common.go
+++ b/pkg/controller/kameletbinding/common.go
@@ -148,7 +148,7 @@ func determineProfile(ctx context.Context, c client.Client, binding *v1alpha1.Ka
 	if binding.Spec.Integration != nil && binding.Spec.Integration.Profile != "" {
 		return binding.Spec.Integration.Profile, nil
 	}
-	pl, err := platform.GetCurrentPlatform(ctx, c, binding.Namespace)
+	pl, err := platform.GetCurrent(ctx, c, binding.Namespace)
 	if err != nil && !k8serrors.IsNotFound(err) {
 		return "", errors.Wrap(err, "error while retrieving the integration platform")
 	}
diff --git a/pkg/platform/operator.go b/pkg/platform/operator.go
index 05538a9..c4310df 100644
--- a/pkg/platform/operator.go
+++ b/pkg/platform/operator.go
@@ -115,6 +115,11 @@ func IsOperatorAllowedOnNamespace(ctx context.Context, c client.Client, namespac
 	if !IsCurrentOperatorGlobal() {
 		return true, nil
 	}
+	operatorNamespace := GetOperatorNamespace()
+	if operatorNamespace == namespace {
+		// Global operator is allowed on its own namespace
+		return true, nil
+	}
 	alreadyOwned, err := IsNamespaceLocked(ctx, c, namespace)
 	if err != nil {
 		return false, err
diff --git a/pkg/platform/platform.go b/pkg/platform/platform.go
index a025088..d566b5e 100644
--- a/pkg/platform/platform.go
+++ b/pkg/platform/platform.go
@@ -31,36 +31,55 @@ const (
 	DefaultPlatformName = "camel-k"
 )
 
-// GetOrLookupCurrent --
-func GetOrLookupCurrent(ctx context.Context, c k8sclient.Reader, namespace string, name string) (*v1.IntegrationPlatform, error) {
+// GetCurrent returns the currently installed platform (local or global)
+func GetCurrent(ctx context.Context, c k8sclient.Reader, namespace string) (*v1.IntegrationPlatform, error) {
+	return find(ctx, c, namespace, true)
+}
+
+// GetOrFind returns the named platform or any other platform in the local namespace or the global one
+func GetOrFind(ctx context.Context, c k8sclient.Reader, namespace string, name string, active bool) (*v1.IntegrationPlatform, error) {
 	if name != "" {
-		return Get(ctx, c, namespace, name)
+		return get(ctx, c, namespace, name)
 	}
 
-	return GetCurrentPlatform(ctx, c, namespace)
+	return find(ctx, c, namespace, active)
 }
 
-// GetOrLookupAny returns the named platform or any other platform in the namespace
-func GetOrLookupAny(ctx context.Context, c k8sclient.Reader, namespace string, name string) (*v1.IntegrationPlatform, error) {
+// GetOrFindLocal returns the named platform or any other platform in the local namespace
+func GetOrFindLocal(ctx context.Context, c k8sclient.Reader, namespace string, name string, active bool) (*v1.IntegrationPlatform, error) {
 	if name != "" {
-		return Get(ctx, c, namespace, name)
+		return kubernetes.GetIntegrationPlatform(ctx, c, name, namespace)
 	}
 
-	return getAnyPlatform(ctx, c, namespace, false)
+	return findLocal(ctx, c, namespace, active)
 }
 
-// Get returns the currently installed platform
-func Get(ctx context.Context, c k8sclient.Reader, namespace string, name string) (*v1.IntegrationPlatform, error) {
-	return kubernetes.GetIntegrationPlatform(ctx, c, name, namespace)
+// get returns the given platform in the given namespace or the global one
+func get(ctx context.Context, c k8sclient.Reader, namespace string, name string) (*v1.IntegrationPlatform, error) {
+	p, err := kubernetes.GetIntegrationPlatform(ctx, c, name, namespace)
+	if err != nil && k8serrors.IsNotFound(err) {
+		operatorNamespace := GetOperatorNamespace()
+		if operatorNamespace != "" && operatorNamespace != namespace {
+			p, err = kubernetes.GetIntegrationPlatform(ctx, c, name, operatorNamespace)
+		}
+	}
+	return p, err
 }
 
-// GetCurrentPlatform returns the currently installed platform
-func GetCurrentPlatform(ctx context.Context, c k8sclient.Reader, namespace string) (*v1.IntegrationPlatform, error) {
-	return getAnyPlatform(ctx, c, namespace, true)
+// find returns the currently installed platform or any platform existing in local or operator namespace
+func find(ctx context.Context, c k8sclient.Reader, namespace string, active bool) (*v1.IntegrationPlatform, error) {
+	p, err := findLocal(ctx, c, namespace, active)
+	if err != nil && k8serrors.IsNotFound(err) {
+		operatorNamespace := GetOperatorNamespace()
+		if operatorNamespace != "" && operatorNamespace != namespace {
+			p, err = findLocal(ctx, c, operatorNamespace, active)
+		}
+	}
+	return p, err
 }
 
-// getAnyPlatform returns the currently installed platform or any platform existing in the namespace
-func getAnyPlatform(ctx context.Context, c k8sclient.Reader, namespace string, active bool) (*v1.IntegrationPlatform, error) {
+// findLocal returns the currently installed platform or any platform existing in local namespace
+func findLocal(ctx context.Context, c k8sclient.Reader, namespace string, active bool) (*v1.IntegrationPlatform, error) {
 	lst, err := ListPlatforms(ctx, c, namespace)
 	if err != nil {
 		return nil, err
diff --git a/pkg/trait/camel.go b/pkg/trait/camel.go
index 1230f15..fc8fba2 100644
--- a/pkg/trait/camel.go
+++ b/pkg/trait/camel.go
@@ -96,7 +96,7 @@ func (t *camelTrait) loadOrCreateCatalog(e *Environment, runtimeVersion string)
 		// the required versions (camel and runtime) are not expressed as
 		// semver constraints
 		if exactVersionRegexp.MatchString(runtimeVersion) {
-			catalog, err = camel.GenerateCatalog(e.C, e.Client, ns, e.Platform.Status.Build.Maven, runtime, []maven.Dependency{})
+			catalog, err = camel.GenerateCatalog(e.C, e.Client, e.Platform.Namespace, e.Platform.Status.Build.Maven, runtime, []maven.Dependency{})
 			if err != nil {
 				return err
 			}
diff --git a/pkg/trait/openapi.go b/pkg/trait/openapi.go
index ba23835..197eb92 100644
--- a/pkg/trait/openapi.go
+++ b/pkg/trait/openapi.go
@@ -213,7 +213,7 @@ func (t *openAPITrait) createNewOpenAPIConfigMap(e *Environment, resource v1.Res
 	mc.AddArgument("-Dopenapi.spec=" + in)
 	mc.AddArgument("-Ddsl.out=" + out)
 
-	settings, err := kubernetes.ResolveValueSource(e.C, e.Client, e.Integration.Namespace, &e.Platform.Status.Build.Maven.Settings)
+	settings, err := kubernetes.ResolveValueSource(e.C, e.Client, e.Platform.Namespace, &e.Platform.Status.Build.Maven.Settings)
 	if err != nil {
 		return err
 	}
diff --git a/pkg/trait/platform.go b/pkg/trait/platform.go
index 6e55d91..854bd46 100644
--- a/pkg/trait/platform.go
+++ b/pkg/trait/platform.go
@@ -35,6 +35,8 @@ type platformTrait struct {
 	BaseTrait `property:",squash"`
 	// To create a default (empty) platform when the platform is missing.
 	CreateDefault *bool `property:"create-default" json:"createDefault,omitempty"`
+	// Indicates if the platform should be created globally in the case of global operator (default true).
+	Global *bool `property:"global" json:"global,omitempty"`
 	// To automatically detect from the environment if a default platform can be created (it will be created on OpenShift only).
 	Auto *bool `property:"auto" json:"auto,omitempty"`
 }
@@ -55,12 +57,18 @@ func (t *platformTrait) Configure(e *Environment) (bool, error) {
 	}
 
 	if t.Auto == nil || !*t.Auto {
-		if e.Platform == nil && t.CreateDefault == nil {
-			// Calculate if the platform should be automatically created when missing.
-			if ocp, err := openshift.IsOpenShift(t.Client); err != nil {
-				return false, err
-			} else if ocp {
-				t.CreateDefault = &ocp
+		if e.Platform == nil {
+			if t.CreateDefault == nil {
+				// Calculate if the platform should be automatically created when missing.
+				if ocp, err := openshift.IsOpenShift(t.Client); err != nil {
+					return false, err
+				} else if ocp {
+					t.CreateDefault = &ocp
+				}
+			}
+			if t.Global == nil {
+				globalOperator := platform.IsCurrentOperatorGlobal()
+				t.Global = &globalOperator
 			}
 		}
 	}
@@ -92,14 +100,21 @@ func (t *platformTrait) Apply(e *Environment) error {
 }
 
 func (t *platformTrait) getOrCreatePlatform(e *Environment) (*v1.IntegrationPlatform, error) {
-	pl, err := platform.GetOrLookupAny(t.Ctx, t.Client, e.Integration.Namespace, e.Integration.Status.Platform)
+	pl, err := platform.GetOrFind(t.Ctx, t.Client, e.Integration.Namespace, e.Integration.Status.Platform, false)
 	if err != nil && k8serrors.IsNotFound(err) {
 		if t.CreateDefault != nil && *t.CreateDefault {
 			platformName := e.Integration.Status.Platform
 			if platformName == "" {
 				platformName = platform.DefaultPlatformName
 			}
-			defaultPlatform := v1.NewIntegrationPlatform(e.Integration.Namespace, platformName)
+			namespace := e.Integration.Namespace
+			if t.Global != nil && *t.Global {
+				operatorNamespace := platform.GetOperatorNamespace()
+				if operatorNamespace != "" {
+					namespace = operatorNamespace
+				}
+			}
+			defaultPlatform := v1.NewIntegrationPlatform(namespace, platformName)
 			if defaultPlatform.Labels == nil {
 				defaultPlatform.Labels = make(map[string]string)
 			}
diff --git a/pkg/trait/trait.go b/pkg/trait/trait.go
index 55f87b8..28c388e 100644
--- a/pkg/trait/trait.go
+++ b/pkg/trait/trait.go
@@ -71,7 +71,7 @@ func newEnvironment(ctx context.Context, c client.Client, integration *v1.Integr
 		namespace = kit.Namespace
 	}
 
-	pl, err := platform.GetCurrentPlatform(ctx, c, namespace)
+	pl, err := platform.GetCurrent(ctx, c, namespace)
 	if err != nil && !k8serrors.IsNotFound(err) {
 		return nil, err
 	}
diff --git a/pkg/trait/util.go b/pkg/trait/util.go
index 9806c0f..97376f9 100644
--- a/pkg/trait/util.go
+++ b/pkg/trait/util.go
@@ -46,9 +46,9 @@ func GetIntegrationKit(ctx context.Context, c client.Client, integration *v1.Int
 	}
 
 	name := integration.Status.Kit
-	kit := v1.NewIntegrationKit(integration.Namespace, name)
+	kit := v1.NewIntegrationKit(integration.GetIntegrationKitNamespace(), name)
 	key := k8sclient.ObjectKey{
-		Namespace: integration.Namespace,
+		Namespace: integration.GetIntegrationKitNamespace(),
 		Name:      name,
 	}
 	err := c.Get(ctx, key, &kit)


[camel-k] 06/08: Fix #1799: fix catalog location

Posted by nf...@apache.org.
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 c11d9d55cad9e3047e7748f57db284ffc0e6bbc7
Author: nicolaferraro <ni...@gmail.com>
AuthorDate: Tue Mar 2 10:47:17 2021 +0100

    Fix #1799: fix catalog location
---
 pkg/trait/trait_types.go | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/pkg/trait/trait_types.go b/pkg/trait/trait_types.go
index a489a9b..29a7914 100644
--- a/pkg/trait/trait_types.go
+++ b/pkg/trait/trait_types.go
@@ -343,15 +343,16 @@ func (e *Environment) GetIntegrationPodSpec() *corev1.PodSpec {
 
 // DetermineCatalogNamespace --
 func (e *Environment) DetermineCatalogNamespace() string {
+	// Catalog is expected to be together with the platform
+	if e.Platform != nil && e.Platform.Namespace != "" {
+		return e.Platform.Namespace
+	}
 	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
-	}
 	if e.IntegrationKit != nil && e.IntegrationKit.Namespace != "" {
 		return e.IntegrationKit.Namespace
 	}


[camel-k] 08/08: Fix #1799: regen resources

Posted by nf...@apache.org.
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 631f67d44312ef9aff72b35bfc1e148682c38b52
Author: nicolaferraro <ni...@gmail.com>
AuthorDate: Tue Mar 2 15:00:39 2021 +0100

    Fix #1799: regen resources
---
 .../client/internalclientset/fake/register.go      |    2 +-
 deploy/camel-catalog-1.6.0.yaml                    | 3296 ++++++++++----------
 go.sum                                             |    1 +
 pkg/resources/resources.go                         |    2 +-
 4 files changed, 1651 insertions(+), 1650 deletions(-)

diff --git a/addons/strimzi/duck/v1beta1/client/internalclientset/fake/register.go b/addons/strimzi/duck/v1beta1/client/internalclientset/fake/register.go
index 7c48520..1a42ee7 100644
--- a/addons/strimzi/duck/v1beta1/client/internalclientset/fake/register.go
+++ b/addons/strimzi/duck/v1beta1/client/internalclientset/fake/register.go
@@ -30,7 +30,7 @@ import (
 
 var scheme = runtime.NewScheme()
 var codecs = serializer.NewCodecFactory(scheme)
-var parameterCodec = runtime.NewParameterCodec(scheme)
+
 var localSchemeBuilder = runtime.SchemeBuilder{
 	kafkav1beta1.AddToScheme,
 }
diff --git a/deploy/camel-catalog-1.6.0.yaml b/deploy/camel-catalog-1.6.0.yaml
index 573ce85..ab9ee44 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:
-    app: camel-k
-    camel.apache.org/catalog.version: 3.7.0
     camel.apache.org/runtime.version: 1.6.0
+    camel.apache.org/catalog.version: 3.7.0
+    app: camel-k
     camel.apache.org/catalog.loader.version: 3.7.0
 spec:
   runtime:
@@ -30,532 +30,596 @@ spec:
     provider: quarkus
     applicationClass: io.quarkus.runner.GeneratedMain
     metadata:
-      quarkus.version: 1.10.3.Final
-      camel.version: 3.7.0
       camel-quarkus.version: 1.5.0
+      camel.version: 3.7.0
+      quarkus.version: 1.10.3.Final
     dependencies:
     - groupId: org.apache.camel.k
       artifactId: camel-k-runtime
     capabilities:
-      master:
+      health:
         dependencies:
-        - groupId: org.apache.camel.k
-          artifactId: camel-k-master
+        - groupId: org.apache.camel.quarkus
+          artifactId: camel-quarkus-microprofile-health
       circuit-breaker:
         dependencies:
         - groupId: org.apache.camel.quarkus
           artifactId: camel-quarkus-microprofile-fault-tolerance
-      health:
+      master:
+        dependencies:
+        - groupId: org.apache.camel.k
+          artifactId: camel-k-master
+      tracing:
         dependencies:
         - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-microprofile-health
-      platform-http:
+          artifactId: camel-quarkus-opentracing
+      rest:
         dependencies:
         - groupId: org.apache.camel.quarkus
           artifactId: camel-quarkus-platform-http
+        - groupId: org.apache.camel.quarkus
+          artifactId: camel-quarkus-rest
       cron:
         dependencies:
         - groupId: org.apache.camel.k
           artifactId: camel-k-cron
-      rest:
+      platform-http:
         dependencies:
         - groupId: org.apache.camel.quarkus
           artifactId: camel-quarkus-platform-http
-        - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-rest
-      tracing:
-        dependencies:
-        - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-opentracing
   artifacts:
-    camel-quarkus-atlasmap:
+    camel-quarkus-vm:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atlasmap
+      artifactId: camel-quarkus-vm
       schemes:
-      - id: atlasmap
+      - id: vm
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.atlasmap.AtlasMapComponent
-    camel-quarkus-minio:
+      - org.apache.camel.component.vm.VmComponent
+    camel-quarkus-paho:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-minio
+      artifactId: camel-quarkus-paho
       schemes:
-      - id: minio
+      - id: paho
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.minio.MinioComponent
-    camel-quarkus-aws-lambda:
+      - org.apache.camel.component.paho.PahoComponent
+    camel-quarkus-lzf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-lambda
+      artifactId: camel-quarkus-lzf
+      dataformats:
+      - lzf
+      javaTypes:
+      - org.apache.camel.dataformat.lzf.LZFDataFormat
+    camel-quarkus-ref:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-ref
       schemes:
-      - id: aws-lambda
+      - id: ref
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.aws.lambda.LambdaComponent
-    camel-quarkus-xmpp:
+      - org.apache.camel.component.ref.RefComponent
+    camel-quarkus-univocity-parsers:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xmpp
+      artifactId: camel-quarkus-univocity-parsers
+      dataformats:
+      - univocity-fixed
+      - univocity-tsv
+      - univocity-csv
+      javaTypes:
+      - org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat
+      - org.apache.camel.dataformat.univocity.UniVocityFixedWidthDataFormat
+      - org.apache.camel.dataformat.univocity.UniVocityTsvDataFormat
+    camel-quarkus-mvel:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-mvel
       schemes:
-      - id: xmpp
+      - id: mvel
         http: false
         passive: false
+      languages:
+      - mvel
       javaTypes:
-      - org.apache.camel.component.xmpp.XmppComponent
-    camel-quarkus-aws2-eventbridge:
+      - org.apache.camel.language.mvel.MvelLanguage
+      - org.apache.camel.component.mvel.MvelComponent
+    camel-quarkus-aws2-sns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-eventbridge
+      artifactId: camel-quarkus-aws2-sns
       schemes:
-      - id: aws2-eventbridge
+      - id: aws2-sns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.eventbridge.EventbridgeComponent
-    camel-quarkus-github:
+      - org.apache.camel.component.aws2.sns.Sns2Component
+    camel-quarkus-jsonb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-github
+      artifactId: camel-quarkus-jsonb
+      dataformats:
+      - json-jsonb
+      javaTypes:
+      - org.apache.camel.component.jsonb.JsonbDataFormat
+    camel-quarkus-nsq:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-nsq
       schemes:
-      - id: github
+      - id: nsq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.github.GitHubComponent
-    camel-quarkus-corda:
+      - org.apache.camel.component.nsq.NsqComponent
+    camel-quarkus-xpath:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-corda
+      artifactId: camel-quarkus-xpath
+      languages:
+      - xpath
+      javaTypes:
+      - org.apache.camel.language.xpath.XPathLanguage
+    camel-quarkus-facebook:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-facebook
       schemes:
-      - id: corda
+      - id: facebook
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.corda.CordaComponent
-    camel-quarkus-xml-jaxp:
+      - org.apache.camel.component.facebook.FacebookComponent
+    camel-quarkus-ognl:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xml-jaxp
+      artifactId: camel-quarkus-ognl
       languages:
-      - xtokenize
+      - ognl
       javaTypes:
-      - org.apache.camel.language.xtokenizer.XMLTokenizeLanguage
-    camel-quarkus-ldif:
+      - org.apache.camel.language.ognl.OgnlLanguage
+    camel-quarkus-consul:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ldif
+      artifactId: camel-quarkus-consul
       schemes:
-      - id: ldif
+      - id: consul
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ldif.LdifComponent
-    camel-quarkus-aws-ec2:
+      - org.apache.camel.component.consul.ConsulComponent
+    camel-quarkus-jdbc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-ec2
+      artifactId: camel-quarkus-jdbc
       schemes:
-      - id: aws-ec2
+      - id: jdbc
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.ec2.EC2Component
-    camel-quarkus-web3j:
+      - org.apache.camel.component.jdbc.JdbcComponent
+    camel-quarkus-vertx:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-web3j
+      artifactId: camel-quarkus-vertx
       schemes:
-      - id: web3j
+      - id: vertx
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.web3j.Web3jComponent
-    camel-quarkus-ignite:
+      - org.apache.camel.component.vertx.VertxComponent
+    camel-quarkus-controlbus:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ignite
+      artifactId: camel-quarkus-controlbus
       schemes:
-      - id: ignite-events
+      - id: controlbus
         http: false
-        passive: false
-      - id: ignite-queue
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.controlbus.ControlBusComponent
+    camel-quarkus-weka:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-weka
+      schemes:
+      - id: weka
         http: false
         passive: false
-      - id: ignite-set
+      javaTypes:
+      - org.apache.camel.component.weka.WekaComponent
+    camel-quarkus-iec60870:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-iec60870
+      schemes:
+      - id: iec60870-client
         http: false
         passive: false
-      - id: ignite-idgen
+      - id: iec60870-server
         http: false
         passive: false
-      - id: ignite-cache
+      javaTypes:
+      - org.apache.camel.component.iec60870.server.ServerComponent
+      - org.apache.camel.component.iec60870.client.ClientComponent
+    camel-quarkus-mock:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-mock
+      schemes:
+      - id: mock
         http: false
-        passive: false
-      - id: ignite-compute
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.mock.MockComponent
+    camel-quarkus-aws2-ddb:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws2-ddb
+      schemes:
+      - id: aws2-ddbstream
         http: false
         passive: false
-      - id: ignite-messaging
+      - id: aws2-ddb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ignite.idgen.IgniteIdGenComponent
-      - 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
-    camel-quarkus-mongodb-gridfs:
+      - org.apache.camel.component.aws2.ddbstream.Ddb2StreamComponent
+      - org.apache.camel.component.aws2.ddb.Ddb2Component
+    camel-quarkus-jpa:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mongodb-gridfs
+      artifactId: camel-quarkus-jpa
       schemes:
-      - id: mongodb-gridfs
+      - id: jpa
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mongodb.gridfs.GridFsComponent
-    camel-quarkus-cron:
+      - org.apache.camel.component.jpa.JpaComponent
+    camel-quarkus-pulsar:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cron
+      artifactId: camel-quarkus-pulsar
       schemes:
-      - id: cron
+      - id: pulsar
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cron.CronComponent
-    camel-quarkus-azure-storage-queue:
+      - org.apache.camel.component.pulsar.PulsarComponent
+    camel-quarkus-guava-eventbus:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-azure-storage-queue
+      artifactId: camel-quarkus-guava-eventbus
       schemes:
-      - id: azure-storage-queue
+      - id: guava-eventbus
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.azure.storage.queue.QueueComponent
-    camel-quarkus-reactive-streams:
+      - org.apache.camel.component.guava.eventbus.GuavaEventBusComponent
+    camel-quarkus-amqp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-reactive-streams
+      artifactId: camel-quarkus-amqp
       schemes:
-      - id: reactive-streams
+      - id: amqp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
-    camel-quarkus-rabbitmq:
+      - org.apache.camel.component.amqp.AMQPComponent
+    camel-quarkus-flink:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rabbitmq
+      artifactId: camel-quarkus-flink
       schemes:
-      - id: rabbitmq
+      - id: flink
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.rabbitmq.RabbitMQComponent
-    camel-quarkus-chatscript:
+      - org.apache.camel.component.flink.FlinkComponent
+    camel-quarkus-debezium-postgres:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-chatscript
+      artifactId: camel-quarkus-debezium-postgres
       schemes:
-      - id: chatscript
+      - id: debezium-postgres
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.chatscript.ChatScriptComponent
-    camel-quarkus-aws-translate:
+      - org.apache.camel.component.debezium.DebeziumPostgresComponent
+    camel-quarkus-aws-iam:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-translate
+      artifactId: camel-quarkus-aws-iam
       schemes:
-      - id: aws-translate
+      - id: aws-iam
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.translate.TranslateComponent
-    camel-quarkus-azure:
+      - org.apache.camel.component.aws.iam.IAMComponent
+    camel-quarkus-syslog:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-azure
+      artifactId: camel-quarkus-syslog
+      dataformats:
+      - syslog
+      javaTypes:
+      - org.apache.camel.component.syslog.SyslogDataFormat
+    camel-quarkus-smpp:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-smpp
       schemes:
-      - id: azure-blob
+      - id: smpp
         http: false
         passive: false
-      - id: azure-queue
+      - id: smpps
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.azure.queue.QueueServiceComponent
-      - org.apache.camel.component.azure.blob.BlobServiceComponent
-    camel-quarkus-xmlsecurity:
+      - org.apache.camel.component.smpp.SmppComponent
+    camel-quarkus-zip-deflater:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xmlsecurity
+      artifactId: camel-quarkus-zip-deflater
+      dataformats:
+      - zipdeflater
+      - gzipdeflater
+      javaTypes:
+      - org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat
+      - org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat
+    camel-quarkus-workday:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-workday
       schemes:
-      - id: xmlsecurity-verify
+      - id: workday
         http: false
         passive: false
-      - id: xmlsecurity-sign
+      javaTypes:
+      - org.apache.camel.component.workday.WorkdayComponent
+    camel-quarkus-couchdb:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-couchdb
+      schemes:
+      - id: couchdb
         http: false
         passive: false
-      dataformats:
-      - secureXML
       javaTypes:
-      - org.apache.camel.component.xmlsecurity.XmlSignerComponent
-      - org.apache.camel.component.xmlsecurity.XmlVerifierComponent
-      - org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat
-    camel-quarkus-groovy:
+      - org.apache.camel.component.couchdb.CouchDbComponent
+    camel-quarkus-grok:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-groovy
-      languages:
-      - groovy
+      artifactId: camel-quarkus-grok
+      dataformats:
+      - grok
       javaTypes:
-      - org.apache.camel.language.groovy.GroovyLanguage
-    camel-quarkus-rest:
+      - org.apache.camel.component.grok.GrokDataFormat
+    camel-quarkus-aws-s3:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rest
+      artifactId: camel-quarkus-aws-s3
       schemes:
-      - id: rest
-        http: true
-        passive: false
-      - id: rest-api
+      - id: aws-s3
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.rest.RestComponent
-      - org.apache.camel.component.rest.RestApiComponent
-    camel-quarkus-xslt:
+      - org.apache.camel.component.aws.s3.S3Component
+    camel-quarkus-bean:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xslt
+      artifactId: camel-quarkus-bean
       schemes:
-      - id: xslt
+      - id: bean
         http: false
-        passive: false
+        passive: true
+      - id: class
+        http: false
+        passive: true
+      languages:
+      - bean
       javaTypes:
-      - org.apache.camel.component.xslt.XsltComponent
-    camel-quarkus-beanstalk:
+      - org.apache.camel.language.bean.BeanLanguage
+      - org.apache.camel.component.bean.BeanComponent
+      - org.apache.camel.component.beanclass.ClassComponent
+    camel-quarkus-direct:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-beanstalk
+      artifactId: camel-quarkus-direct
       schemes:
-      - id: beanstalk
+      - id: direct
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.beanstalk.BeanstalkComponent
-    camel-quarkus-saga:
+      - org.apache.camel.component.direct.DirectComponent
+    camel-quarkus-xj:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-saga
+      artifactId: camel-quarkus-xj
       schemes:
-      - id: saga
+      - id: xj
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.saga.SagaComponent
-    camel-quarkus-fop:
+      - org.apache.camel.component.xj.XJComponent
+    camel-quarkus-fastjson:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fop
-      schemes:
-      - id: fop
-        http: false
-        passive: false
+      artifactId: camel-quarkus-fastjson
+      dataformats:
+      - json-fastjson
       javaTypes:
-      - org.apache.camel.component.fop.FopComponent
-    camel-quarkus-johnzon:
+      - org.apache.camel.component.fastjson.FastjsonDataFormat
+    camel-quarkus-snakeyaml:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-johnzon
+      artifactId: camel-quarkus-snakeyaml
       dataformats:
-      - json-johnzon
+      - yaml-snakeyaml
       javaTypes:
-      - org.apache.camel.component.johnzon.JohnzonDataFormat
-    camel-quarkus-solr:
+      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
+    camel-quarkus-debezium-sqlserver:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-solr
+      artifactId: camel-quarkus-debezium-sqlserver
       schemes:
-      - id: solr
-        http: false
-        passive: false
-      - id: solrCloud
-        http: false
-        passive: false
-      - id: solrs
+      - id: debezium-sqlserver
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.solr.SolrComponent
-    camel-quarkus-quickfix:
+      - org.apache.camel.component.debezium.DebeziumSqlserverComponent
+    camel-quarkus-aws2-msk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-quickfix
+      artifactId: camel-quarkus-aws2-msk
       schemes:
-      - id: quickfix
+      - id: aws2-msk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.quickfixj.QuickfixjComponent
-    camel-quarkus-jclouds:
+      - org.apache.camel.component.aws2.msk.MSK2Component
+    camel-quarkus-stax:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jclouds
+      artifactId: camel-quarkus-stax
       schemes:
-      - id: jclouds
+      - id: stax
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jclouds.JcloudsComponent
-    camel-quarkus-rest-openapi:
+      - org.apache.camel.component.stax.StAXComponent
+    camel-quarkus-aws-kms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rest-openapi
+      artifactId: camel-quarkus-aws-kms
       schemes:
-      - id: rest-openapi
+      - id: aws-kms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.rest.openapi.RestOpenApiComponent
-    camel-quarkus-file-watch:
+      - org.apache.camel.component.aws.kms.KMSComponent
+    camel-quarkus-ipfs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-file-watch
+      artifactId: camel-quarkus-ipfs
       schemes:
-      - id: file-watch
+      - id: ipfs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.file.watch.FileWatchComponent
-    camel-quarkus-robotframework:
+      - org.apache.camel.component.ipfs.IPFSComponent
+    camel-quarkus-grpc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-robotframework
+      artifactId: camel-quarkus-grpc
       schemes:
-      - id: robotframework
-        http: false
+      - id: grpc
+        http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.robotframework.RobotFrameworkComponent
-    camel-quarkus-file:
+      - org.apache.camel.component.grpc.GrpcComponent
+    camel-quarkus-servicenow:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-file
+      artifactId: camel-quarkus-servicenow
       schemes:
-      - id: file
+      - id: servicenow
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.file.FileComponent
-    camel-quarkus-mybatis:
+      - org.apache.camel.component.servicenow.ServiceNowComponent
+    camel-quarkus-sap-netweaver:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mybatis
+      artifactId: camel-quarkus-sap-netweaver
       schemes:
-      - id: mybatis-bean
-        http: false
-        passive: false
-      - id: mybatis
+      - id: sap-netweaver
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mybatis.MyBatisComponent
-      - org.apache.camel.component.mybatis.MyBatisBeanComponent
-    camel-quarkus-cbor:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cbor
-      dataformats:
-      - cbor
-      javaTypes:
-      - org.apache.camel.component.cbor.CBORDataFormat
-    camel-quarkus-elsql:
+      - org.apache.camel.component.sap.netweaver.NetWeaverComponent
+    camel-quarkus-aws-sdb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-elsql
+      artifactId: camel-quarkus-aws-sdb
       schemes:
-      - id: elsql
+      - id: aws-sdb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.elsql.ElsqlComponent
-    camel-quarkus-micrometer:
+      - org.apache.camel.component.aws.sdb.SdbComponent
+    camel-quarkus-hbase:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-micrometer
+      artifactId: camel-quarkus-hbase
       schemes:
-      - id: micrometer
+      - id: hbase
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.micrometer.MicrometerComponent
-    camel-quarkus-netty:
+      - org.apache.camel.component.hbase.HBaseComponent
+    camel-quarkus-yammer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-netty
+      artifactId: camel-quarkus-yammer
       schemes:
-      - id: netty
+      - id: yammer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.netty.NettyComponent
-    camel-quarkus-jolt:
+      - org.apache.camel.component.yammer.YammerComponent
+    camel-quarkus-jgroups:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jolt
+      artifactId: camel-quarkus-jgroups
       schemes:
-      - id: jolt
+      - id: jgroups
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jolt.JoltComponent
-    camel-quarkus-http:
+      - org.apache.camel.component.jgroups.JGroupsComponent
+    camel-quarkus-dataformat:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-http
+      artifactId: camel-quarkus-dataformat
       schemes:
-      - id: https
-        http: false
-        passive: false
-      - id: http
+      - id: dataformat
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.http.HttpComponent
-    camel-quarkus-telegram:
+      - org.apache.camel.component.dataformat.DataFormatComponent
+    camel-quarkus-jing:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-telegram
+      artifactId: camel-quarkus-jing
       schemes:
-      - id: telegram
+      - id: jing
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.telegram.TelegramComponent
-    camel-quarkus-ganglia:
+      - org.apache.camel.component.validator.jing.JingComponent
+    camel-quarkus-jaxb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ganglia
+      artifactId: camel-quarkus-jaxb
+      dataformats:
+      - jaxb
+      javaTypes:
+      - org.apache.camel.converter.jaxb.JaxbDataFormat
+    camel-quarkus-scheduler:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-scheduler
       schemes:
-      - id: ganglia
+      - id: scheduler
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ganglia.GangliaComponent
-    camel-quarkus-aws2-kinesis:
+      - org.apache.camel.component.scheduler.SchedulerComponent
+    camel-quarkus-weather:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-kinesis
+      artifactId: camel-quarkus-weather
       schemes:
-      - id: aws2-kinesis
-        http: false
-        passive: false
-      - id: aws2-kinesis-firehose
+      - id: weather
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.kinesis.Kinesis2Component
-      - org.apache.camel.component.aws2.firehose.KinesisFirehose2Component
-    camel-quarkus-twitter:
+      - org.apache.camel.component.weather.WeatherComponent
+    camel-quarkus-aws2-eks:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-twitter
+      artifactId: camel-quarkus-aws2-eks
       schemes:
-      - id: twitter-search
-        http: false
-        passive: false
-      - id: twitter-timeline
+      - id: aws2-eks
         http: false
         passive: false
-      - id: twitter-directmessage
+      javaTypes:
+      - org.apache.camel.component.aws2.eks.EKS2Component
+    camel-quarkus-jsonapi:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jsonapi
+      dataformats:
+      - jsonApi
+      javaTypes:
+      - org.apache.camel.component.jsonapi.JsonApiDataFormat
+    camel-quarkus-iota:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-iota
+      schemes:
+      - id: iota
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent
-      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
-      - org.apache.camel.component.twitter.search.TwitterSearchComponent
-    camel-quarkus-aws-swf:
+      - org.apache.camel.component.iota.IOTAComponent
+    camel-quarkus-jt400:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-swf
+      artifactId: camel-quarkus-jt400
       schemes:
-      - id: aws-swf
+      - id: jt400
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.swf.SWFComponent
-    camel-quarkus-pubnub:
+      - org.apache.camel.component.jt400.Jt400Component
+    camel-quarkus-aws2-sqs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pubnub
+      artifactId: camel-quarkus-aws2-sqs
       schemes:
-      - id: pubnub
+      - id: aws2-sqs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pubnub.PubNubComponent
+      - org.apache.camel.component.aws2.sqs.Sqs2Component
     camel-quarkus-stub:
       groupId: org.apache.camel.quarkus
       artifactId: camel-quarkus-stub
@@ -565,2381 +629,2310 @@ spec:
         passive: true
       javaTypes:
       - org.apache.camel.component.stub.StubComponent
-    camel-quarkus-aws2-sqs:
+    camel-quarkus-pubnub:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-sqs
+      artifactId: camel-quarkus-pubnub
       schemes:
-      - id: aws2-sqs
+      - id: pubnub
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.sqs.Sqs2Component
-    camel-quarkus-jt400:
+      - org.apache.camel.component.pubnub.PubNubComponent
+    camel-quarkus-aws-swf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jt400
+      artifactId: camel-quarkus-aws-swf
       schemes:
-      - id: jt400
+      - id: aws-swf
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jt400.Jt400Component
-    camel-quarkus-iota:
+      - org.apache.camel.component.aws.swf.SWFComponent
+    camel-quarkus-twitter:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-iota
+      artifactId: camel-quarkus-twitter
       schemes:
-      - id: iota
+      - id: twitter-directmessage
+        http: false
+        passive: false
+      - id: twitter-timeline
+        http: false
+        passive: false
+      - id: twitter-search
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.iota.IOTAComponent
-    camel-quarkus-jsonapi:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsonapi
-      dataformats:
-      - jsonApi
-      javaTypes:
-      - org.apache.camel.component.jsonapi.JsonApiDataFormat
-    camel-quarkus-aws2-eks:
+      - org.apache.camel.component.twitter.search.TwitterSearchComponent
+      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
+      - org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent
+    camel-quarkus-aws2-kinesis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-eks
+      artifactId: camel-quarkus-aws2-kinesis
       schemes:
-      - id: aws2-eks
+      - id: aws2-kinesis-firehose
+        http: false
+        passive: false
+      - id: aws2-kinesis
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.eks.EKS2Component
-    camel-quarkus-weather:
+      - org.apache.camel.component.aws2.firehose.KinesisFirehose2Component
+      - org.apache.camel.component.aws2.kinesis.Kinesis2Component
+    camel-quarkus-ganglia:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-weather
+      artifactId: camel-quarkus-ganglia
       schemes:
-      - id: weather
+      - id: ganglia
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.weather.WeatherComponent
-    camel-quarkus-scheduler:
+      - org.apache.camel.component.ganglia.GangliaComponent
+    camel-quarkus-telegram:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-scheduler
+      artifactId: camel-quarkus-telegram
       schemes:
-      - id: scheduler
+      - id: telegram
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.scheduler.SchedulerComponent
-    camel-quarkus-jaxb:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jaxb
-      dataformats:
-      - jaxb
-      javaTypes:
-      - org.apache.camel.converter.jaxb.JaxbDataFormat
-    camel-quarkus-jing:
+      - org.apache.camel.component.telegram.TelegramComponent
+    camel-quarkus-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jing
+      artifactId: camel-quarkus-http
       schemes:
-      - id: jing
+      - id: http
+        http: false
+        passive: false
+      - id: https
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.validator.jing.JingComponent
-    camel-quarkus-dataformat:
+      - org.apache.camel.component.http.HttpComponent
+    camel-quarkus-jolt:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dataformat
+      artifactId: camel-quarkus-jolt
       schemes:
-      - id: dataformat
+      - id: jolt
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.dataformat.DataFormatComponent
-    camel-quarkus-jgroups:
+      - org.apache.camel.component.jolt.JoltComponent
+    camel-quarkus-netty:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jgroups
+      artifactId: camel-quarkus-netty
       schemes:
-      - id: jgroups
+      - id: netty
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jgroups.JGroupsComponent
-    camel-quarkus-yammer:
+      - org.apache.camel.component.netty.NettyComponent
+    camel-quarkus-micrometer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-yammer
+      artifactId: camel-quarkus-micrometer
       schemes:
-      - id: yammer
+      - id: micrometer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.yammer.YammerComponent
-    camel-quarkus-hbase:
+      - org.apache.camel.component.micrometer.MicrometerComponent
+    camel-quarkus-elsql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hbase
+      artifactId: camel-quarkus-elsql
       schemes:
-      - id: hbase
+      - id: elsql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.hbase.HBaseComponent
-    camel-quarkus-aws-sdb:
+      - org.apache.camel.component.elsql.ElsqlComponent
+    camel-quarkus-cbor:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sdb
+      artifactId: camel-quarkus-cbor
+      dataformats:
+      - cbor
+      javaTypes:
+      - org.apache.camel.component.cbor.CBORDataFormat
+    camel-quarkus-mybatis:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-mybatis
       schemes:
-      - id: aws-sdb
+      - id: mybatis
+        http: false
+        passive: false
+      - id: mybatis-bean
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.sdb.SdbComponent
-    camel-quarkus-sap-netweaver:
+      - org.apache.camel.component.mybatis.MyBatisBeanComponent
+      - org.apache.camel.component.mybatis.MyBatisComponent
+    camel-quarkus-file:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sap-netweaver
+      artifactId: camel-quarkus-file
       schemes:
-      - id: sap-netweaver
+      - id: file
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sap.netweaver.NetWeaverComponent
-    camel-quarkus-servicenow:
+      - org.apache.camel.component.file.FileComponent
+    camel-quarkus-robotframework:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-servicenow
+      artifactId: camel-quarkus-robotframework
       schemes:
-      - id: servicenow
+      - id: robotframework
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.servicenow.ServiceNowComponent
-    camel-quarkus-grpc:
+      - org.apache.camel.component.robotframework.RobotFrameworkComponent
+    camel-quarkus-file-watch:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-grpc
+      artifactId: camel-quarkus-file-watch
       schemes:
-      - id: grpc
-        http: true
+      - id: file-watch
+        http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.grpc.GrpcComponent
-    camel-quarkus-ipfs:
+      - org.apache.camel.component.file.watch.FileWatchComponent
+    camel-quarkus-rest-openapi:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ipfs
+      artifactId: camel-quarkus-rest-openapi
       schemes:
-      - id: ipfs
+      - id: rest-openapi
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ipfs.IPFSComponent
-    camel-quarkus-aws-kms:
+      - org.apache.camel.component.rest.openapi.RestOpenApiComponent
+    camel-quarkus-jclouds:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-kms
+      artifactId: camel-quarkus-jclouds
       schemes:
-      - id: aws-kms
+      - id: jclouds
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.kms.KMSComponent
-    camel-quarkus-stax:
+      - org.apache.camel.component.jclouds.JcloudsComponent
+    camel-quarkus-quickfix:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stax
+      artifactId: camel-quarkus-quickfix
       schemes:
-      - id: stax
+      - id: quickfix
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stax.StAXComponent
-    camel-quarkus-aws2-msk:
+      - org.apache.camel.component.quickfixj.QuickfixjComponent
+    camel-quarkus-solr:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-msk
+      artifactId: camel-quarkus-solr
       schemes:
-      - id: aws2-msk
+      - id: solrs
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.msk.MSK2Component
-    camel-quarkus-debezium-sqlserver:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-sqlserver
-      schemes:
-      - id: debezium-sqlserver
+      - id: solrCloud
+        http: false
+        passive: false
+      - id: solr
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumSqlserverComponent
-    camel-quarkus-snakeyaml:
+      - org.apache.camel.component.solr.SolrComponent
+    camel-quarkus-johnzon:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-snakeyaml
+      artifactId: camel-quarkus-johnzon
       dataformats:
-      - yaml-snakeyaml
+      - json-johnzon
       javaTypes:
-      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
-    camel-quarkus-fastjson:
+      - org.apache.camel.component.johnzon.JohnzonDataFormat
+    camel-quarkus-fop:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fastjson
-      dataformats:
-      - json-fastjson
+      artifactId: camel-quarkus-fop
+      schemes:
+      - id: fop
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.component.fastjson.FastjsonDataFormat
-    camel-quarkus-xj:
+      - org.apache.camel.component.fop.FopComponent
+    camel-quarkus-saga:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xj
+      artifactId: camel-quarkus-saga
       schemes:
-      - id: xj
+      - id: saga
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xj.XJComponent
-    camel-quarkus-direct:
+      - org.apache.camel.component.saga.SagaComponent
+    camel-quarkus-beanstalk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-direct
+      artifactId: camel-quarkus-beanstalk
       schemes:
-      - id: direct
+      - id: beanstalk
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.direct.DirectComponent
-    camel-quarkus-bean:
+      - org.apache.camel.component.beanstalk.BeanstalkComponent
+    camel-quarkus-xslt:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bean
+      artifactId: camel-quarkus-xslt
       schemes:
-      - id: bean
-        http: false
-        passive: true
-      - id: class
+      - id: xslt
         http: false
-        passive: true
-      languages:
-      - bean
+        passive: false
       javaTypes:
-      - org.apache.camel.component.beanclass.ClassComponent
-      - org.apache.camel.component.bean.BeanComponent
-      - org.apache.camel.language.bean.BeanLanguage
-    camel-quarkus-aws-s3:
+      - org.apache.camel.component.xslt.XsltComponent
+    camel-quarkus-rest:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-s3
+      artifactId: camel-quarkus-rest
       schemes:
-      - id: aws-s3
+      - id: rest-api
         http: false
         passive: false
+      - id: rest
+        http: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.aws.s3.S3Component
-    camel-quarkus-grok:
+      - org.apache.camel.component.rest.RestApiComponent
+      - org.apache.camel.component.rest.RestComponent
+    camel-quarkus-groovy:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-grok
-      dataformats:
-      - grok
+      artifactId: camel-quarkus-groovy
+      languages:
+      - groovy
       javaTypes:
-      - org.apache.camel.component.grok.GrokDataFormat
-    camel-quarkus-couchdb:
+      - org.apache.camel.language.groovy.GroovyLanguage
+    camel-quarkus-xmlsecurity:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-couchdb
+      artifactId: camel-quarkus-xmlsecurity
       schemes:
-      - id: couchdb
+      - id: xmlsecurity-sign
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.couchdb.CouchDbComponent
-    camel-quarkus-workday:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-workday
-      schemes:
-      - id: workday
+      - id: xmlsecurity-verify
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.workday.WorkdayComponent
-    camel-quarkus-zip-deflater:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zip-deflater
       dataformats:
-      - gzipdeflater
-      - zipdeflater
+      - secureXML
       javaTypes:
-      - org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat
-      - org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat
-    camel-quarkus-smpp:
+      - org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat
+      - org.apache.camel.component.xmlsecurity.XmlVerifierComponent
+      - org.apache.camel.component.xmlsecurity.XmlSignerComponent
+    camel-quarkus-azure:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-smpp
+      artifactId: camel-quarkus-azure
       schemes:
-      - id: smpps
+      - id: azure-queue
         http: false
         passive: false
-      - id: smpp
+      - id: azure-blob
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.smpp.SmppComponent
-    camel-quarkus-syslog:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-syslog
-      dataformats:
-      - syslog
-      javaTypes:
-      - org.apache.camel.component.syslog.SyslogDataFormat
-    camel-quarkus-aws-iam:
+      - org.apache.camel.component.azure.blob.BlobServiceComponent
+      - org.apache.camel.component.azure.queue.QueueServiceComponent
+    camel-quarkus-aws-translate:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-iam
+      artifactId: camel-quarkus-aws-translate
       schemes:
-      - id: aws-iam
+      - id: aws-translate
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.iam.IAMComponent
-    camel-quarkus-debezium-postgres:
+      - org.apache.camel.component.aws.translate.TranslateComponent
+    camel-quarkus-chatscript:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-postgres
+      artifactId: camel-quarkus-chatscript
       schemes:
-      - id: debezium-postgres
+      - id: chatscript
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumPostgresComponent
-    camel-quarkus-flink:
+      - org.apache.camel.component.chatscript.ChatScriptComponent
+    camel-quarkus-rabbitmq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-flink
+      artifactId: camel-quarkus-rabbitmq
       schemes:
-      - id: flink
+      - id: rabbitmq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.flink.FlinkComponent
-    camel-quarkus-amqp:
+      - org.apache.camel.component.rabbitmq.RabbitMQComponent
+    camel-quarkus-reactive-streams:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-amqp
+      artifactId: camel-quarkus-reactive-streams
       schemes:
-      - id: amqp
+      - id: reactive-streams
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.amqp.AMQPComponent
-    camel-quarkus-guava-eventbus:
+      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
+    camel-quarkus-azure-storage-queue:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-guava-eventbus
+      artifactId: camel-quarkus-azure-storage-queue
       schemes:
-      - id: guava-eventbus
+      - id: azure-storage-queue
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.guava.eventbus.GuavaEventBusComponent
-    camel-quarkus-pulsar:
+      - org.apache.camel.component.azure.storage.queue.QueueComponent
+    camel-quarkus-cron:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pulsar
+      artifactId: camel-quarkus-cron
       schemes:
-      - id: pulsar
+      - id: cron
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pulsar.PulsarComponent
-    camel-quarkus-jpa:
+      - org.apache.camel.component.cron.CronComponent
+    camel-quarkus-mongodb-gridfs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jpa
+      artifactId: camel-quarkus-mongodb-gridfs
       schemes:
-      - id: jpa
+      - id: mongodb-gridfs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jpa.JpaComponent
-    camel-quarkus-aws2-ddb:
+      - org.apache.camel.component.mongodb.gridfs.GridFsComponent
+    camel-quarkus-ignite:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ddb
+      artifactId: camel-quarkus-ignite
       schemes:
-      - id: aws2-ddb
+      - id: ignite-queue
         http: false
         passive: false
-      - id: aws2-ddbstream
+      - id: ignite-events
         http: false
         passive: false
-      javaTypes:
-      - 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-mock
-      schemes:
-      - id: mock
+      - id: ignite-messaging
         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
+        passive: false
+      - id: ignite-compute
         http: false
         passive: false
-      - id: iec60870-client
+      - id: ignite-cache
+        http: false
+        passive: false
+      - id: ignite-idgen
+        http: false
+        passive: false
+      - id: ignite-set
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.iec60870.client.ClientComponent
-      - org.apache.camel.component.iec60870.server.ServerComponent
-    camel-quarkus-weka:
+      - 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
+      - org.apache.camel.component.ignite.queue.IgniteQueueComponent
+      - org.apache.camel.component.ignite.messaging.IgniteMessagingComponent
+    camel-quarkus-web3j:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-weka
+      artifactId: camel-quarkus-web3j
       schemes:
-      - id: weka
+      - id: web3j
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.weka.WekaComponent
-    camel-quarkus-controlbus:
+      - org.apache.camel.component.web3j.Web3jComponent
+    camel-quarkus-aws-ec2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-controlbus
+      artifactId: camel-quarkus-aws-ec2
       schemes:
-      - id: controlbus
+      - id: aws-ec2
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.controlbus.ControlBusComponent
-    camel-quarkus-vertx:
+      - org.apache.camel.component.aws.ec2.EC2Component
+    camel-quarkus-ldif:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vertx
+      artifactId: camel-quarkus-ldif
       schemes:
-      - id: vertx
+      - id: ldif
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.vertx.VertxComponent
-    camel-quarkus-jdbc:
+      - org.apache.camel.component.ldif.LdifComponent
+    camel-quarkus-xml-jaxp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jdbc
+      artifactId: camel-quarkus-xml-jaxp
+      languages:
+      - xtokenize
+      javaTypes:
+      - org.apache.camel.language.xtokenizer.XMLTokenizeLanguage
+    camel-quarkus-corda:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-corda
       schemes:
-      - id: jdbc
+      - id: corda
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jdbc.JdbcComponent
-    camel-quarkus-consul:
+      - org.apache.camel.component.corda.CordaComponent
+    camel-quarkus-github:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-consul
+      artifactId: camel-quarkus-github
       schemes:
-      - id: consul
+      - id: github
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.consul.ConsulComponent
-    camel-quarkus-ognl:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ognl
-      languages:
-      - ognl
-      javaTypes:
-      - org.apache.camel.language.ognl.OgnlLanguage
-    camel-quarkus-facebook:
+      - org.apache.camel.component.github.GitHubComponent
+    camel-quarkus-aws2-eventbridge:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-facebook
+      artifactId: camel-quarkus-aws2-eventbridge
       schemes:
-      - id: facebook
+      - id: aws2-eventbridge
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.facebook.FacebookComponent
-    camel-quarkus-xpath:
+      - org.apache.camel.component.aws2.eventbridge.EventbridgeComponent
+    camel-quarkus-xmpp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xpath
-      languages:
-      - xpath
+      artifactId: camel-quarkus-xmpp
+      schemes:
+      - id: xmpp
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.language.xpath.XPathLanguage
-    camel-quarkus-nsq:
+      - org.apache.camel.component.xmpp.XmppComponent
+    camel-quarkus-aws-lambda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nsq
+      artifactId: camel-quarkus-aws-lambda
       schemes:
-      - id: nsq
+      - id: aws-lambda
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nsq.NsqComponent
-    camel-quarkus-jsonb:
+      - org.apache.camel.component.aws.lambda.LambdaComponent
+    camel-quarkus-minio:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsonb
-      dataformats:
-      - json-jsonb
+      artifactId: camel-quarkus-minio
+      schemes:
+      - id: minio
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.component.jsonb.JsonbDataFormat
-    camel-quarkus-aws2-sns:
+      - org.apache.camel.component.minio.MinioComponent
+    camel-quarkus-atlasmap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-sns
+      artifactId: camel-quarkus-atlasmap
       schemes:
-      - id: aws2-sns
+      - id: atlasmap
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.sns.Sns2Component
-    camel-quarkus-mvel:
+      - org.apache.camel.component.atlasmap.AtlasMapComponent
+    camel-quarkus-aws2-sts:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mvel
+      artifactId: camel-quarkus-aws2-sts
       schemes:
-      - id: mvel
+      - id: aws2-sts
         http: false
         passive: false
-      languages:
-      - mvel
       javaTypes:
-      - org.apache.camel.component.mvel.MvelComponent
-      - org.apache.camel.language.mvel.MvelLanguage
-    camel-quarkus-univocity-parsers:
+      - org.apache.camel.component.aws2.sts.STS2Component
+    camel-quarkus-tarfile:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-univocity-parsers
+      artifactId: camel-quarkus-tarfile
       dataformats:
-      - univocity-csv
-      - univocity-tsv
-      - univocity-fixed
-      javaTypes:
-      - org.apache.camel.dataformat.univocity.UniVocityTsvDataFormat
-      - org.apache.camel.dataformat.univocity.UniVocityFixedWidthDataFormat
-      - org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat
-    camel-quarkus-ref:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ref
-      schemes:
-      - id: ref
-        http: false
-        passive: true
+      - tarfile
       javaTypes:
-      - org.apache.camel.component.ref.RefComponent
-    camel-quarkus-lzf:
+      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
+    camel-quarkus-avro:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-lzf
+      artifactId: camel-quarkus-avro
       dataformats:
-      - lzf
+      - avro
       javaTypes:
-      - org.apache.camel.dataformat.lzf.LZFDataFormat
-    camel-quarkus-paho:
+      - org.apache.camel.dataformat.avro.AvroDataFormat
+    camel-quarkus-msv:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-paho
+      artifactId: camel-quarkus-msv
       schemes:
-      - id: paho
+      - id: msv
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.paho.PahoComponent
-    camel-quarkus-vm:
+      - org.apache.camel.component.validator.msv.MsvComponent
+    camel-quarkus-spark:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vm
+      artifactId: camel-quarkus-spark
       schemes:
-      - id: vm
+      - id: spark
         http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.vm.VmComponent
-    camel-quarkus-bindy:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bindy
-      dataformats:
-      - bindy-csv
-      - bindy-fixed
-      - bindy-kvp
+        passive: false
       javaTypes:
-      - org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat
-      - org.apache.camel.dataformat.bindy.fixed.BindyFixedLengthDataFormat
-      - org.apache.camel.dataformat.bindy.kvp.BindyKeyValuePairDataFormat
-    camel-quarkus-jslt:
+      - org.apache.camel.component.spark.SparkComponent
+    camel-quarkus-saxon:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jslt
+      artifactId: camel-quarkus-saxon
       schemes:
-      - id: jslt
+      - id: xquery
         http: false
         passive: false
+      languages:
+      - xquery
       javaTypes:
-      - org.apache.camel.component.jslt.JsltComponent
-    camel-quarkus-apns:
+      - org.apache.camel.component.xquery.XQueryComponent
+      - org.apache.camel.language.xquery.XQueryLanguage
+    camel-quarkus-caffeine:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-apns
+      artifactId: camel-quarkus-caffeine
       schemes:
-      - id: apns
+      - id: caffeine-loadcache
+        http: false
+        passive: false
+      - id: caffeine-cache
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.apns.ApnsComponent
-    camel-quarkus-optaplanner:
+      - org.apache.camel.component.caffeine.cache.CaffeineCacheComponent
+      - org.apache.camel.component.caffeine.load.CaffeineLoadCacheComponent
+    camel-quarkus-elasticsearch-rest:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-optaplanner
+      artifactId: camel-quarkus-elasticsearch-rest
       schemes:
-      - id: optaplanner
+      - id: elasticsearch-rest
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.optaplanner.OptaPlannerComponent
-    camel-quarkus-xstream:
-      groupId: org.apache.camel.quarkus
-      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:
+      - org.apache.camel.component.elasticsearch.ElasticsearchComponent
+    camel-quarkus-bean-validator:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-mongodb
+      artifactId: camel-quarkus-bean-validator
       schemes:
-      - id: debezium-mongodb
+      - id: bean-validator
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMongodbComponent
-    camel-quarkus-jacksonxml:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jacksonxml
-      dataformats:
-      - jacksonxml
-      javaTypes:
-      - org.apache.camel.component.jacksonxml.JacksonXMLDataFormat
-    camel-quarkus-zookeeper-master:
+      - org.apache.camel.component.bean.validator.BeanValidatorComponent
+    camel-quarkus-jira:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zookeeper-master
+      artifactId: camel-quarkus-jira
       schemes:
-      - id: zookeeper-master
+      - id: jira
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.zookeepermaster.MasterComponent
-    camel-k-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-knative
+      - org.apache.camel.component.jira.JiraComponent
+    camel-quarkus-sql:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-sql
       schemes:
-      - id: knative
-        http: true
+      - id: sql
+        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-language:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-language
-      schemes:
-      - id: language
+      - id: sql-stored
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.language.LanguageComponent
-    camel-quarkus-schematron:
+      - org.apache.camel.component.sql.stored.SqlStoredComponent
+      - org.apache.camel.component.sql.SqlComponent
+    camel-quarkus-ehcache:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-schematron
+      artifactId: camel-quarkus-ehcache
       schemes:
-      - id: schematron
+      - id: ehcache
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.schematron.SchematronComponent
-    camel-quarkus-asn1:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-asn1
-      dataformats:
-      - asn1
-      javaTypes:
-      - org.apache.camel.dataformat.asn1.ASN1DataFormat
-    camel-quarkus-aws2-cw:
+      - org.apache.camel.component.ehcache.EhcacheComponent
+    camel-quarkus-aws2-iam:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-cw
+      artifactId: camel-quarkus-aws2-iam
       schemes:
-      - id: aws2-cw
+      - id: aws2-iam
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.cw.Cw2Component
-    camel-quarkus-sip:
+      - org.apache.camel.component.aws2.iam.IAM2Component
+    camel-quarkus-velocity:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sip
+      artifactId: camel-quarkus-velocity
       schemes:
-      - id: sips
-        http: false
-        passive: false
-      - id: sip
+      - id: velocity
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sip.SipComponent
-    camel-quarkus-thrift:
+      - org.apache.camel.component.velocity.VelocityComponent
+    camel-quarkus-core:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-thrift
-      schemes:
-      - id: thrift
-        http: false
-        passive: false
-      dataformats:
-      - thrift
+      artifactId: camel-quarkus-core
+      languages:
+      - exchangeProperty
+      - tokenize
+      - file
+      - header
+      - simple
+      - ref
+      - constant
+      - csimple
       javaTypes:
-      - org.apache.camel.dataformat.thrift.ThriftDataFormat
-      - org.apache.camel.component.thrift.ThriftComponent
-    camel-quarkus-jms:
+      - 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:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jms
+      artifactId: camel-quarkus-debezium-mysql
       schemes:
-      - id: jms
+      - id: debezium-mysql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jms.JmsComponent
-    camel-quarkus-pg-replication-slot:
+      - org.apache.camel.component.debezium.DebeziumMySqlComponent
+    camel-quarkus-jcr:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pg-replication-slot
+      artifactId: camel-quarkus-jcr
       schemes:
-      - id: pg-replication-slot
+      - id: jcr
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent
-    camel-quarkus-quartz:
+      - org.apache.camel.component.jcr.JcrComponent
+    camel-quarkus-hdfs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-quartz
+      artifactId: camel-quarkus-hdfs
       schemes:
-      - id: quartz
+      - id: hdfs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.quartz.QuartzComponent
-    camel-quarkus-etcd:
+      - org.apache.camel.component.hdfs.HdfsComponent
+    camel-quarkus-kudu:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-etcd
+      artifactId: camel-quarkus-kudu
       schemes:
-      - id: etcd-watch
-        http: false
-        passive: false
-      - id: etcd-stats
-        http: false
-        passive: false
-      - id: etcd-keys
+      - id: kudu
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.etcd.EtcdWatchComponent
-      - org.apache.camel.component.etcd.EtcdKeysComponent
-      - org.apache.camel.component.etcd.EtcdStatsComponent
-    camel-quarkus-as2:
+      - org.apache.camel.component.kudu.KuduComponent
+    camel-quarkus-jooq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-as2
+      artifactId: camel-quarkus-jooq
       schemes:
-      - id: as2
+      - id: jooq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.as2.AS2Component
-    camel-quarkus-atmos:
+      - org.apache.camel.component.jooq.JooqComponent
+    camel-quarkus-jsonpath:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atmos
-      schemes:
-      - id: atmos
-        http: false
-        passive: false
+      artifactId: camel-quarkus-jsonpath
+      languages:
+      - jsonpath
       javaTypes:
-      - org.apache.camel.component.atmos.AtmosComponent
-    camel-k-kamelet-reify:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-kamelet-reify
+      - org.apache.camel.jsonpath.JsonPathLanguage
+    camel-quarkus-hl7:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-hl7
+      languages:
+      - hl7terser
+      dataformats:
+      - hl7
+      javaTypes:
+      - org.apache.camel.component.hl7.Hl7TerserLanguage
+      - org.apache.camel.component.hl7.HL7DataFormat
+    camel-quarkus-disruptor:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-disruptor
       schemes:
-      - id: wrap
+      - id: disruptor
         http: false
         passive: false
-    camel-quarkus-xchange:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xchange
-      schemes:
-      - id: xchange
+      - id: disruptor-vm
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xchange.XChangeComponent
-    camel-quarkus-ldap:
+      - org.apache.camel.component.disruptor.vm.DisruptorVmComponent
+      - org.apache.camel.component.disruptor.DisruptorComponent
+    camel-quarkus-graphql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ldap
+      artifactId: camel-quarkus-graphql
       schemes:
-      - id: ldap
+      - id: graphql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ldap.LdapComponent
-    camel-quarkus-sjms2:
+      - org.apache.camel.component.graphql.GraphqlComponent
+    camel-quarkus-log:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sjms2
+      artifactId: camel-quarkus-log
       schemes:
-      - id: sjms2
+      - id: log
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.sjms2.Sjms2Component
-    camel-quarkus-zookeeper:
+      - org.apache.camel.component.log.LogComponent
+    camel-quarkus-ahc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zookeeper
+      artifactId: camel-quarkus-ahc
       schemes:
-      - id: zookeeper
-        http: false
+      - id: ahc
+        http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.zookeeper.ZooKeeperComponent
-    camel-quarkus-olingo4:
+      - org.apache.camel.component.ahc.AhcComponent
+    camel-quarkus-milo:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-olingo4
+      artifactId: camel-quarkus-milo
       schemes:
-      - id: olingo4
+      - id: milo-server
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.olingo4.Olingo4Component
-    camel-quarkus-aws-sqs:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sqs
-      schemes:
-      - id: aws-sqs
+      - id: milo-client
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.sqs.SqsComponent
-    camel-quarkus-braintree:
+      - org.apache.camel.component.milo.client.MiloClientComponent
+      - org.apache.camel.component.milo.server.MiloServerComponent
+    camel-quarkus-atomix:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-braintree
+      artifactId: camel-quarkus-atomix
       schemes:
-      - id: braintree
+      - id: atomix-multimap
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.braintree.BraintreeComponent
-    camel-quarkus-zendesk:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zendesk
-      schemes:
-      - id: zendesk
+      - id: atomix-map
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.zendesk.ZendeskComponent
-    camel-quarkus-twilio:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-twilio
-      schemes:
-      - id: twilio
+      - id: atomix-queue
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.twilio.TwilioComponent
-    camel-quarkus-activemq:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-activemq
-      schemes:
-      - id: activemq
+      - id: atomix-set
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.activemq.ActiveMQComponent
-    camel-quarkus-nitrite:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nitrite
-      schemes:
-      - id: nitrite
+      - id: atomix-messaging
+        http: false
+        passive: false
+      - id: atomix-value
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nitrite.NitriteComponent
-    camel-quarkus-seda:
+      - org.apache.camel.component.atomix.client.queue.AtomixQueueComponent
+      - 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
+    camel-quarkus-fhir:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-seda
+      artifactId: camel-quarkus-fhir
       schemes:
-      - id: seda
+      - id: fhir
         http: false
-        passive: true
+        passive: false
+      dataformats:
+      - fhirXml
+      - fhirJson
       javaTypes:
-      - org.apache.camel.component.seda.SedaComponent
-    camel-quarkus-aws-eks:
+      - 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-aws-eks
+      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: aws-eks
+      - id: aws2-kms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.eks.EKSComponent
-    camel-quarkus-dozer:
+      - org.apache.camel.component.aws2.kms.KMS2Component
+    camel-quarkus-lucene:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dozer
+      artifactId: camel-quarkus-lucene
       schemes:
-      - id: dozer
+      - id: lucene
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.dozer.DozerComponent
-    camel-quarkus-splunk:
+      - org.apache.camel.component.lucene.LuceneComponent
+    camel-quarkus-splunk-hec:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-splunk
+      artifactId: camel-quarkus-splunk-hec
       schemes:
-      - id: splunk
+      - id: splunk-hec
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.splunk.SplunkComponent
-    camel-quarkus-google-drive:
+      - org.apache.camel.component.splunkhec.SplunkHECComponent
+    camel-quarkus-aws-ecs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-drive
+      artifactId: camel-quarkus-aws-ecs
       schemes:
-      - id: google-drive
+      - id: aws-ecs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.drive.GoogleDriveComponent
-    camel-quarkus-sjms:
+      - org.apache.camel.component.aws.ecs.ECSComponent
+    camel-quarkus-jbpm:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sjms
+      artifactId: camel-quarkus-jbpm
       schemes:
-      - id: sjms
+      - id: jbpm
         http: false
         passive: false
-      - id: sjms-batch
+      javaTypes:
+      - org.apache.camel.component.jbpm.JBPMComponent
+    camel-quarkus-salesforce:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-salesforce
+      schemes:
+      - id: salesforce
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sjms.batch.SjmsBatchComponent
-      - org.apache.camel.component.sjms.SjmsComponent
-    camel-quarkus-ical:
+      - org.apache.camel.component.salesforce.SalesforceComponent
+    camel-quarkus-jcache:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ical
-      dataformats:
-      - ical
+      artifactId: camel-quarkus-jcache
+      schemes:
+      - id: jcache
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.component.ical.ICalDataFormat
-    camel-quarkus-cassandraql:
+      - org.apache.camel.component.jcache.JCacheComponent
+    camel-quarkus-vertx-websocket:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cassandraql
+      artifactId: camel-quarkus-vertx-websocket
       schemes:
-      - id: cql
+      - id: vertx-websocket
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cassandra.CassandraComponent
-    camel-quarkus-jgroups-raft:
+      - org.apache.camel.component.vertx.websocket.VertxWebsocketComponent
+    camel-quarkus-google-calendar:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jgroups-raft
+      artifactId: camel-quarkus-google-calendar
       schemes:
-      - id: jgroups-raft
+      - id: google-calendar
+        http: false
+        passive: false
+      - id: google-calendar-stream
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jgroups.raft.JGroupsRaftComponent
-    camel-quarkus-mongodb:
+      - org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent
+      - org.apache.camel.component.google.calendar.GoogleCalendarComponent
+    camel-quarkus-avro-rpc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mongodb
+      artifactId: camel-quarkus-avro-rpc
       schemes:
-      - id: mongodb
+      - id: avro
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mongodb.MongoDbComponent
-    camel-quarkus-dns:
+      - org.apache.camel.component.avro.AvroComponent
+    camel-quarkus-browse:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dns
+      artifactId: camel-quarkus-browse
       schemes:
-      - id: dns
+      - id: browse
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.browse.BrowseComponent
+    camel-quarkus-stream:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-stream
+      schemes:
+      - id: stream
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.dns.DnsComponent
-    camel-k-webhook:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-webhook
+      - org.apache.camel.component.stream.StreamComponent
+    camel-quarkus-kafka:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-kafka
       schemes:
-      - id: webhook
-        http: true
-        passive: true
-    camel-quarkus-chunk:
+      - id: kafka
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.kafka.KafkaComponent
+    camel-quarkus-xslt-saxon:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-chunk
+      artifactId: camel-quarkus-xslt-saxon
       schemes:
-      - id: chunk
+      - id: xslt-saxon
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.chunk.ChunkComponent
-    camel-quarkus-cometd:
+      - org.apache.camel.component.xslt.saxon.XsltSaxonComponent
+    camel-quarkus-ssh:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cometd
+      artifactId: camel-quarkus-ssh
       schemes:
-      - id: cometds
+      - id: ssh
         http: false
         passive: false
-      - id: cometd
+      javaTypes:
+      - org.apache.camel.component.ssh.SshComponent
+    camel-quarkus-tika:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-tika
+      schemes:
+      - id: tika
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cometd.CometdComponent
-    camel-quarkus-drill:
+      - org.apache.camel.component.tika.TikaComponent
+    camel-quarkus-coap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-drill
+      artifactId: camel-quarkus-coap
       schemes:
-      - id: drill
+      - id: coap+tcp
+        http: false
+        passive: false
+      - id: coap
+        http: false
+        passive: false
+      - id: coaps+tcp
+        http: false
+        passive: false
+      - id: coaps
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.drill.DrillComponent
-    camel-quarkus-soroush:
+      - org.apache.camel.coap.CoAPComponent
+    camel-quarkus-aws2-mq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-soroush
+      artifactId: camel-quarkus-aws2-mq
       schemes:
-      - id: soroush
+      - id: aws2-mq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.soroushbot.component.SoroushBotComponent
-    camel-quarkus-atom:
+      - org.apache.camel.component.aws2.mq.MQ2Component
+    camel-quarkus-beanio:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atom
+      artifactId: camel-quarkus-beanio
+      dataformats:
+      - beanio
+      javaTypes:
+      - org.apache.camel.dataformat.beanio.BeanIODataFormat
+    camel-quarkus-jsch:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jsch
       schemes:
-      - id: atom
+      - id: scp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.atom.AtomComponent
-    camel-quarkus-pgevent:
+      - org.apache.camel.component.scp.ScpComponent
+    camel-quarkus-irc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pgevent
+      artifactId: camel-quarkus-irc
       schemes:
-      - id: pgevent
+      - id: irc
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pgevent.PgEventComponent
-    camel-quarkus-geocoder:
+      - org.apache.camel.component.irc.IrcComponent
+    camel-quarkus-mllp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-geocoder
+      artifactId: camel-quarkus-mllp
       schemes:
-      - id: geocoder
+      - id: mllp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.geocoder.GeoCoderComponent
-    camel-quarkus-gson:
+      - org.apache.camel.component.mllp.MllpComponent
+    camel-quarkus-ahc-ws:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-gson
-      dataformats:
-      - json-gson
+      artifactId: camel-quarkus-ahc-ws
+      schemes:
+      - id: ahc-wss
+        http: false
+        passive: false
+      - id: ahc-ws
+        http: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.gson.GsonDataFormat
-    camel-quarkus-rss:
+      - org.apache.camel.component.ahc.ws.WsComponent
+    camel-quarkus-aws2-translate:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rss
+      artifactId: camel-quarkus-aws2-translate
       schemes:
-      - id: rss
+      - id: aws2-translate
         http: false
         passive: false
-      dataformats:
-      - rss
       javaTypes:
-      - org.apache.camel.dataformat.rss.RssDataFormat
-      - org.apache.camel.component.rss.RssComponent
-    camel-quarkus-exec:
+      - org.apache.camel.component.aws2.translate.Translate2Component
+    camel-quarkus-vertx-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-exec
+      artifactId: camel-quarkus-vertx-http
       schemes:
-      - id: exec
+      - id: vertx-http
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.exec.ExecComponent
-    camel-quarkus-base64:
+      - org.apache.camel.component.vertx.http.VertxHttpComponent
+    camel-quarkus-wordpress:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-base64
-      dataformats:
-      - base64
+      artifactId: camel-quarkus-wordpress
+      schemes:
+      - id: wordpress
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.dataformat.base64.Base64DataFormat
-    camel-quarkus-infinispan:
+      - org.apache.camel.component.wordpress.WordpressComponent
+    camel-quarkus-box:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-infinispan
+      artifactId: camel-quarkus-box
       schemes:
-      - id: infinispan
+      - id: box
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.infinispan.InfinispanComponent
-    camel-quarkus-nats:
+      - org.apache.camel.component.box.BoxComponent
+    camel-quarkus-hazelcast:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nats
+      artifactId: camel-quarkus-hazelcast
       schemes:
-      - id: nats
+      - id: hazelcast-seda
+        http: false
+        passive: false
+      - id: hazelcast-multimap
+        http: false
+        passive: false
+      - id: hazelcast-topic
+        http: false
+        passive: false
+      - id: hazelcast-replicatedmap
+        http: false
+        passive: false
+      - id: hazelcast-atomicvalue
+        http: false
+        passive: false
+      - id: hazelcast-ringbuffer
+        http: false
+        passive: false
+      - id: hazelcast-instance
+        http: false
+        passive: false
+      - id: hazelcast-list
+        http: false
+        passive: false
+      - id: hazelcast-queue
+        http: false
+        passive: false
+      - id: hazelcast-set
+        http: false
+        passive: false
+      - id: hazelcast-map
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nats.NatsComponent
-    camel-quarkus-microprofile-metrics:
+      - 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-microprofile-metrics
+      artifactId: camel-quarkus-aws2-ses
       schemes:
-      - id: microprofile-metrics
+      - id: aws2-ses
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
-    camel-quarkus-asterisk:
+      - org.apache.camel.component.aws2.ses.Ses2Component
+    camel-quarkus-cmis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-asterisk
+      artifactId: camel-quarkus-cmis
       schemes:
-      - id: asterisk
+      - id: cmis
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.asterisk.AsteriskComponent
-    camel-quarkus-azure-storage-blob:
+      - org.apache.camel.component.cmis.CMISComponent
+    camel-quarkus-google-pubsub:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-azure-storage-blob
+      artifactId: camel-quarkus-google-pubsub
       schemes:
-      - id: azure-storage-blob
+      - id: google-pubsub
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.azure.storage.blob.BlobComponent
-    camel-quarkus-protobuf:
+      - org.apache.camel.component.google.pubsub.GooglePubsubComponent
+    camel-quarkus-printer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-protobuf
-      dataformats:
-      - protobuf
+      artifactId: camel-quarkus-printer
+      schemes:
+      - id: lpr
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.dataformat.protobuf.ProtobufDataFormat
-    camel-quarkus-tagsoup:
+      - org.apache.camel.component.printer.PrinterComponent
+    camel-quarkus-jackson:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tagsoup
+      artifactId: camel-quarkus-jackson
       dataformats:
-      - tidyMarkup
+      - json-jackson
       javaTypes:
-      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
-    camel-k-kamelet:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-kamelet
+      - org.apache.camel.component.jackson.JacksonDataFormat
+    camel-quarkus-validator:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-validator
       schemes:
-      - id: kamelet
+      - id: validator
         http: false
         passive: true
-    camel-quarkus-influxdb:
+      javaTypes:
+      - org.apache.camel.component.validator.ValidatorComponent
+    camel-quarkus-ftp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-influxdb
+      artifactId: camel-quarkus-ftp
       schemes:
-      - id: influxdb
+      - id: ftp
+        http: false
+        passive: false
+      - id: ftps
+        http: false
+        passive: false
+      - id: sftp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.influxdb.InfluxDbComponent
-    camel-quarkus-netty-http:
+      - 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:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-netty-http
+      artifactId: camel-quarkus-google-sheets
       schemes:
-      - id: netty-http
-        http: true
+      - id: google-sheets-stream
+        http: false
+        passive: false
+      - id: google-sheets
+        http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.netty.http.NettyHttpComponent
-    camel-quarkus-aws2-ecs:
+      - org.apache.camel.component.google.sheets.GoogleSheetsComponent
+      - org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent
+    camel-quarkus-stomp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ecs
+      artifactId: camel-quarkus-stomp
       schemes:
-      - id: aws2-ecs
+      - id: stomp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.ecs.ECS2Component
-    camel-quarkus-zipfile:
+      - org.apache.camel.component.stomp.StompComponent
+    camel-quarkus-stringtemplate:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zipfile
-      dataformats:
-      - zipfile
+      artifactId: camel-quarkus-stringtemplate
+      schemes:
+      - id: string-template
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
-    camel-quarkus-flatpack:
+      - org.apache.camel.component.stringtemplate.StringTemplateComponent
+    camel-quarkus-aws2-lambda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-flatpack
+      artifactId: camel-quarkus-aws2-lambda
       schemes:
-      - id: flatpack
+      - id: aws2-lambda
         http: false
         passive: false
-      dataformats:
-      - flatpack
       javaTypes:
-      - org.apache.camel.dataformat.flatpack.FlatpackDataFormat
-      - org.apache.camel.component.flatpack.FlatpackComponent
-    camel-quarkus-slack:
+      - org.apache.camel.component.aws2.lambda.Lambda2Component
+    camel-k-cron:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-cron
+      schemes:
+      - id: cron
+        http: false
+        passive: false
+    camel-quarkus-pdf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-slack
+      artifactId: camel-quarkus-pdf
       schemes:
-      - id: slack
+      - id: pdf
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.slack.SlackComponent
-    camel-quarkus-aws-sns:
+      - org.apache.camel.component.pdf.PdfComponent
+    camel-quarkus-kubernetes:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sns
+      artifactId: camel-quarkus-kubernetes
       schemes:
-      - id: aws-sns
+      - id: kubernetes-job
+        http: false
+        passive: false
+      - id: kubernetes-replication-controllers
+        http: false
+        passive: false
+      - id: kubernetes-resources-quota
+        http: false
+        passive: false
+      - id: openshift-builds
+        http: false
+        passive: false
+      - id: kubernetes-custom-resources
+        http: false
+        passive: false
+      - id: kubernetes-namespaces
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.sns.SnsComponent
-    camel-quarkus-couchbase:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-couchbase
-      schemes:
-      - id: couchbase
+      - id: kubernetes-nodes
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.couchbase.CouchbaseComponent
-    camel-quarkus-digitalocean:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-digitalocean
-      schemes:
-      - id: digitalocean
+      - id: kubernetes-hpa
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.digitalocean.DigitalOceanComponent
-    camel-quarkus-timer:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-timer
-      schemes:
-      - id: timer
+      - id: kubernetes-deployments
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.timer.TimerComponent
-    camel-quarkus-platform-http:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-platform-http
-      schemes:
-      - id: platform-http
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.platform.http.PlatformHttpComponent
-    camel-quarkus-mail:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mail
-      schemes:
-      - id: imaps
+      - id: kubernetes-persistent-volumes-claims
         http: false
         passive: false
-      - id: smtp
+      - id: kubernetes-pods
         http: false
         passive: false
-      - id: pop3
+      - id: kubernetes-config-maps
         http: false
         passive: false
-      - id: smtps
+      - id: kubernetes-persistent-volumes
         http: false
         passive: false
-      - id: pop3s
+      - id: kubernetes-services
         http: false
         passive: false
-      - id: imap
+      - id: kubernetes-secrets
         http: false
         passive: false
-      dataformats:
-      - mime-multipart
-      javaTypes:
-      - 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-google-bigquery
-      schemes:
-      - id: google-bigquery-sql
+      - id: kubernetes-service-accounts
         http: false
         passive: false
-      - id: google-bigquery
+      - id: openshift-build-configs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.bigquery.GoogleBigQueryComponent
-      - org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent
-    camel-quarkus-dropbox:
+      - org.apache.camel.component.kubernetes.persistent_volumes.KubernetesPersistentVolumesComponent
+      - org.apache.camel.component.kubernetes.services.KubernetesServicesComponent
+      - 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
+    camel-quarkus-aws2-athena:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dropbox
+      artifactId: camel-quarkus-aws2-athena
       schemes:
-      - id: dropbox
+      - id: aws2-athena
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.dropbox.DropboxComponent
-    camel-quarkus-aws2-s3:
+      - org.apache.camel.component.aws2.athena.Athena2Component
+    camel-quarkus-cm-sms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-s3
+      artifactId: camel-quarkus-cm-sms
       schemes:
-      - id: aws2-s3
+      - id: cm-sms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.s3.AWS2S3Component
-    camel-quarkus-json-validator:
+      - org.apache.camel.component.cm.CMComponent
+    camel-quarkus-crypto:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-json-validator
+      artifactId: camel-quarkus-crypto
       schemes:
-      - id: json-validator
+      - id: crypto
         http: false
         passive: false
+      dataformats:
+      - crypto
+      - pgp
       javaTypes:
-      - org.apache.camel.component.jsonvalidator.JsonValidatorComponent
-    camel-quarkus-lumberjack:
+      - org.apache.camel.converter.crypto.PGPDataFormat
+      - org.apache.camel.converter.crypto.CryptoDataFormat
+      - org.apache.camel.component.crypto.DigitalSignatureComponent
+    camel-quarkus-nagios:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-lumberjack
+      artifactId: camel-quarkus-nagios
       schemes:
-      - id: lumberjack
+      - id: nagios
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.lumberjack.LumberjackComponent
-    camel-quarkus-websocket-jsr356:
+      - org.apache.camel.component.nagios.NagiosComponent
+    camel-quarkus-bonita:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-websocket-jsr356
+      artifactId: camel-quarkus-bonita
       schemes:
-      - id: websocket-jsr356
+      - id: bonita
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
-    camel-quarkus-google-mail:
+      - org.apache.camel.component.bonita.BonitaComponent
+    camel-quarkus-djl:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-mail
+      artifactId: camel-quarkus-djl
       schemes:
-      - id: google-mail-stream
-        http: false
-        passive: false
-      - id: google-mail
+      - id: djl
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.mail.GoogleMailComponent
-      - org.apache.camel.component.google.mail.stream.GoogleMailStreamComponent
-    camel-quarkus-arangodb:
+      - org.apache.camel.component.djl.DJLComponent
+    camel-quarkus-mustache:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-arangodb
+      artifactId: camel-quarkus-mustache
       schemes:
-      - id: arangodb
+      - id: mustache
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.arangodb.ArangoDbComponent
-    camel-quarkus-soap:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-soap
-      dataformats:
-      - soapjaxb
-      javaTypes:
-      - org.apache.camel.dataformat.soap.SoapJaxbDataFormat
-    camel-quarkus-freemarker:
+      - org.apache.camel.component.mustache.MustacheComponent
+    camel-quarkus-master:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-freemarker
+      artifactId: camel-quarkus-master
       schemes:
-      - id: freemarker
+      - id: master
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.freemarker.FreemarkerComponent
-    camel-quarkus-servlet:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-servlet
+      - org.apache.camel.component.master.MasterComponent
+    camel-k-master:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-master
       schemes:
-      - id: servlet
-        http: true
+      - id: master
+        http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.servlet.ServletComponent
-    camel-quarkus-git:
+    camel-quarkus-aws2-ec2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-git
+      artifactId: camel-quarkus-aws2-ec2
       schemes:
-      - id: git
+      - id: aws2-ec2
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.git.GitComponent
-    camel-quarkus-aws-kinesis:
+      - org.apache.camel.component.aws2.ec2.AWS2EC2Component
+    camel-quarkus-snmp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-kinesis
+      artifactId: camel-quarkus-snmp
       schemes:
-      - id: aws-kinesis-firehose
-        http: false
-        passive: false
-      - id: aws-kinesis
+      - id: snmp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.kinesis.KinesisComponent
-      - org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
+      - org.apache.camel.component.snmp.SnmpComponent
+    camel-quarkus-barcode:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-barcode
+      dataformats:
+      - barcode
+      javaTypes:
+      - org.apache.camel.dataformat.barcode.BarcodeDataFormat
     camel-quarkus-openstack:
       groupId: org.apache.camel.quarkus
       artifactId: camel-quarkus-openstack
       schemes:
-      - id: openstack-swift
+      - id: openstack-glance
         http: false
         passive: false
-      - id: openstack-neutron
+      - id: openstack-nova
         http: false
         passive: false
-      - id: openstack-keystone
+      - id: openstack-cinder
         http: false
         passive: false
-      - id: openstack-cinder
+      - id: openstack-keystone
         http: false
         passive: false
-      - id: openstack-nova
+      - id: openstack-neutron
         http: false
         passive: false
-      - id: openstack-glance
+      - id: openstack-swift
         http: false
         passive: false
       javaTypes:
-      - 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
-      - org.apache.camel.component.openstack.swift.SwiftComponent
       - org.apache.camel.component.openstack.glance.GlanceComponent
-    camel-quarkus-barcode:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-barcode
-      dataformats:
-      - barcode
-      javaTypes:
-      - org.apache.camel.dataformat.barcode.BarcodeDataFormat
-    camel-quarkus-snmp:
+      - org.apache.camel.component.openstack.swift.SwiftComponent
+      - org.apache.camel.component.openstack.nova.NovaComponent
+      - org.apache.camel.component.openstack.cinder.CinderComponent
+      - org.apache.camel.component.openstack.keystone.KeystoneComponent
+      - org.apache.camel.component.openstack.neutron.NeutronComponent
+    camel-quarkus-aws-kinesis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-snmp
+      artifactId: camel-quarkus-aws-kinesis
       schemes:
-      - id: snmp
+      - id: aws-kinesis
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.snmp.SnmpComponent
-    camel-quarkus-aws2-ec2:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ec2
-      schemes:
-      - id: aws2-ec2
+      - id: aws-kinesis-firehose
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.ec2.AWS2EC2Component
-    camel-k-master:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-master
+      - org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
+      - org.apache.camel.component.aws.kinesis.KinesisComponent
+    camel-quarkus-git:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-git
       schemes:
-      - id: master
+      - id: git
         http: false
         passive: false
-    camel-quarkus-master:
+      javaTypes:
+      - org.apache.camel.component.git.GitComponent
+    camel-quarkus-servlet:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-master
+      artifactId: camel-quarkus-servlet
       schemes:
-      - id: master
-        http: false
+      - id: servlet
+        http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.master.MasterComponent
-    camel-quarkus-mustache:
+      - org.apache.camel.component.servlet.ServletComponent
+    camel-quarkus-freemarker:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mustache
+      artifactId: camel-quarkus-freemarker
       schemes:
-      - id: mustache
+      - id: freemarker
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mustache.MustacheComponent
-    camel-quarkus-djl:
+      - org.apache.camel.component.freemarker.FreemarkerComponent
+    camel-quarkus-soap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-djl
+      artifactId: camel-quarkus-soap
+      dataformats:
+      - soapjaxb
+      javaTypes:
+      - org.apache.camel.dataformat.soap.SoapJaxbDataFormat
+    camel-quarkus-arangodb:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-arangodb
       schemes:
-      - id: djl
+      - id: arangodb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.djl.DJLComponent
-    camel-quarkus-bonita:
+      - org.apache.camel.component.arangodb.ArangoDbComponent
+    camel-quarkus-google-mail:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bonita
+      artifactId: camel-quarkus-google-mail
       schemes:
-      - id: bonita
+      - id: google-mail
+        http: false
+        passive: false
+      - id: google-mail-stream
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.bonita.BonitaComponent
-    camel-quarkus-nagios:
+      - org.apache.camel.component.google.mail.stream.GoogleMailStreamComponent
+      - org.apache.camel.component.google.mail.GoogleMailComponent
+    camel-quarkus-websocket-jsr356:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nagios
+      artifactId: camel-quarkus-websocket-jsr356
       schemes:
-      - id: nagios
+      - id: websocket-jsr356
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nagios.NagiosComponent
-    camel-quarkus-crypto:
+      - org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
+    camel-quarkus-lumberjack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-crypto
+      artifactId: camel-quarkus-lumberjack
       schemes:
-      - id: crypto
+      - id: lumberjack
         http: false
         passive: false
-      dataformats:
-      - pgp
-      - crypto
       javaTypes:
-      - org.apache.camel.component.crypto.DigitalSignatureComponent
-      - org.apache.camel.converter.crypto.CryptoDataFormat
-      - org.apache.camel.converter.crypto.PGPDataFormat
-    camel-quarkus-cm-sms:
+      - org.apache.camel.component.lumberjack.LumberjackComponent
+    camel-quarkus-json-validator:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cm-sms
+      artifactId: camel-quarkus-json-validator
       schemes:
-      - id: cm-sms
+      - id: json-validator
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cm.CMComponent
-    camel-quarkus-aws2-athena:
+      - org.apache.camel.component.jsonvalidator.JsonValidatorComponent
+    camel-quarkus-aws2-s3:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-athena
+      artifactId: camel-quarkus-aws2-s3
       schemes:
-      - id: aws2-athena
+      - id: aws2-s3
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.athena.Athena2Component
-    camel-quarkus-kubernetes:
+      - org.apache.camel.component.aws2.s3.AWS2S3Component
+    camel-quarkus-dropbox:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-kubernetes
+      artifactId: camel-quarkus-dropbox
       schemes:
-      - id: kubernetes-deployments
-        http: false
-        passive: false
-      - id: kubernetes-hpa
-        http: false
-        passive: false
-      - id: kubernetes-nodes
-        http: false
-        passive: false
-      - id: kubernetes-namespaces
-        http: false
-        passive: false
-      - id: kubernetes-custom-resources
-        http: false
-        passive: false
-      - id: openshift-builds
-        http: false
-        passive: false
-      - id: kubernetes-resources-quota
-        http: false
-        passive: false
-      - id: kubernetes-replication-controllers
-        http: false
-        passive: false
-      - id: kubernetes-job
+      - id: dropbox
         http: false
         passive: false
-      - id: openshift-build-configs
+      javaTypes:
+      - org.apache.camel.component.dropbox.DropboxComponent
+    camel-quarkus-google-bigquery:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-google-bigquery
+      schemes:
+      - id: google-bigquery
         http: false
         passive: false
-      - id: kubernetes-service-accounts
+      - id: google-bigquery-sql
         http: false
         passive: false
-      - id: kubernetes-secrets
+      javaTypes:
+      - org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent
+      - org.apache.camel.component.google.bigquery.GoogleBigQueryComponent
+    camel-quarkus-mail:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-mail
+      schemes:
+      - id: imap
         http: false
         passive: false
-      - id: kubernetes-services
+      - id: pop3s
         http: false
         passive: false
-      - id: kubernetes-persistent-volumes
+      - id: smtps
         http: false
         passive: false
-      - id: kubernetes-config-maps
+      - id: pop3
         http: false
         passive: false
-      - id: kubernetes-pods
+      - id: smtp
         http: false
         passive: false
-      - id: kubernetes-persistent-volumes-claims
+      - id: imaps
         http: false
         passive: false
+      dataformats:
+      - mime-multipart
       javaTypes:
-      - 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
-      - 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
-    camel-quarkus-pdf:
+      - 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-pdf
+      artifactId: camel-quarkus-platform-http
       schemes:
-      - id: pdf
-        http: false
+      - id: platform-http
+        http: true
         passive: false
       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
-    camel-quarkus-aws2-lambda:
+      - org.apache.camel.component.platform.http.PlatformHttpComponent
+    camel-quarkus-timer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-lambda
+      artifactId: camel-quarkus-timer
       schemes:
-      - id: aws2-lambda
+      - id: timer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.lambda.Lambda2Component
-    camel-quarkus-stringtemplate:
+      - org.apache.camel.component.timer.TimerComponent
+    camel-quarkus-digitalocean:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stringtemplate
+      artifactId: camel-quarkus-digitalocean
       schemes:
-      - id: string-template
+      - id: digitalocean
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stringtemplate.StringTemplateComponent
-    camel-quarkus-stomp:
+      - org.apache.camel.component.digitalocean.DigitalOceanComponent
+    camel-quarkus-couchbase:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stomp
+      artifactId: camel-quarkus-couchbase
       schemes:
-      - id: stomp
+      - id: couchbase
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stomp.StompComponent
-    camel-quarkus-google-sheets:
+      - org.apache.camel.component.couchbase.CouchbaseComponent
+    camel-quarkus-aws-sns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-sheets
+      artifactId: camel-quarkus-aws-sns
       schemes:
-      - id: google-sheets
-        http: false
-        passive: false
-      - id: google-sheets-stream
+      - id: aws-sns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent
-      - org.apache.camel.component.google.sheets.GoogleSheetsComponent
-    camel-quarkus-ftp:
+      - org.apache.camel.component.aws.sns.SnsComponent
+    camel-quarkus-slack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ftp
+      artifactId: camel-quarkus-slack
       schemes:
-      - id: sftp
-        http: false
-        passive: false
-      - id: ftps
-        http: false
-        passive: false
-      - id: ftp
+      - id: slack
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.file.remote.SftpComponent
-      - org.apache.camel.component.file.remote.FtpsComponent
-      - org.apache.camel.component.file.remote.FtpComponent
-    camel-quarkus-validator:
+      - org.apache.camel.component.slack.SlackComponent
+    camel-quarkus-flatpack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-validator
+      artifactId: camel-quarkus-flatpack
       schemes:
-      - id: validator
+      - id: flatpack
         http: false
-        passive: true
+        passive: false
+      dataformats:
+      - flatpack
       javaTypes:
-      - org.apache.camel.component.validator.ValidatorComponent
-    camel-quarkus-jackson:
+      - org.apache.camel.component.flatpack.FlatpackComponent
+      - org.apache.camel.dataformat.flatpack.FlatpackDataFormat
+    camel-quarkus-zipfile:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jackson
+      artifactId: camel-quarkus-zipfile
       dataformats:
-      - json-jackson
+      - zipfile
       javaTypes:
-      - org.apache.camel.component.jackson.JacksonDataFormat
-    camel-quarkus-printer:
+      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
+    camel-quarkus-aws2-ecs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-printer
+      artifactId: camel-quarkus-aws2-ecs
       schemes:
-      - id: lpr
+      - id: aws2-ecs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.printer.PrinterComponent
-    camel-quarkus-google-pubsub:
+      - org.apache.camel.component.aws2.ecs.ECS2Component
+    camel-quarkus-netty-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-pubsub
+      artifactId: camel-quarkus-netty-http
       schemes:
-      - id: google-pubsub
-        http: false
+      - id: netty-http
+        http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.pubsub.GooglePubsubComponent
-    camel-quarkus-cmis:
+      - org.apache.camel.component.netty.http.NettyHttpComponent
+    camel-quarkus-influxdb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cmis
+      artifactId: camel-quarkus-influxdb
       schemes:
-      - id: cmis
+      - id: influxdb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cmis.CMISComponent
-    camel-quarkus-aws2-ses:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ses
+      - org.apache.camel.component.influxdb.InfluxDbComponent
+    camel-k-kamelet:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-kamelet
       schemes:
-      - id: aws2-ses
+      - id: kamelet
         http: false
-        passive: false
+        passive: true
+    camel-quarkus-tagsoup:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-tagsoup
+      dataformats:
+      - tidyMarkup
       javaTypes:
-      - org.apache.camel.component.aws2.ses.Ses2Component
-    camel-quarkus-hazelcast:
+      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
+    camel-quarkus-protobuf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hazelcast
-      schemes:
-      - id: hazelcast-ringbuffer
-        http: false
-        passive: false
-      - id: hazelcast-atomicvalue
-        http: false
-        passive: false
-      - id: hazelcast-replicatedmap
-        http: false
-        passive: false
-      - id: hazelcast-topic
-        http: false
-        passive: false
-      - id: hazelcast-multimap
-        http: false
-        passive: false
-      - id: hazelcast-seda
-        http: false
-        passive: false
-      - id: hazelcast-map
-        http: false
-        passive: false
-      - id: hazelcast-set
-        http: false
-        passive: false
-      - id: hazelcast-queue
-        http: false
-        passive: false
-      - id: hazelcast-list
-        http: false
-        passive: false
-      - id: hazelcast-instance
-        http: false
-        passive: false
+      artifactId: camel-quarkus-protobuf
+      dataformats:
+      - protobuf
       javaTypes:
-      - 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
-      - org.apache.camel.component.hazelcast.list.HazelcastListComponent
-    camel-quarkus-box:
+      - org.apache.camel.dataformat.protobuf.ProtobufDataFormat
+    camel-quarkus-azure-storage-blob:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-box
+      artifactId: camel-quarkus-azure-storage-blob
       schemes:
-      - id: box
+      - id: azure-storage-blob
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.box.BoxComponent
-    camel-quarkus-wordpress:
+      - org.apache.camel.component.azure.storage.blob.BlobComponent
+    camel-quarkus-asterisk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-wordpress
+      artifactId: camel-quarkus-asterisk
       schemes:
-      - id: wordpress
+      - id: asterisk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.wordpress.WordpressComponent
-    camel-quarkus-vertx-http:
+      - org.apache.camel.component.asterisk.AsteriskComponent
+    camel-quarkus-microprofile-metrics:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vertx-http
+      artifactId: camel-quarkus-microprofile-metrics
       schemes:
-      - id: vertx-http
+      - id: microprofile-metrics
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.vertx.http.VertxHttpComponent
-    camel-quarkus-aws2-translate:
+      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
+    camel-quarkus-nats:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-translate
+      artifactId: camel-quarkus-nats
       schemes:
-      - id: aws2-translate
+      - id: nats
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.translate.Translate2Component
-    camel-quarkus-ahc-ws:
+      - org.apache.camel.component.nats.NatsComponent
+    camel-quarkus-infinispan:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ahc-ws
+      artifactId: camel-quarkus-infinispan
       schemes:
-      - id: ahc-ws
-        http: true
-        passive: false
-      - id: ahc-wss
+      - id: infinispan
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ahc.ws.WsComponent
-    camel-quarkus-mllp:
+      - org.apache.camel.component.infinispan.InfinispanComponent
+    camel-quarkus-base64:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mllp
-      schemes:
-      - id: mllp
-        http: false
-        passive: false
+      artifactId: camel-quarkus-base64
+      dataformats:
+      - base64
       javaTypes:
-      - org.apache.camel.component.mllp.MllpComponent
-    camel-quarkus-irc:
+      - org.apache.camel.dataformat.base64.Base64DataFormat
+    camel-quarkus-exec:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-irc
+      artifactId: camel-quarkus-exec
       schemes:
-      - id: irc
+      - id: exec
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.irc.IrcComponent
-    camel-quarkus-jsch:
+      - org.apache.camel.component.exec.ExecComponent
+    camel-quarkus-rss:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsch
+      artifactId: camel-quarkus-rss
       schemes:
-      - id: scp
+      - id: rss
         http: false
         passive: false
+      dataformats:
+      - rss
       javaTypes:
-      - org.apache.camel.component.scp.ScpComponent
-    camel-quarkus-beanio:
+      - org.apache.camel.component.rss.RssComponent
+      - org.apache.camel.dataformat.rss.RssDataFormat
+    camel-quarkus-gson:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-beanio
+      artifactId: camel-quarkus-gson
       dataformats:
-      - beanio
+      - json-gson
       javaTypes:
-      - org.apache.camel.dataformat.beanio.BeanIODataFormat
-    camel-quarkus-aws2-mq:
+      - org.apache.camel.component.gson.GsonDataFormat
+    camel-quarkus-geocoder:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-mq
+      artifactId: camel-quarkus-geocoder
       schemes:
-      - id: aws2-mq
+      - id: geocoder
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.mq.MQ2Component
-    camel-quarkus-coap:
+      - org.apache.camel.component.geocoder.GeoCoderComponent
+    camel-quarkus-pgevent:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-coap
+      artifactId: camel-quarkus-pgevent
       schemes:
-      - id: coap
-        http: false
-        passive: false
-      - id: coap+tcp
+      - id: pgevent
         http: false
         passive: false
-      - id: coaps
+      javaTypes:
+      - org.apache.camel.component.pgevent.PgEventComponent
+    camel-quarkus-atom:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-atom
+      schemes:
+      - id: atom
         http: false
         passive: false
-      - id: coaps+tcp
+      javaTypes:
+      - org.apache.camel.component.atom.AtomComponent
+    camel-quarkus-soroush:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-soroush
+      schemes:
+      - id: soroush
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.coap.CoAPComponent
-    camel-quarkus-tika:
+      - org.apache.camel.component.soroushbot.component.SoroushBotComponent
+    camel-quarkus-drill:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tika
+      artifactId: camel-quarkus-drill
       schemes:
-      - id: tika
+      - id: drill
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.tika.TikaComponent
-    camel-quarkus-ssh:
+      - org.apache.camel.component.drill.DrillComponent
+    camel-quarkus-cometd:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ssh
+      artifactId: camel-quarkus-cometd
       schemes:
-      - id: ssh
+      - id: cometd
+        http: false
+        passive: false
+      - id: cometds
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ssh.SshComponent
-    camel-quarkus-xslt-saxon:
+      - org.apache.camel.component.cometd.CometdComponent
+    camel-quarkus-chunk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xslt-saxon
+      artifactId: camel-quarkus-chunk
       schemes:
-      - id: xslt-saxon
+      - id: chunk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xslt.saxon.XsltSaxonComponent
-    camel-quarkus-kafka:
+      - 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:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-kafka
+      artifactId: camel-quarkus-dns
       schemes:
-      - id: kafka
+      - id: dns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.kafka.KafkaComponent
-    camel-quarkus-stream:
+      - org.apache.camel.component.dns.DnsComponent
+    camel-quarkus-mongodb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stream
+      artifactId: camel-quarkus-mongodb
       schemes:
-      - id: stream
+      - id: mongodb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stream.StreamComponent
-    camel-quarkus-browse:
+      - org.apache.camel.component.mongodb.MongoDbComponent
+    camel-quarkus-jgroups-raft:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-browse
+      artifactId: camel-quarkus-jgroups-raft
       schemes:
-      - id: browse
+      - id: jgroups-raft
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.browse.BrowseComponent
-    camel-quarkus-avro-rpc:
+      - org.apache.camel.component.jgroups.raft.JGroupsRaftComponent
+    camel-quarkus-cassandraql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-avro-rpc
+      artifactId: camel-quarkus-cassandraql
       schemes:
-      - id: avro
+      - id: cql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.avro.AvroComponent
-    camel-quarkus-google-calendar:
+      - org.apache.camel.component.cassandra.CassandraComponent
+    camel-quarkus-ical:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-calendar
+      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
       schemes:
-      - id: google-calendar-stream
+      - id: sjms-batch
         http: false
         passive: false
-      - id: google-calendar
+      - id: sjms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.calendar.GoogleCalendarComponent
-      - org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent
-    camel-quarkus-vertx-websocket:
+      - org.apache.camel.component.sjms.SjmsComponent
+      - org.apache.camel.component.sjms.batch.SjmsBatchComponent
+    camel-quarkus-google-drive:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vertx-websocket
+      artifactId: camel-quarkus-google-drive
       schemes:
-      - id: vertx-websocket
+      - id: google-drive
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.vertx.websocket.VertxWebsocketComponent
-    camel-quarkus-jcache:
+      - org.apache.camel.component.google.drive.GoogleDriveComponent
+    camel-quarkus-splunk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jcache
+      artifactId: camel-quarkus-splunk
       schemes:
-      - id: jcache
+      - id: splunk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jcache.JCacheComponent
-    camel-quarkus-salesforce:
+      - org.apache.camel.component.splunk.SplunkComponent
+    camel-quarkus-dozer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-salesforce
+      artifactId: camel-quarkus-dozer
       schemes:
-      - id: salesforce
+      - id: dozer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.salesforce.SalesforceComponent
-    camel-quarkus-jbpm:
+      - org.apache.camel.component.dozer.DozerComponent
+    camel-quarkus-aws-eks:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jbpm
+      artifactId: camel-quarkus-aws-eks
       schemes:
-      - id: jbpm
+      - id: aws-eks
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jbpm.JBPMComponent
-    camel-quarkus-aws-ecs:
+      - org.apache.camel.component.aws.eks.EKSComponent
+    camel-quarkus-seda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-ecs
+      artifactId: camel-quarkus-seda
       schemes:
-      - id: aws-ecs
+      - id: seda
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.aws.ecs.ECSComponent
-    camel-quarkus-splunk-hec:
+      - org.apache.camel.component.seda.SedaComponent
+    camel-quarkus-nitrite:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-splunk-hec
+      artifactId: camel-quarkus-nitrite
       schemes:
-      - id: splunk-hec
+      - id: nitrite
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.splunkhec.SplunkHECComponent
-    camel-quarkus-lucene:
+      - org.apache.camel.component.nitrite.NitriteComponent
+    camel-quarkus-activemq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-lucene
+      artifactId: camel-quarkus-activemq
       schemes:
-      - id: lucene
+      - id: activemq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.lucene.LuceneComponent
-    camel-quarkus-aws2-kms:
+      - org.apache.camel.component.activemq.ActiveMQComponent
+    camel-quarkus-twilio:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-kms
+      artifactId: camel-quarkus-twilio
       schemes:
-      - id: aws2-kms
+      - id: twilio
         http: false
         passive: false
       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:
+      - org.apache.camel.component.twilio.TwilioComponent
+    camel-quarkus-zendesk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fhir
+      artifactId: camel-quarkus-zendesk
       schemes:
-      - id: fhir
+      - id: zendesk
         http: false
         passive: false
-      dataformats:
-      - fhirJson
-      - fhirXml
       javaTypes:
-      - org.apache.camel.component.fhir.FhirJsonDataFormat
-      - org.apache.camel.component.fhir.FhirXmlDataFormat
-      - org.apache.camel.component.fhir.FhirComponent
-    camel-quarkus-atomix:
+      - org.apache.camel.component.zendesk.ZendeskComponent
+    camel-quarkus-braintree:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atomix
+      artifactId: camel-quarkus-braintree
       schemes:
-      - id: atomix-value
-        http: false
-        passive: false
-      - id: atomix-messaging
-        http: false
-        passive: false
-      - id: atomix-set
-        http: false
-        passive: false
-      - id: atomix-queue
-        http: false
-        passive: false
-      - id: atomix-map
-        http: false
-        passive: false
-      - id: atomix-multimap
+      - id: braintree
         http: false
         passive: false
       javaTypes:
-      - 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:
+      - org.apache.camel.component.braintree.BraintreeComponent
+    camel-quarkus-aws-sqs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-milo
+      artifactId: camel-quarkus-aws-sqs
       schemes:
-      - id: milo-client
-        http: false
-        passive: false
-      - id: milo-server
+      - id: aws-sqs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.milo.server.MiloServerComponent
-      - org.apache.camel.component.milo.client.MiloClientComponent
-    camel-quarkus-ahc:
+      - org.apache.camel.component.aws.sqs.SqsComponent
+    camel-quarkus-olingo4:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ahc
+      artifactId: camel-quarkus-olingo4
       schemes:
-      - id: ahc
-        http: true
+      - id: olingo4
+        http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ahc.AhcComponent
-    camel-quarkus-log:
+      - org.apache.camel.component.olingo4.Olingo4Component
+    camel-quarkus-zookeeper:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-log
+      artifactId: camel-quarkus-zookeeper
       schemes:
-      - id: log
+      - id: zookeeper
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.log.LogComponent
-    camel-quarkus-graphql:
+      - org.apache.camel.component.zookeeper.ZooKeeperComponent
+    camel-quarkus-sjms2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-graphql
+      artifactId: camel-quarkus-sjms2
       schemes:
-      - id: graphql
+      - id: sjms2
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.graphql.GraphqlComponent
-    camel-quarkus-disruptor:
+      - org.apache.camel.component.sjms2.Sjms2Component
+    camel-quarkus-ldap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-disruptor
+      artifactId: camel-quarkus-ldap
       schemes:
-      - id: disruptor-vm
-        http: false
-        passive: false
-      - id: disruptor
+      - id: ldap
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.disruptor.DisruptorComponent
-      - org.apache.camel.component.disruptor.vm.DisruptorVmComponent
-    camel-quarkus-hl7:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hl7
-      languages:
-      - hl7terser
-      dataformats:
-      - hl7
-      javaTypes:
-      - org.apache.camel.component.hl7.HL7DataFormat
-      - org.apache.camel.component.hl7.Hl7TerserLanguage
-    camel-quarkus-jsonpath:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsonpath
-      languages:
-      - jsonpath
-      javaTypes:
-      - org.apache.camel.jsonpath.JsonPathLanguage
-    camel-quarkus-jooq:
+      - org.apache.camel.component.ldap.LdapComponent
+    camel-quarkus-xchange:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jooq
+      artifactId: camel-quarkus-xchange
       schemes:
-      - id: jooq
+      - id: xchange
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jooq.JooqComponent
-    camel-quarkus-kudu:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-kudu
+      - org.apache.camel.component.xchange.XChangeComponent
+    camel-k-kamelet-reify:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-kamelet-reify
       schemes:
-      - id: kudu
+      - id: wrap
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.kudu.KuduComponent
-    camel-quarkus-hdfs:
+    camel-quarkus-atmos:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hdfs
+      artifactId: camel-quarkus-atmos
       schemes:
-      - id: hdfs
+      - id: atmos
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.hdfs.HdfsComponent
-    camel-quarkus-jcr:
+      - org.apache.camel.component.atmos.AtmosComponent
+    camel-quarkus-as2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jcr
+      artifactId: camel-quarkus-as2
       schemes:
-      - id: jcr
+      - id: as2
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jcr.JcrComponent
-    camel-quarkus-debezium-mysql:
+      - org.apache.camel.component.as2.AS2Component
+    camel-quarkus-etcd:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-mysql
+      artifactId: camel-quarkus-etcd
       schemes:
-      - id: debezium-mysql
+      - id: etcd-keys
+        http: false
+        passive: false
+      - id: etcd-stats
+        http: false
+        passive: false
+      - id: etcd-watch
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMySqlComponent
-    camel-quarkus-core:
+      - org.apache.camel.component.etcd.EtcdStatsComponent
+      - org.apache.camel.component.etcd.EtcdKeysComponent
+      - org.apache.camel.component.etcd.EtcdWatchComponent
+    camel-quarkus-quartz:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-core
-      languages:
-      - header
-      - file
-      - tokenize
-      - exchangeProperty
-      - csimple
-      - constant
-      - ref
-      - simple
+      artifactId: camel-quarkus-quartz
+      schemes:
+      - id: quartz
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.language.property.ExchangePropertyLanguage
-      - 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
-    camel-quarkus-velocity:
+      - org.apache.camel.component.quartz.QuartzComponent
+    camel-quarkus-pg-replication-slot:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-velocity
+      artifactId: camel-quarkus-pg-replication-slot
       schemes:
-      - id: velocity
+      - id: pg-replication-slot
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.velocity.VelocityComponent
-    camel-quarkus-aws2-iam:
+      - org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent
+    camel-quarkus-jms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-iam
+      artifactId: camel-quarkus-jms
       schemes:
-      - id: aws2-iam
+      - id: jms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.iam.IAM2Component
-    camel-quarkus-ehcache:
+      - org.apache.camel.component.jms.JmsComponent
+    camel-quarkus-thrift:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ehcache
+      artifactId: camel-quarkus-thrift
       schemes:
-      - id: ehcache
+      - id: thrift
         http: false
         passive: false
+      dataformats:
+      - thrift
       javaTypes:
-      - org.apache.camel.component.ehcache.EhcacheComponent
-    camel-quarkus-sql:
+      - org.apache.camel.component.thrift.ThriftComponent
+      - org.apache.camel.dataformat.thrift.ThriftDataFormat
+    camel-quarkus-sip:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sql
+      artifactId: camel-quarkus-sip
       schemes:
-      - id: sql-stored
+      - id: sip
         http: false
         passive: false
-      - id: sql
+      - id: sips
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sql.SqlComponent
-      - org.apache.camel.component.sql.stored.SqlStoredComponent
-    camel-quarkus-jira:
+      - org.apache.camel.component.sip.SipComponent
+    camel-quarkus-aws2-cw:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jira
+      artifactId: camel-quarkus-aws2-cw
       schemes:
-      - id: jira
+      - id: aws2-cw
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jira.JiraComponent
-    camel-quarkus-bean-validator:
+      - org.apache.camel.component.aws2.cw.Cw2Component
+    camel-quarkus-asn1:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bean-validator
-      schemes:
-      - id: bean-validator
-        http: false
-        passive: false
+      artifactId: camel-quarkus-asn1
+      dataformats:
+      - asn1
       javaTypes:
-      - org.apache.camel.component.bean.validator.BeanValidatorComponent
-    camel-quarkus-elasticsearch-rest:
+      - org.apache.camel.dataformat.asn1.ASN1DataFormat
+    camel-quarkus-schematron:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-elasticsearch-rest
+      artifactId: camel-quarkus-schematron
       schemes:
-      - id: elasticsearch-rest
+      - id: schematron
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.elasticsearch.ElasticsearchComponent
-    camel-quarkus-caffeine:
+      - org.apache.camel.component.schematron.SchematronComponent
+    camel-quarkus-language:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-caffeine
+      artifactId: camel-quarkus-language
       schemes:
-      - id: caffeine-cache
+      - id: language
         http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.language.LanguageComponent
+    camel-k-knative:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-knative
+      schemes:
+      - id: knative
+        http: true
         passive: false
-      - id: caffeine-loadcache
+        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:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-zookeeper-master
+      schemes:
+      - id: zookeeper-master
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.caffeine.load.CaffeineLoadCacheComponent
-      - org.apache.camel.component.caffeine.cache.CaffeineCacheComponent
-    camel-quarkus-saxon:
+      - org.apache.camel.component.zookeepermaster.MasterComponent
+    camel-quarkus-jacksonxml:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-saxon
+      artifactId: camel-quarkus-jacksonxml
+      dataformats:
+      - jacksonxml
+      javaTypes:
+      - org.apache.camel.component.jacksonxml.JacksonXMLDataFormat
+    camel-quarkus-debezium-mongodb:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-debezium-mongodb
       schemes:
-      - id: xquery
+      - id: debezium-mongodb
         http: false
         passive: false
-      languages:
-      - xquery
       javaTypes:
-      - org.apache.camel.language.xquery.XQueryLanguage
-      - org.apache.camel.component.xquery.XQueryComponent
-    camel-quarkus-spark:
+      - org.apache.camel.component.debezium.DebeziumMongodbComponent
+    camel-quarkus-xstream:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-spark
+      artifactId: camel-quarkus-xstream
+      dataformats:
+      - xstream
+      - json-xstream
+      javaTypes:
+      - org.apache.camel.dataformat.xstream.JsonDataFormat
+      - org.apache.camel.dataformat.xstream.XStreamDataFormat
+    camel-quarkus-optaplanner:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-optaplanner
       schemes:
-      - id: spark
+      - id: optaplanner
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.spark.SparkComponent
-    camel-quarkus-msv:
+      - org.apache.camel.component.optaplanner.OptaPlannerComponent
+    camel-quarkus-apns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-msv
+      artifactId: camel-quarkus-apns
       schemes:
-      - id: msv
+      - id: apns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.validator.msv.MsvComponent
-    camel-quarkus-avro:
-      groupId: org.apache.camel.quarkus
-      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:
+      - org.apache.camel.component.apns.ApnsComponent
+    camel-quarkus-jslt:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-sts
+      artifactId: camel-quarkus-jslt
       schemes:
-      - id: aws2-sts
+      - id: jslt
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.sts.STS2Component
+      - 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
   loaders:
-    java:
+    groovy:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-java
+      artifactId: camel-k-loader-groovy
       languages:
-      - java
+      - groovy
       metadata:
         native: "false"
-    xml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-xml
-      languages:
-      - xml
-      metadata:
-        native: "true"
-    js:
+    yaml:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-js
+      artifactId: camel-k-loader-yaml
       languages:
-      - js
+      - yaml
       metadata:
         native: "true"
     kts:
@@ -2949,17 +2942,24 @@ spec:
       - kts
       metadata:
         native: "false"
-    yaml:
+    js:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-yaml
+      artifactId: camel-k-loader-js
       languages:
-      - yaml
+      - js
       metadata:
         native: "true"
-    groovy:
+    xml:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-groovy
+      artifactId: camel-k-loader-xml
       languages:
-      - groovy
+      - xml
+      metadata:
+        native: "true"
+    java:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-java
+      languages:
+      - java
       metadata:
         native: "false"
diff --git a/go.sum b/go.sum
index 93ab264..f398a4a 100644
--- a/go.sum
+++ b/go.sum
@@ -1921,6 +1921,7 @@ k8s.io/code-generator v0.18.4/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8
 k8s.io/code-generator v0.18.6/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c=
 k8s.io/code-generator v0.18.8/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c=
 k8s.io/code-generator v0.19.2/go.mod h1:moqLn7w0t9cMs4+5CQyxnfA/HV8MF6aAVENF+WZZhgk=
+k8s.io/code-generator v0.19.8 h1:uxctqO1/3jnMDWB4imT8unRvgCXVPX2NTm/cMFCyigY=
 k8s.io/code-generator v0.19.8/go.mod h1:lwEq3YnLYb/7uVXLorOJfxg+cUu2oihFhHZ0n9NIla0=
 k8s.io/component-base v0.0.0-20190918200425-ed2f0867c778/go.mod h1:DFWQCXgXVLiWtzFaS17KxHdlUeUymP7FLxZSkmL9/jU=
 k8s.io/component-base v0.16.4/go.mod h1:GYQ+4hlkEwdlpAp59Ztc4gYuFhdoZqiAJD1unYDJ3FM=
diff --git a/pkg/resources/resources.go b/pkg/resources/resources.go
index 1ff0971..f272562 100644
--- a/pkg/resources/resources.go
+++ b/pkg/resources/resources.go
@@ -462,7 +462,7 @@ var assets = func() http.FileSystem {
 			modTime:          time.Time{},
 			uncompressedSize: 89253,
 
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x7d\x4b\x77\xdb\xb8\xb2\xee\x3c\xbf\x82\xab\x33\x39\x67\xdd\xcd\xda\xdd\xc9\xd9\xdd\x77\xf5\x1d\xd9\x4a\x9c\xd8\xb1\x1d\x27\xf2\x4e\xb2\x7b\xd2\x0b\x22\x21\x09\x16\x49\xd0\x00\x28\xdb\xf9\xf5\x77\xe1\xc1\x97\x2c\x17\x45\x1a\xf0\xf1\xc0\x24\x85\xc2\x57\x40\xe1\x55\x00\x0a\x85\xd7\x51\xec\xef\xef\xd5\xeb\xe8\x9c\x25\xb4\x90\x34\x8d\x14\x8f\xd4\x9a\x46\x47\x25\x49\xd6\x34\x9a\xf3\xa5\xba\x23\x82\x46\x27\xbc\x2a\x52\x [...]
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x7d\x4b\x77\xdb\xb8\xb2\xee\x3c\xbf\x82\xab\x33\x39\x67\xdd\xad\xda\xdd\xce\xd9\xdd\x77\xf5\x1d\xd9\x4a\xec\xd8\xb1\x1c\x27\xf2\x4e\xb2\x7b\xd2\x0b\x22\x21\x09\x12\x49\xd0\x00\x24\xdb\xf9\xf5\x77\xe1\xc1\x97\x24\x17\x45\x1a\xf0\xf1\xc0\x24\x85\xc2\x57\x28\xbc\x51\x28\x14\xde\x46\x23\x7f\x7f\x6f\xde\x46\xd7\x2c\xa6\xb9\xa4\x49\xa4\x78\xa4\x96\x34\x3a\x2d\x48\xbc\xa4\xd1\x94\xcf\xd5\x03\x11\x34\x3a\xe7\x9b\x3c\x21\x [...]
 		},
 		"/camel-catalog-1.7.0-SNAPSHOT.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "camel-catalog-1.7.0-SNAPSHOT.yaml",


[camel-k] 07/08: Fix #1799: refactor test and regen

Posted by nf...@apache.org.
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 e21faaea7c4664bf110ed66f3f9b941b8c97eabf
Author: nicolaferraro <ni...@gmail.com>
AuthorDate: Tue Mar 2 12:20:01 2021 +0100

    Fix #1799: refactor test and regen
---
 deploy/camel-catalog-1.6.0.yaml | 3390 +++++++++++++++++++--------------------
 e2e/builder/global_test.go      |  135 +-
 pkg/resources/resources.go      |   14 +-
 3 files changed, 1771 insertions(+), 1768 deletions(-)

diff --git a/deploy/camel-catalog-1.6.0.yaml b/deploy/camel-catalog-1.6.0.yaml
index 2f0f7b1..573ce85 100644
--- a/deploy/camel-catalog-1.6.0.yaml
+++ b/deploy/camel-catalog-1.6.0.yaml
@@ -20,23 +20,31 @@ kind: CamelCatalog
 metadata:
   name: camel-catalog-1.6.0
   labels:
+    app: camel-k
     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:
     version: 1.6.0
     provider: quarkus
     applicationClass: io.quarkus.runner.GeneratedMain
     metadata:
+      quarkus.version: 1.10.3.Final
       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:
+      master:
+        dependencies:
+        - groupId: org.apache.camel.k
+          artifactId: camel-k-master
+      circuit-breaker:
+        dependencies:
+        - groupId: org.apache.camel.quarkus
+          artifactId: camel-quarkus-microprofile-fault-tolerance
       health:
         dependencies:
         - groupId: org.apache.camel.quarkus
@@ -52,2914 +60,2906 @@ spec:
       rest:
         dependencies:
         - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-rest
-        - groupId: org.apache.camel.quarkus
           artifactId: camel-quarkus-platform-http
+        - groupId: org.apache.camel.quarkus
+          artifactId: camel-quarkus-rest
       tracing:
         dependencies:
         - groupId: org.apache.camel.quarkus
           artifactId: camel-quarkus-opentracing
-      master:
-        dependencies:
-        - groupId: org.apache.camel.k
-          artifactId: camel-k-master
-      circuit-breaker:
-        dependencies:
-        - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-microprofile-fault-tolerance
   artifacts:
-    camel-quarkus-flink:
+    camel-quarkus-atlasmap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-flink
+      artifactId: camel-quarkus-atlasmap
       schemes:
-      - id: flink
+      - id: atlasmap
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.flink.FlinkComponent
-    camel-quarkus-amqp:
+      - org.apache.camel.component.atlasmap.AtlasMapComponent
+    camel-quarkus-minio:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-amqp
+      artifactId: camel-quarkus-minio
       schemes:
-      - id: amqp
+      - id: minio
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.amqp.AMQPComponent
-    camel-quarkus-guava-eventbus:
+      - org.apache.camel.component.minio.MinioComponent
+    camel-quarkus-aws-lambda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-guava-eventbus
+      artifactId: camel-quarkus-aws-lambda
       schemes:
-      - id: guava-eventbus
+      - id: aws-lambda
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.guava.eventbus.GuavaEventBusComponent
-    camel-quarkus-pulsar:
+      - org.apache.camel.component.aws.lambda.LambdaComponent
+    camel-quarkus-xmpp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pulsar
+      artifactId: camel-quarkus-xmpp
       schemes:
-      - id: pulsar
+      - id: xmpp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pulsar.PulsarComponent
-    camel-quarkus-jpa:
+      - org.apache.camel.component.xmpp.XmppComponent
+    camel-quarkus-aws2-eventbridge:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jpa
+      artifactId: camel-quarkus-aws2-eventbridge
       schemes:
-      - id: jpa
+      - id: aws2-eventbridge
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jpa.JpaComponent
-    camel-quarkus-aws2-ddb:
+      - org.apache.camel.component.aws2.eventbridge.EventbridgeComponent
+    camel-quarkus-github:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ddb
+      artifactId: camel-quarkus-github
       schemes:
-      - id: aws2-ddb
-        http: false
-        passive: false
-      - id: aws2-ddbstream
+      - id: github
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.ddb.Ddb2Component
-      - org.apache.camel.component.aws2.ddbstream.Ddb2StreamComponent
-    camel-quarkus-mock:
+      - org.apache.camel.component.github.GitHubComponent
+    camel-quarkus-corda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mock
+      artifactId: camel-quarkus-corda
       schemes:
-      - id: mock
+      - id: corda
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.mock.MockComponent
-    camel-quarkus-iec60870:
+      - org.apache.camel.component.corda.CordaComponent
+    camel-quarkus-xml-jaxp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-iec60870
+      artifactId: camel-quarkus-xml-jaxp
+      languages:
+      - xtokenize
+      javaTypes:
+      - org.apache.camel.language.xtokenizer.XMLTokenizeLanguage
+    camel-quarkus-ldif:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-ldif
       schemes:
-      - id: iec60870-server
-        http: false
-        passive: false
-      - id: iec60870-client
+      - id: ldif
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.iec60870.client.ClientComponent
-      - org.apache.camel.component.iec60870.server.ServerComponent
-    camel-quarkus-weka:
+      - org.apache.camel.component.ldif.LdifComponent
+    camel-quarkus-aws-ec2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-weka
+      artifactId: camel-quarkus-aws-ec2
       schemes:
-      - id: weka
+      - id: aws-ec2
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.weka.WekaComponent
-    camel-quarkus-controlbus:
+      - org.apache.camel.component.aws.ec2.EC2Component
+    camel-quarkus-web3j:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-controlbus
+      artifactId: camel-quarkus-web3j
       schemes:
-      - id: controlbus
+      - id: web3j
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.controlbus.ControlBusComponent
-    camel-quarkus-vertx:
+      - org.apache.camel.component.web3j.Web3jComponent
+    camel-quarkus-ignite:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vertx
+      artifactId: camel-quarkus-ignite
       schemes:
-      - id: vertx
+      - id: ignite-events
+        http: false
+        passive: false
+      - id: ignite-queue
+        http: false
+        passive: false
+      - id: ignite-set
+        http: false
+        passive: false
+      - 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
       javaTypes:
-      - org.apache.camel.component.vertx.VertxComponent
-    camel-quarkus-jdbc:
+      - org.apache.camel.component.ignite.idgen.IgniteIdGenComponent
+      - 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
+    camel-quarkus-mongodb-gridfs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jdbc
+      artifactId: camel-quarkus-mongodb-gridfs
       schemes:
-      - id: jdbc
+      - id: mongodb-gridfs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jdbc.JdbcComponent
-    camel-quarkus-consul:
+      - org.apache.camel.component.mongodb.gridfs.GridFsComponent
+    camel-quarkus-cron:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-consul
+      artifactId: camel-quarkus-cron
       schemes:
-      - id: consul
+      - id: cron
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.consul.ConsulComponent
-    camel-quarkus-ognl:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ognl
-      languages:
-      - ognl
-      javaTypes:
-      - org.apache.camel.language.ognl.OgnlLanguage
-    camel-quarkus-facebook:
+      - org.apache.camel.component.cron.CronComponent
+    camel-quarkus-azure-storage-queue:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-facebook
+      artifactId: camel-quarkus-azure-storage-queue
       schemes:
-      - id: facebook
+      - id: azure-storage-queue
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.facebook.FacebookComponent
-    camel-quarkus-xpath:
+      - org.apache.camel.component.azure.storage.queue.QueueComponent
+    camel-quarkus-reactive-streams:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xpath
-      languages:
-      - xpath
+      artifactId: camel-quarkus-reactive-streams
+      schemes:
+      - id: reactive-streams
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.language.xpath.XPathLanguage
-    camel-quarkus-nsq:
+      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
+    camel-quarkus-rabbitmq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nsq
+      artifactId: camel-quarkus-rabbitmq
       schemes:
-      - id: nsq
+      - id: rabbitmq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nsq.NsqComponent
-    camel-quarkus-jsonb:
+      - org.apache.camel.component.rabbitmq.RabbitMQComponent
+    camel-quarkus-chatscript:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsonb
-      dataformats:
-      - json-jsonb
+      artifactId: camel-quarkus-chatscript
+      schemes:
+      - id: chatscript
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.component.jsonb.JsonbDataFormat
-    camel-quarkus-aws2-sns:
+      - org.apache.camel.component.chatscript.ChatScriptComponent
+    camel-quarkus-aws-translate:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-sns
+      artifactId: camel-quarkus-aws-translate
       schemes:
-      - id: aws2-sns
+      - id: aws-translate
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.sns.Sns2Component
-    camel-quarkus-mvel:
+      - org.apache.camel.component.aws.translate.TranslateComponent
+    camel-quarkus-azure:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mvel
+      artifactId: camel-quarkus-azure
       schemes:
-      - id: mvel
+      - id: azure-blob
+        http: false
+        passive: false
+      - id: azure-queue
         http: false
         passive: false
-      languages:
-      - mvel
       javaTypes:
-      - org.apache.camel.component.mvel.MvelComponent
-      - org.apache.camel.language.mvel.MvelLanguage
-    camel-quarkus-univocity-parsers:
+      - 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-univocity-parsers
+      artifactId: camel-quarkus-xmlsecurity
+      schemes:
+      - id: xmlsecurity-verify
+        http: false
+        passive: false
+      - id: xmlsecurity-sign
+        http: false
+        passive: false
       dataformats:
-      - univocity-tsv
-      - univocity-fixed
-      - univocity-csv
+      - secureXML
       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: ref
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.ref.RefComponent
-    camel-quarkus-lzf:
+      - org.apache.camel.component.xmlsecurity.XmlSignerComponent
+      - org.apache.camel.component.xmlsecurity.XmlVerifierComponent
+      - org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat
+    camel-quarkus-groovy:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-lzf
-      dataformats:
-      - lzf
+      artifactId: camel-quarkus-groovy
+      languages:
+      - groovy
       javaTypes:
-      - org.apache.camel.dataformat.lzf.LZFDataFormat
-    camel-quarkus-paho:
+      - org.apache.camel.language.groovy.GroovyLanguage
+    camel-quarkus-rest:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-paho
+      artifactId: camel-quarkus-rest
       schemes:
-      - id: paho
+      - id: rest
+        http: true
+        passive: false
+      - id: rest-api
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.paho.PahoComponent
-    camel-quarkus-vm:
+      - org.apache.camel.component.rest.RestComponent
+      - org.apache.camel.component.rest.RestApiComponent
+    camel-quarkus-xslt:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vm
+      artifactId: camel-quarkus-xslt
       schemes:
-      - id: vm
+      - id: xslt
         http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.vm.VmComponent
-    camel-quarkus-bindy:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bindy
-      dataformats:
-      - bindy-kvp
-      - bindy-csv
-      - bindy-fixed
+        passive: false
       javaTypes:
-      - org.apache.camel.dataformat.bindy.fixed.BindyFixedLengthDataFormat
-      - org.apache.camel.dataformat.bindy.kvp.BindyKeyValuePairDataFormat
-      - org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat
-    camel-quarkus-jslt:
+      - org.apache.camel.component.xslt.XsltComponent
+    camel-quarkus-beanstalk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jslt
+      artifactId: camel-quarkus-beanstalk
       schemes:
-      - id: jslt
+      - id: beanstalk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jslt.JsltComponent
-    camel-quarkus-apns:
+      - org.apache.camel.component.beanstalk.BeanstalkComponent
+    camel-quarkus-saga:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-apns
+      artifactId: camel-quarkus-saga
       schemes:
-      - id: apns
+      - id: saga
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.apns.ApnsComponent
-    camel-quarkus-optaplanner:
+      - org.apache.camel.component.saga.SagaComponent
+    camel-quarkus-fop:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-optaplanner
+      artifactId: camel-quarkus-fop
       schemes:
-      - id: optaplanner
+      - id: fop
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.optaplanner.OptaPlannerComponent
-    camel-quarkus-xstream:
+      - org.apache.camel.component.fop.FopComponent
+    camel-quarkus-johnzon:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xstream
+      artifactId: camel-quarkus-johnzon
       dataformats:
-      - json-xstream
-      - xstream
+      - json-johnzon
       javaTypes:
-      - org.apache.camel.dataformat.xstream.XStreamDataFormat
-      - org.apache.camel.dataformat.xstream.JsonDataFormat
-    camel-quarkus-debezium-mongodb:
+      - org.apache.camel.component.johnzon.JohnzonDataFormat
+    camel-quarkus-solr:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-mongodb
+      artifactId: camel-quarkus-solr
       schemes:
-      - id: debezium-mongodb
+      - id: solr
+        http: false
+        passive: false
+      - id: solrCloud
+        http: false
+        passive: false
+      - id: solrs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMongodbComponent
-    camel-quarkus-jacksonxml:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jacksonxml
-      dataformats:
-      - jacksonxml
-      javaTypes:
-      - org.apache.camel.component.jacksonxml.JacksonXMLDataFormat
-    camel-quarkus-zookeeper-master:
+      - org.apache.camel.component.solr.SolrComponent
+    camel-quarkus-quickfix:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zookeeper-master
+      artifactId: camel-quarkus-quickfix
       schemes:
-      - id: zookeeper-master
+      - id: quickfix
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.zookeepermaster.MasterComponent
-    camel-k-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-knative
+      - org.apache.camel.component.quickfixj.QuickfixjComponent
+    camel-quarkus-jclouds:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jclouds
       schemes:
-      - id: knative
-        http: true
+      - id: jclouds
+        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-language:
+      javaTypes:
+      - 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-quarkus-schematron:
+      - org.apache.camel.component.rest.openapi.RestOpenApiComponent
+    camel-quarkus-file-watch:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-schematron
+      artifactId: camel-quarkus-file-watch
       schemes:
-      - id: schematron
+      - id: file-watch
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.schematron.SchematronComponent
-    camel-quarkus-asn1:
+      - org.apache.camel.component.file.watch.FileWatchComponent
+    camel-quarkus-robotframework:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-asn1
-      dataformats:
-      - asn1
+      artifactId: camel-quarkus-robotframework
+      schemes:
+      - id: robotframework
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.dataformat.asn1.ASN1DataFormat
-    camel-quarkus-aws2-cw:
+      - org.apache.camel.component.robotframework.RobotFrameworkComponent
+    camel-quarkus-file:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-cw
+      artifactId: camel-quarkus-file
       schemes:
-      - id: aws2-cw
+      - id: file
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.cw.Cw2Component
-    camel-quarkus-sip:
+      - org.apache.camel.component.file.FileComponent
+    camel-quarkus-mybatis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sip
+      artifactId: camel-quarkus-mybatis
       schemes:
-      - id: sips
+      - id: mybatis-bean
         http: false
         passive: false
-      - id: sip
+      - id: mybatis
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sip.SipComponent
-    camel-quarkus-thrift:
+      - org.apache.camel.component.mybatis.MyBatisComponent
+      - org.apache.camel.component.mybatis.MyBatisBeanComponent
+    camel-quarkus-cbor:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-thrift
-      schemes:
-      - id: thrift
-        http: false
-        passive: false
+      artifactId: camel-quarkus-cbor
       dataformats:
-      - thrift
+      - cbor
       javaTypes:
-      - org.apache.camel.dataformat.thrift.ThriftDataFormat
-      - org.apache.camel.component.thrift.ThriftComponent
-    camel-quarkus-jms:
+      - org.apache.camel.component.cbor.CBORDataFormat
+    camel-quarkus-elsql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jms
+      artifactId: camel-quarkus-elsql
       schemes:
-      - id: jms
+      - id: elsql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jms.JmsComponent
-    camel-quarkus-pg-replication-slot:
+      - org.apache.camel.component.elsql.ElsqlComponent
+    camel-quarkus-micrometer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pg-replication-slot
+      artifactId: camel-quarkus-micrometer
       schemes:
-      - id: pg-replication-slot
+      - id: micrometer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent
-    camel-quarkus-quartz:
+      - org.apache.camel.component.micrometer.MicrometerComponent
+    camel-quarkus-netty:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-quartz
+      artifactId: camel-quarkus-netty
       schemes:
-      - id: quartz
+      - id: netty
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.quartz.QuartzComponent
-    camel-quarkus-etcd:
+      - org.apache.camel.component.netty.NettyComponent
+    camel-quarkus-jolt:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-etcd
+      artifactId: camel-quarkus-jolt
       schemes:
-      - id: etcd-keys
+      - id: jolt
         http: false
         passive: false
-      - id: etcd-watch
+      javaTypes:
+      - org.apache.camel.component.jolt.JoltComponent
+    camel-quarkus-http:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-http
+      schemes:
+      - id: https
         http: false
         passive: false
-      - id: etcd-stats
+      - id: http
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.etcd.EtcdWatchComponent
-      - org.apache.camel.component.etcd.EtcdKeysComponent
-      - org.apache.camel.component.etcd.EtcdStatsComponent
-    camel-quarkus-as2:
+      - org.apache.camel.component.http.HttpComponent
+    camel-quarkus-telegram:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-as2
+      artifactId: camel-quarkus-telegram
       schemes:
-      - id: as2
+      - id: telegram
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.as2.AS2Component
-    camel-quarkus-atmos:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atmos
+      - org.apache.camel.component.telegram.TelegramComponent
+    camel-quarkus-ganglia:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-ganglia
       schemes:
-      - id: atmos
+      - id: ganglia
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.atmos.AtmosComponent
-    camel-k-kamelet-reify:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-kamelet-reify
+      - org.apache.camel.component.ganglia.GangliaComponent
+    camel-quarkus-aws2-kinesis:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws2-kinesis
       schemes:
-      - id: wrap
+      - id: aws2-kinesis
         http: false
         passive: false
-    camel-quarkus-xchange:
+      - id: aws2-kinesis-firehose
+        http: false
+        passive: false
+      javaTypes:
+      - 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-xchange
+      artifactId: camel-quarkus-twitter
       schemes:
-      - id: xchange
+      - id: twitter-search
+        http: false
+        passive: false
+      - id: twitter-timeline
+        http: false
+        passive: false
+      - id: twitter-directmessage
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xchange.XChangeComponent
-    camel-quarkus-ldap:
+      - org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent
+      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
+      - org.apache.camel.component.twitter.search.TwitterSearchComponent
+    camel-quarkus-aws-swf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ldap
+      artifactId: camel-quarkus-aws-swf
       schemes:
-      - id: ldap
+      - id: aws-swf
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ldap.LdapComponent
-    camel-quarkus-sjms2:
+      - org.apache.camel.component.aws.swf.SWFComponent
+    camel-quarkus-pubnub:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sjms2
+      artifactId: camel-quarkus-pubnub
       schemes:
-      - id: sjms2
+      - id: pubnub
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sjms2.Sjms2Component
-    camel-quarkus-zookeeper:
+      - org.apache.camel.component.pubnub.PubNubComponent
+    camel-quarkus-stub:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zookeeper
+      artifactId: camel-quarkus-stub
       schemes:
-      - id: zookeeper
+      - id: stub
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.zookeeper.ZooKeeperComponent
-    camel-quarkus-olingo4:
+      - org.apache.camel.component.stub.StubComponent
+    camel-quarkus-aws2-sqs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-olingo4
+      artifactId: camel-quarkus-aws2-sqs
       schemes:
-      - id: olingo4
+      - id: aws2-sqs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.olingo4.Olingo4Component
-    camel-quarkus-aws-sqs:
+      - org.apache.camel.component.aws2.sqs.Sqs2Component
+    camel-quarkus-jt400:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sqs
+      artifactId: camel-quarkus-jt400
       schemes:
-      - id: aws-sqs
+      - id: jt400
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.sqs.SqsComponent
-    camel-quarkus-braintree:
+      - org.apache.camel.component.jt400.Jt400Component
+    camel-quarkus-iota:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-braintree
+      artifactId: camel-quarkus-iota
       schemes:
-      - id: braintree
+      - id: iota
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.braintree.BraintreeComponent
-    camel-quarkus-zendesk:
+      - org.apache.camel.component.iota.IOTAComponent
+    camel-quarkus-jsonapi:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zendesk
+      artifactId: camel-quarkus-jsonapi
+      dataformats:
+      - jsonApi
+      javaTypes:
+      - org.apache.camel.component.jsonapi.JsonApiDataFormat
+    camel-quarkus-aws2-eks:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws2-eks
       schemes:
-      - id: zendesk
+      - id: aws2-eks
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.zendesk.ZendeskComponent
-    camel-quarkus-twilio:
+      - org.apache.camel.component.aws2.eks.EKS2Component
+    camel-quarkus-weather:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-twilio
+      artifactId: camel-quarkus-weather
       schemes:
-      - id: twilio
+      - id: weather
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.twilio.TwilioComponent
-    camel-quarkus-activemq:
+      - org.apache.camel.component.weather.WeatherComponent
+    camel-quarkus-scheduler:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-activemq
+      artifactId: camel-quarkus-scheduler
       schemes:
-      - id: activemq
+      - id: scheduler
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.activemq.ActiveMQComponent
-    camel-quarkus-nitrite:
+      - org.apache.camel.component.scheduler.SchedulerComponent
+    camel-quarkus-jaxb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nitrite
+      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: nitrite
+      - id: jing
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nitrite.NitriteComponent
-    camel-quarkus-seda:
+      - org.apache.camel.component.validator.jing.JingComponent
+    camel-quarkus-dataformat:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-seda
+      artifactId: camel-quarkus-dataformat
       schemes:
-      - id: seda
+      - id: dataformat
         http: false
         passive: true
       javaTypes:
-      - org.apache.camel.component.seda.SedaComponent
-    camel-quarkus-aws-eks:
+      - org.apache.camel.component.dataformat.DataFormatComponent
+    camel-quarkus-jgroups:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-eks
+      artifactId: camel-quarkus-jgroups
       schemes:
-      - id: aws-eks
+      - id: jgroups
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.eks.EKSComponent
-    camel-quarkus-dozer:
+      - org.apache.camel.component.jgroups.JGroupsComponent
+    camel-quarkus-yammer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dozer
+      artifactId: camel-quarkus-yammer
       schemes:
-      - id: dozer
+      - id: yammer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.dozer.DozerComponent
-    camel-quarkus-splunk:
+      - org.apache.camel.component.yammer.YammerComponent
+    camel-quarkus-hbase:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-splunk
+      artifactId: camel-quarkus-hbase
       schemes:
-      - id: splunk
+      - id: hbase
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.splunk.SplunkComponent
-    camel-quarkus-google-drive:
+      - org.apache.camel.component.hbase.HBaseComponent
+    camel-quarkus-aws-sdb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-drive
+      artifactId: camel-quarkus-aws-sdb
       schemes:
-      - id: google-drive
+      - id: aws-sdb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.drive.GoogleDriveComponent
-    camel-quarkus-sjms:
+      - org.apache.camel.component.aws.sdb.SdbComponent
+    camel-quarkus-sap-netweaver:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sjms
+      artifactId: camel-quarkus-sap-netweaver
       schemes:
-      - id: sjms
-        http: false
-        passive: false
-      - id: sjms-batch
+      - id: sap-netweaver
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sjms.batch.SjmsBatchComponent
-      - org.apache.camel.component.sjms.SjmsComponent
-    camel-quarkus-ical:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ical
-      dataformats:
-      - ical
-      javaTypes:
-      - org.apache.camel.component.ical.ICalDataFormat
-    camel-quarkus-cassandraql:
+      - org.apache.camel.component.sap.netweaver.NetWeaverComponent
+    camel-quarkus-servicenow:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cassandraql
+      artifactId: camel-quarkus-servicenow
       schemes:
-      - id: cql
+      - id: servicenow
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cassandra.CassandraComponent
-    camel-quarkus-jgroups-raft:
+      - org.apache.camel.component.servicenow.ServiceNowComponent
+    camel-quarkus-grpc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jgroups-raft
+      artifactId: camel-quarkus-grpc
       schemes:
-      - id: jgroups-raft
-        http: false
+      - id: grpc
+        http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.jgroups.raft.JGroupsRaftComponent
-    camel-quarkus-mongodb:
+      - org.apache.camel.component.grpc.GrpcComponent
+    camel-quarkus-ipfs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mongodb
+      artifactId: camel-quarkus-ipfs
       schemes:
-      - id: mongodb
+      - id: ipfs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mongodb.MongoDbComponent
-    camel-quarkus-dns:
+      - org.apache.camel.component.ipfs.IPFSComponent
+    camel-quarkus-aws-kms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dns
+      artifactId: camel-quarkus-aws-kms
       schemes:
-      - id: dns
+      - id: aws-kms
         http: false
         passive: false
       javaTypes:
-      - 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:
+      - org.apache.camel.component.aws.kms.KMSComponent
+    camel-quarkus-stax:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-chunk
+      artifactId: camel-quarkus-stax
       schemes:
-      - id: chunk
+      - id: stax
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.chunk.ChunkComponent
-    camel-quarkus-cometd:
+      - org.apache.camel.component.stax.StAXComponent
+    camel-quarkus-aws2-msk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cometd
+      artifactId: camel-quarkus-aws2-msk
       schemes:
-      - id: cometds
-        http: false
-        passive: false
-      - id: cometd
+      - id: aws2-msk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cometd.CometdComponent
-    camel-quarkus-drill:
+      - org.apache.camel.component.aws2.msk.MSK2Component
+    camel-quarkus-debezium-sqlserver:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-drill
+      artifactId: camel-quarkus-debezium-sqlserver
       schemes:
-      - id: drill
+      - id: debezium-sqlserver
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.drill.DrillComponent
-    camel-quarkus-soroush:
+      - org.apache.camel.component.debezium.DebeziumSqlserverComponent
+    camel-quarkus-snakeyaml:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-soroush
+      artifactId: camel-quarkus-snakeyaml
+      dataformats:
+      - yaml-snakeyaml
+      javaTypes:
+      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
+    camel-quarkus-fastjson:
+      groupId: org.apache.camel.quarkus
+      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: soroush
+      - id: xj
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.soroushbot.component.SoroushBotComponent
-    camel-quarkus-atom:
+      - org.apache.camel.component.xj.XJComponent
+    camel-quarkus-direct:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atom
+      artifactId: camel-quarkus-direct
       schemes:
-      - id: atom
+      - id: direct
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.atom.AtomComponent
-    camel-quarkus-pgevent:
+      - org.apache.camel.component.direct.DirectComponent
+    camel-quarkus-bean:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pgevent
+      artifactId: camel-quarkus-bean
       schemes:
-      - id: pgevent
+      - id: bean
         http: false
-        passive: false
+        passive: true
+      - id: class
+        http: false
+        passive: true
+      languages:
+      - bean
       javaTypes:
-      - org.apache.camel.component.pgevent.PgEventComponent
-    camel-quarkus-geocoder:
+      - org.apache.camel.component.beanclass.ClassComponent
+      - org.apache.camel.component.bean.BeanComponent
+      - org.apache.camel.language.bean.BeanLanguage
+    camel-quarkus-aws-s3:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-geocoder
+      artifactId: camel-quarkus-aws-s3
       schemes:
-      - id: geocoder
+      - id: aws-s3
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.geocoder.GeoCoderComponent
-    camel-quarkus-gson:
+      - org.apache.camel.component.aws.s3.S3Component
+    camel-quarkus-grok:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-gson
+      artifactId: camel-quarkus-grok
       dataformats:
-      - json-gson
+      - grok
       javaTypes:
-      - org.apache.camel.component.gson.GsonDataFormat
-    camel-quarkus-rss:
+      - org.apache.camel.component.grok.GrokDataFormat
+    camel-quarkus-couchdb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rss
+      artifactId: camel-quarkus-couchdb
       schemes:
-      - id: rss
+      - id: couchdb
         http: false
         passive: false
-      dataformats:
-      - rss
       javaTypes:
-      - org.apache.camel.dataformat.rss.RssDataFormat
-      - org.apache.camel.component.rss.RssComponent
-    camel-quarkus-exec:
+      - org.apache.camel.component.couchdb.CouchDbComponent
+    camel-quarkus-workday:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-exec
+      artifactId: camel-quarkus-workday
       schemes:
-      - id: exec
+      - id: workday
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.exec.ExecComponent
-    camel-quarkus-base64:
+      - org.apache.camel.component.workday.WorkdayComponent
+    camel-quarkus-zip-deflater:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-base64
+      artifactId: camel-quarkus-zip-deflater
       dataformats:
-      - base64
+      - gzipdeflater
+      - zipdeflater
       javaTypes:
-      - org.apache.camel.dataformat.base64.Base64DataFormat
-    camel-quarkus-infinispan:
+      - org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat
+      - org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat
+    camel-quarkus-smpp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-infinispan
+      artifactId: camel-quarkus-smpp
       schemes:
-      - id: infinispan
+      - id: smpps
+        http: false
+        passive: false
+      - id: smpp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.infinispan.InfinispanComponent
-    camel-quarkus-nats:
+      - org.apache.camel.component.smpp.SmppComponent
+    camel-quarkus-syslog:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nats
+      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: nats
+      - id: aws-iam
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nats.NatsComponent
-    camel-quarkus-microprofile-metrics:
+      - org.apache.camel.component.aws.iam.IAMComponent
+    camel-quarkus-debezium-postgres:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-microprofile-metrics
+      artifactId: camel-quarkus-debezium-postgres
       schemes:
-      - id: microprofile-metrics
+      - id: debezium-postgres
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
-    camel-quarkus-asterisk:
+      - org.apache.camel.component.debezium.DebeziumPostgresComponent
+    camel-quarkus-flink:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-asterisk
+      artifactId: camel-quarkus-flink
       schemes:
-      - id: asterisk
+      - id: flink
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.asterisk.AsteriskComponent
-    camel-quarkus-azure-storage-blob:
+      - org.apache.camel.component.flink.FlinkComponent
+    camel-quarkus-amqp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-azure-storage-blob
+      artifactId: camel-quarkus-amqp
       schemes:
-      - id: azure-storage-blob
+      - id: amqp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.azure.storage.blob.BlobComponent
-    camel-quarkus-protobuf:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-protobuf
-      dataformats:
-      - protobuf
-      javaTypes:
-      - org.apache.camel.dataformat.protobuf.ProtobufDataFormat
-    camel-quarkus-tagsoup:
+      - org.apache.camel.component.amqp.AMQPComponent
+    camel-quarkus-guava-eventbus:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tagsoup
-      dataformats:
-      - tidyMarkup
-      javaTypes:
-      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
-    camel-k-kamelet:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-kamelet
+      artifactId: camel-quarkus-guava-eventbus
       schemes:
-      - id: kamelet
+      - id: guava-eventbus
         http: false
-        passive: true
-    camel-quarkus-influxdb:
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.guava.eventbus.GuavaEventBusComponent
+    camel-quarkus-pulsar:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-influxdb
+      artifactId: camel-quarkus-pulsar
       schemes:
-      - id: influxdb
+      - id: pulsar
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.influxdb.InfluxDbComponent
-    camel-quarkus-netty-http:
+      - org.apache.camel.component.pulsar.PulsarComponent
+    camel-quarkus-jpa:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-netty-http
+      artifactId: camel-quarkus-jpa
       schemes:
-      - id: netty-http
-        http: true
+      - id: jpa
+        http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.netty.http.NettyHttpComponent
-    camel-quarkus-aws2-ecs:
+      - org.apache.camel.component.jpa.JpaComponent
+    camel-quarkus-aws2-ddb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ecs
+      artifactId: camel-quarkus-aws2-ddb
       schemes:
-      - id: aws2-ecs
+      - id: aws2-ddb
+        http: false
+        passive: false
+      - id: aws2-ddbstream
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.ecs.ECS2Component
-    camel-quarkus-zipfile:
+      - 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-zipfile
-      dataformats:
-      - zipfile
+      artifactId: camel-quarkus-mock
+      schemes:
+      - id: mock
+        http: false
+        passive: true
       javaTypes:
-      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
-    camel-quarkus-flatpack:
+      - org.apache.camel.component.mock.MockComponent
+    camel-quarkus-iec60870:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-flatpack
+      artifactId: camel-quarkus-iec60870
       schemes:
-      - id: flatpack
+      - id: iec60870-server
+        http: false
+        passive: false
+      - id: iec60870-client
         http: false
         passive: false
-      dataformats:
-      - flatpack
       javaTypes:
-      - org.apache.camel.dataformat.flatpack.FlatpackDataFormat
-      - org.apache.camel.component.flatpack.FlatpackComponent
-    camel-quarkus-slack:
+      - 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-slack
+      artifactId: camel-quarkus-weka
       schemes:
-      - id: slack
+      - id: weka
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.slack.SlackComponent
-    camel-quarkus-aws-sns:
+      - org.apache.camel.component.weka.WekaComponent
+    camel-quarkus-controlbus:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sns
+      artifactId: camel-quarkus-controlbus
       schemes:
-      - id: aws-sns
+      - id: controlbus
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.aws.sns.SnsComponent
-    camel-quarkus-couchbase:
+      - org.apache.camel.component.controlbus.ControlBusComponent
+    camel-quarkus-vertx:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-couchbase
+      artifactId: camel-quarkus-vertx
       schemes:
-      - id: couchbase
+      - id: vertx
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.couchbase.CouchbaseComponent
-    camel-quarkus-digitalocean:
+      - org.apache.camel.component.vertx.VertxComponent
+    camel-quarkus-jdbc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-digitalocean
+      artifactId: camel-quarkus-jdbc
       schemes:
-      - id: digitalocean
+      - id: jdbc
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.digitalocean.DigitalOceanComponent
-    camel-quarkus-timer:
+      - org.apache.camel.component.jdbc.JdbcComponent
+    camel-quarkus-consul:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-timer
+      artifactId: camel-quarkus-consul
       schemes:
-      - id: timer
+      - id: consul
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.timer.TimerComponent
-    camel-quarkus-platform-http:
+      - org.apache.camel.component.consul.ConsulComponent
+    camel-quarkus-ognl:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-platform-http
-      schemes:
-      - id: platform-http
-        http: true
-        passive: false
+      artifactId: camel-quarkus-ognl
+      languages:
+      - ognl
       javaTypes:
-      - org.apache.camel.component.platform.http.PlatformHttpComponent
-    camel-quarkus-mail:
+      - org.apache.camel.language.ognl.OgnlLanguage
+    camel-quarkus-facebook:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mail
+      artifactId: camel-quarkus-facebook
       schemes:
-      - id: imap
-        http: false
-        passive: false
-      - id: imaps
-        http: false
-        passive: false
-      - id: smtp
-        http: false
-        passive: false
-      - id: pop3
-        http: false
-        passive: false
-      - id: smtps
+      - id: facebook
         http: false
         passive: false
-      - id: pop3s
+      javaTypes:
+      - org.apache.camel.component.facebook.FacebookComponent
+    camel-quarkus-xpath:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-xpath
+      languages:
+      - xpath
+      javaTypes:
+      - org.apache.camel.language.xpath.XPathLanguage
+    camel-quarkus-nsq:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-nsq
+      schemes:
+      - id: nsq
         http: false
         passive: false
+      javaTypes:
+      - org.apache.camel.component.nsq.NsqComponent
+    camel-quarkus-jsonb:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jsonb
       dataformats:
-      - mime-multipart
+      - json-jsonb
       javaTypes:
-      - org.apache.camel.component.mail.MailComponent
-      - org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat
-    camel-quarkus-google-bigquery:
+      - org.apache.camel.component.jsonb.JsonbDataFormat
+    camel-quarkus-aws2-sns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-bigquery
+      artifactId: camel-quarkus-aws2-sns
       schemes:
-      - id: google-bigquery-sql
-        http: false
-        passive: false
-      - id: google-bigquery
+      - id: aws2-sns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.bigquery.GoogleBigQueryComponent
-      - org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent
-    camel-quarkus-dropbox:
+      - org.apache.camel.component.aws2.sns.Sns2Component
+    camel-quarkus-mvel:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dropbox
+      artifactId: camel-quarkus-mvel
       schemes:
-      - id: dropbox
+      - id: mvel
         http: false
         passive: false
+      languages:
+      - mvel
       javaTypes:
-      - org.apache.camel.component.dropbox.DropboxComponent
-    camel-quarkus-aws2-s3:
+      - org.apache.camel.component.mvel.MvelComponent
+      - org.apache.camel.language.mvel.MvelLanguage
+    camel-quarkus-univocity-parsers:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-s3
+      artifactId: camel-quarkus-univocity-parsers
+      dataformats:
+      - univocity-csv
+      - univocity-tsv
+      - univocity-fixed
+      javaTypes:
+      - org.apache.camel.dataformat.univocity.UniVocityTsvDataFormat
+      - org.apache.camel.dataformat.univocity.UniVocityFixedWidthDataFormat
+      - org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat
+    camel-quarkus-ref:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-ref
       schemes:
-      - id: aws2-s3
+      - id: ref
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.aws2.s3.AWS2S3Component
-    camel-quarkus-json-validator:
+      - org.apache.camel.component.ref.RefComponent
+    camel-quarkus-lzf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-json-validator
+      artifactId: camel-quarkus-lzf
+      dataformats:
+      - lzf
+      javaTypes:
+      - org.apache.camel.dataformat.lzf.LZFDataFormat
+    camel-quarkus-paho:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-paho
       schemes:
-      - id: json-validator
+      - id: paho
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jsonvalidator.JsonValidatorComponent
-    camel-quarkus-lumberjack:
+      - org.apache.camel.component.paho.PahoComponent
+    camel-quarkus-vm:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-lumberjack
+      artifactId: camel-quarkus-vm
       schemes:
-      - id: lumberjack
+      - id: vm
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.lumberjack.LumberjackComponent
-    camel-quarkus-websocket-jsr356:
+      - org.apache.camel.component.vm.VmComponent
+    camel-quarkus-bindy:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-websocket-jsr356
+      artifactId: camel-quarkus-bindy
+      dataformats:
+      - bindy-csv
+      - bindy-fixed
+      - bindy-kvp
+      javaTypes:
+      - org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat
+      - org.apache.camel.dataformat.bindy.fixed.BindyFixedLengthDataFormat
+      - org.apache.camel.dataformat.bindy.kvp.BindyKeyValuePairDataFormat
+    camel-quarkus-jslt:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jslt
       schemes:
-      - id: websocket-jsr356
+      - id: jslt
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
-    camel-quarkus-google-mail:
+      - org.apache.camel.component.jslt.JsltComponent
+    camel-quarkus-apns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-mail
+      artifactId: camel-quarkus-apns
       schemes:
-      - id: google-mail-stream
-        http: false
-        passive: false
-      - id: google-mail
+      - id: apns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.mail.GoogleMailComponent
-      - org.apache.camel.component.google.mail.stream.GoogleMailStreamComponent
-    camel-quarkus-arangodb:
+      - org.apache.camel.component.apns.ApnsComponent
+    camel-quarkus-optaplanner:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-arangodb
+      artifactId: camel-quarkus-optaplanner
       schemes:
-      - id: arangodb
+      - id: optaplanner
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.arangodb.ArangoDbComponent
-    camel-quarkus-soap:
+      - org.apache.camel.component.optaplanner.OptaPlannerComponent
+    camel-quarkus-xstream:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-soap
+      artifactId: camel-quarkus-xstream
       dataformats:
-      - soapjaxb
+      - json-xstream
+      - xstream
       javaTypes:
-      - org.apache.camel.dataformat.soap.SoapJaxbDataFormat
-    camel-quarkus-freemarker:
+      - org.apache.camel.dataformat.xstream.XStreamDataFormat
+      - org.apache.camel.dataformat.xstream.JsonDataFormat
+    camel-quarkus-debezium-mongodb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-freemarker
+      artifactId: camel-quarkus-debezium-mongodb
       schemes:
-      - id: freemarker
+      - id: debezium-mongodb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.freemarker.FreemarkerComponent
-    camel-quarkus-servlet:
+      - org.apache.camel.component.debezium.DebeziumMongodbComponent
+    camel-quarkus-jacksonxml:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-servlet
-      schemes:
-      - id: servlet
-        http: true
-        passive: false
+      artifactId: camel-quarkus-jacksonxml
+      dataformats:
+      - jacksonxml
       javaTypes:
-      - org.apache.camel.component.servlet.ServletComponent
-    camel-quarkus-git:
+      - org.apache.camel.component.jacksonxml.JacksonXMLDataFormat
+    camel-quarkus-zookeeper-master:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-git
+      artifactId: camel-quarkus-zookeeper-master
       schemes:
-      - id: git
+      - id: zookeeper-master
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.git.GitComponent
-    camel-quarkus-aws-kinesis:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-kinesis
+      - org.apache.camel.component.zookeepermaster.MasterComponent
+    camel-k-knative:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-knative
       schemes:
-      - id: aws-kinesis-firehose
-        http: false
+      - id: knative
+        http: true
         passive: false
-      - id: aws-kinesis
+        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-language
+      schemes:
+      - id: language
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.aws.kinesis.KinesisComponent
-      - org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
-    camel-quarkus-openstack:
+      - org.apache.camel.component.language.LanguageComponent
+    camel-quarkus-schematron:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-openstack
+      artifactId: camel-quarkus-schematron
       schemes:
-      - id: openstack-glance
-        http: false
-        passive: false
-      - id: openstack-swift
-        http: false
-        passive: false
-      - id: openstack-neutron
-        http: false
-        passive: false
-      - id: openstack-keystone
-        http: false
-        passive: false
-      - id: openstack-cinder
-        http: false
-        passive: false
-      - id: openstack-nova
-        http: false
-        passive: false
-      javaTypes:
-      - 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-barcode
-      dataformats:
-      - barcode
-      javaTypes:
-      - org.apache.camel.dataformat.barcode.BarcodeDataFormat
-    camel-quarkus-snmp:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-snmp
-      schemes:
-      - id: snmp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.snmp.SnmpComponent
-    camel-quarkus-aws2-ec2:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ec2
-      schemes:
-      - id: aws2-ec2
-        http: false
-        passive: false
-      javaTypes:
-      - 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-master
-      schemes:
-      - id: master
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.master.MasterComponent
-    camel-quarkus-mustache:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mustache
-      schemes:
-      - id: mustache
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mustache.MustacheComponent
-    camel-quarkus-djl:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-djl
-      schemes:
-      - id: djl
+      - id: schematron
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.djl.DJLComponent
-    camel-quarkus-bonita:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bonita
-      schemes:
-      - id: bonita
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.bonita.BonitaComponent
-    camel-quarkus-nagios:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nagios
-      schemes:
-      - id: nagios
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.nagios.NagiosComponent
-    camel-quarkus-crypto:
+      - org.apache.camel.component.schematron.SchematronComponent
+    camel-quarkus-asn1:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-crypto
-      schemes:
-      - id: crypto
-        http: false
-        passive: false
+      artifactId: camel-quarkus-asn1
       dataformats:
-      - pgp
-      - crypto
-      javaTypes:
-      - 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-cm-sms
-      schemes:
-      - id: cm-sms
-        http: false
-        passive: false
-      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
-      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: openshift-builds
-        http: false
-        passive: false
-      - id: kubernetes-resources-quota
-        http: false
-        passive: false
-      - id: kubernetes-replication-controllers
-        http: false
-        passive: false
-      - id: kubernetes-job
-        http: false
-        passive: false
-      - id: openshift-build-configs
-        http: false
-        passive: false
-      - id: kubernetes-service-accounts
-        http: false
-        passive: false
-      - id: kubernetes-secrets
-        http: false
-        passive: false
-      - id: kubernetes-services
-        http: false
-        passive: false
-      - id: kubernetes-persistent-volumes
-        http: false
-        passive: false
-      - id: kubernetes-config-maps
-        http: false
-        passive: false
-      - id: kubernetes-pods
-        http: false
-        passive: false
-      - id: kubernetes-persistent-volumes-claims
-        http: false
-        passive: false
-      - id: kubernetes-deployments
-        http: false
-        passive: false
-      - id: kubernetes-hpa
-        http: false
-        passive: false
-      - id: kubernetes-nodes
-        http: false
-        passive: false
-      - id: kubernetes-namespaces
-        http: false
-        passive: false
-      javaTypes:
-      - 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-pdf
-      schemes:
-      - id: pdf
-        http: false
-        passive: false
-      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
-    camel-quarkus-aws2-lambda:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-lambda
-      schemes:
-      - id: aws2-lambda
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.lambda.Lambda2Component
-    camel-quarkus-stringtemplate:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stringtemplate
-      schemes:
-      - id: string-template
-        http: false
-        passive: false
+      - asn1
       javaTypes:
-      - org.apache.camel.component.stringtemplate.StringTemplateComponent
-    camel-quarkus-stomp:
+      - org.apache.camel.dataformat.asn1.ASN1DataFormat
+    camel-quarkus-aws2-cw:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stomp
+      artifactId: camel-quarkus-aws2-cw
       schemes:
-      - id: stomp
+      - id: aws2-cw
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stomp.StompComponent
-    camel-quarkus-google-sheets:
+      - org.apache.camel.component.aws2.cw.Cw2Component
+    camel-quarkus-sip:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-sheets
+      artifactId: camel-quarkus-sip
       schemes:
-      - id: google-sheets
+      - id: sips
         http: false
         passive: false
-      - id: google-sheets-stream
+      - id: sip
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent
-      - org.apache.camel.component.google.sheets.GoogleSheetsComponent
-    camel-quarkus-ftp:
+      - org.apache.camel.component.sip.SipComponent
+    camel-quarkus-thrift:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ftp
+      artifactId: camel-quarkus-thrift
       schemes:
-      - id: ftps
-        http: false
-        passive: false
-      - id: ftp
-        http: false
-        passive: false
-      - id: sftp
+      - id: thrift
         http: false
         passive: false
-      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: 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
-      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
+      - thrift
       javaTypes:
-      - org.apache.camel.component.google.pubsub.GooglePubsubComponent
-    camel-quarkus-cmis:
+      - org.apache.camel.dataformat.thrift.ThriftDataFormat
+      - org.apache.camel.component.thrift.ThriftComponent
+    camel-quarkus-jms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cmis
+      artifactId: camel-quarkus-jms
       schemes:
-      - id: cmis
+      - id: jms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cmis.CMISComponent
-    camel-quarkus-aws2-ses:
+      - org.apache.camel.component.jms.JmsComponent
+    camel-quarkus-pg-replication-slot:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ses
+      artifactId: camel-quarkus-pg-replication-slot
       schemes:
-      - id: aws2-ses
+      - id: pg-replication-slot
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.ses.Ses2Component
-    camel-quarkus-hazelcast:
+      - org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent
+    camel-quarkus-quartz:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hazelcast
+      artifactId: camel-quarkus-quartz
       schemes:
-      - id: hazelcast-instance
-        http: false
-        passive: false
-      - id: hazelcast-ringbuffer
+      - id: quartz
         http: false
         passive: false
-      - id: hazelcast-atomicvalue
+      javaTypes:
+      - org.apache.camel.component.quartz.QuartzComponent
+    camel-quarkus-etcd:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-etcd
+      schemes:
+      - id: etcd-watch
         http: false
         passive: false
-      - id: hazelcast-replicatedmap
+      - id: etcd-stats
         http: false
         passive: false
-      - id: hazelcast-topic
+      - id: etcd-keys
         http: false
         passive: false
-      - id: hazelcast-multimap
+      javaTypes:
+      - 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-as2
+      schemes:
+      - id: as2
         http: false
         passive: false
-      - id: hazelcast-seda
+      javaTypes:
+      - org.apache.camel.component.as2.AS2Component
+    camel-quarkus-atmos:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-atmos
+      schemes:
+      - id: atmos
         http: false
         passive: false
-      - id: hazelcast-map
+      javaTypes:
+      - org.apache.camel.component.atmos.AtmosComponent
+    camel-k-kamelet-reify:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-kamelet-reify
+      schemes:
+      - id: wrap
         http: false
         passive: false
-      - id: hazelcast-set
+    camel-quarkus-xchange:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-xchange
+      schemes:
+      - id: xchange
         http: false
         passive: false
-      - id: hazelcast-queue
+      javaTypes:
+      - org.apache.camel.component.xchange.XChangeComponent
+    camel-quarkus-ldap:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-ldap
+      schemes:
+      - id: ldap
         http: false
         passive: false
-      - id: hazelcast-list
+      javaTypes:
+      - org.apache.camel.component.ldap.LdapComponent
+    camel-quarkus-sjms2:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-sjms2
+      schemes:
+      - id: sjms2
         http: false
         passive: false
       javaTypes:
-      - 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:
+      - org.apache.camel.component.sjms2.Sjms2Component
+    camel-quarkus-zookeeper:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-box
+      artifactId: camel-quarkus-zookeeper
       schemes:
-      - id: box
+      - id: zookeeper
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.box.BoxComponent
-    camel-quarkus-wordpress:
+      - org.apache.camel.component.zookeeper.ZooKeeperComponent
+    camel-quarkus-olingo4:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-wordpress
+      artifactId: camel-quarkus-olingo4
       schemes:
-      - id: wordpress
+      - id: olingo4
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.wordpress.WordpressComponent
-    camel-quarkus-vertx-http:
+      - org.apache.camel.component.olingo4.Olingo4Component
+    camel-quarkus-aws-sqs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vertx-http
+      artifactId: camel-quarkus-aws-sqs
       schemes:
-      - id: vertx-http
+      - id: aws-sqs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.vertx.http.VertxHttpComponent
-    camel-quarkus-aws2-translate:
+      - org.apache.camel.component.aws.sqs.SqsComponent
+    camel-quarkus-braintree:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-translate
+      artifactId: camel-quarkus-braintree
       schemes:
-      - id: aws2-translate
+      - id: braintree
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.translate.Translate2Component
-    camel-quarkus-ahc-ws:
+      - org.apache.camel.component.braintree.BraintreeComponent
+    camel-quarkus-zendesk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ahc-ws
+      artifactId: camel-quarkus-zendesk
       schemes:
-      - id: ahc-ws
-        http: true
-        passive: false
-      - id: ahc-wss
+      - id: zendesk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ahc.ws.WsComponent
-    camel-quarkus-mllp:
+      - org.apache.camel.component.zendesk.ZendeskComponent
+    camel-quarkus-twilio:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mllp
+      artifactId: camel-quarkus-twilio
       schemes:
-      - id: mllp
+      - id: twilio
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mllp.MllpComponent
-    camel-quarkus-irc:
+      - org.apache.camel.component.twilio.TwilioComponent
+    camel-quarkus-activemq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-irc
+      artifactId: camel-quarkus-activemq
       schemes:
-      - id: irc
+      - id: activemq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.irc.IrcComponent
-    camel-quarkus-jsch:
+      - org.apache.camel.component.activemq.ActiveMQComponent
+    camel-quarkus-nitrite:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsch
+      artifactId: camel-quarkus-nitrite
       schemes:
-      - id: scp
+      - id: nitrite
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.scp.ScpComponent
-    camel-quarkus-beanio:
+      - org.apache.camel.component.nitrite.NitriteComponent
+    camel-quarkus-seda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-beanio
-      dataformats:
-      - beanio
+      artifactId: camel-quarkus-seda
+      schemes:
+      - id: seda
+        http: false
+        passive: true
       javaTypes:
-      - org.apache.camel.dataformat.beanio.BeanIODataFormat
-    camel-quarkus-aws2-mq:
+      - org.apache.camel.component.seda.SedaComponent
+    camel-quarkus-aws-eks:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-mq
+      artifactId: camel-quarkus-aws-eks
       schemes:
-      - id: aws2-mq
+      - id: aws-eks
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.mq.MQ2Component
-    camel-quarkus-coap:
+      - org.apache.camel.component.aws.eks.EKSComponent
+    camel-quarkus-dozer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-coap
+      artifactId: camel-quarkus-dozer
       schemes:
-      - id: coap
-        http: false
-        passive: false
-      - id: coap+tcp
+      - id: dozer
         http: false
         passive: false
-      - id: coaps
+      javaTypes:
+      - org.apache.camel.component.dozer.DozerComponent
+    camel-quarkus-splunk:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-splunk
+      schemes:
+      - id: splunk
         http: false
         passive: false
-      - id: coaps+tcp
+      javaTypes:
+      - org.apache.camel.component.splunk.SplunkComponent
+    camel-quarkus-google-drive:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-google-drive
+      schemes:
+      - id: google-drive
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.coap.CoAPComponent
-    camel-quarkus-tika:
+      - org.apache.camel.component.google.drive.GoogleDriveComponent
+    camel-quarkus-sjms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tika
+      artifactId: camel-quarkus-sjms
       schemes:
-      - id: tika
+      - id: sjms
+        http: false
+        passive: false
+      - id: sjms-batch
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.tika.TikaComponent
-    camel-quarkus-ssh:
+      - org.apache.camel.component.sjms.batch.SjmsBatchComponent
+      - org.apache.camel.component.sjms.SjmsComponent
+    camel-quarkus-ical:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ssh
+      artifactId: camel-quarkus-ical
+      dataformats:
+      - ical
+      javaTypes:
+      - org.apache.camel.component.ical.ICalDataFormat
+    camel-quarkus-cassandraql:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-cassandraql
       schemes:
-      - id: ssh
+      - id: cql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ssh.SshComponent
-    camel-quarkus-xslt-saxon:
+      - org.apache.camel.component.cassandra.CassandraComponent
+    camel-quarkus-jgroups-raft:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xslt-saxon
+      artifactId: camel-quarkus-jgroups-raft
       schemes:
-      - id: xslt-saxon
+      - id: jgroups-raft
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xslt.saxon.XsltSaxonComponent
-    camel-quarkus-kafka:
+      - org.apache.camel.component.jgroups.raft.JGroupsRaftComponent
+    camel-quarkus-mongodb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-kafka
+      artifactId: camel-quarkus-mongodb
       schemes:
-      - id: kafka
+      - id: mongodb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.kafka.KafkaComponent
-    camel-quarkus-stream:
+      - org.apache.camel.component.mongodb.MongoDbComponent
+    camel-quarkus-dns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stream
+      artifactId: camel-quarkus-dns
       schemes:
-      - id: stream
+      - id: dns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stream.StreamComponent
-    camel-quarkus-browse:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-browse
+      - org.apache.camel.component.dns.DnsComponent
+    camel-k-webhook:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-webhook
       schemes:
-      - id: browse
-        http: false
+      - id: webhook
+        http: true
         passive: true
-      javaTypes:
-      - org.apache.camel.component.browse.BrowseComponent
-    camel-quarkus-avro-rpc:
+    camel-quarkus-chunk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-avro-rpc
+      artifactId: camel-quarkus-chunk
       schemes:
-      - id: avro
+      - id: chunk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.avro.AvroComponent
-    camel-quarkus-google-calendar:
+      - org.apache.camel.component.chunk.ChunkComponent
+    camel-quarkus-cometd:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-calendar
+      artifactId: camel-quarkus-cometd
       schemes:
-      - id: google-calendar-stream
+      - id: cometds
         http: false
         passive: false
-      - id: google-calendar
+      - id: cometd
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.calendar.GoogleCalendarComponent
-      - org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent
-    camel-quarkus-vertx-websocket:
+      - org.apache.camel.component.cometd.CometdComponent
+    camel-quarkus-drill:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vertx-websocket
+      artifactId: camel-quarkus-drill
       schemes:
-      - id: vertx-websocket
+      - id: drill
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.vertx.websocket.VertxWebsocketComponent
-    camel-quarkus-jcache:
+      - org.apache.camel.component.drill.DrillComponent
+    camel-quarkus-soroush:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jcache
+      artifactId: camel-quarkus-soroush
       schemes:
-      - id: jcache
+      - id: soroush
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jcache.JCacheComponent
-    camel-quarkus-salesforce:
+      - org.apache.camel.component.soroushbot.component.SoroushBotComponent
+    camel-quarkus-atom:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-salesforce
+      artifactId: camel-quarkus-atom
       schemes:
-      - id: salesforce
+      - id: atom
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.salesforce.SalesforceComponent
-    camel-quarkus-jbpm:
+      - org.apache.camel.component.atom.AtomComponent
+    camel-quarkus-pgevent:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jbpm
+      artifactId: camel-quarkus-pgevent
       schemes:
-      - id: jbpm
+      - id: pgevent
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jbpm.JBPMComponent
-    camel-quarkus-aws-ecs:
+      - org.apache.camel.component.pgevent.PgEventComponent
+    camel-quarkus-geocoder:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-ecs
+      artifactId: camel-quarkus-geocoder
       schemes:
-      - id: aws-ecs
+      - id: geocoder
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.ecs.ECSComponent
-    camel-quarkus-splunk-hec:
+      - org.apache.camel.component.geocoder.GeoCoderComponent
+    camel-quarkus-gson:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-splunk-hec
-      schemes:
-      - id: splunk-hec
-        http: false
-        passive: false
+      artifactId: camel-quarkus-gson
+      dataformats:
+      - json-gson
       javaTypes:
-      - org.apache.camel.component.splunkhec.SplunkHECComponent
-    camel-quarkus-lucene:
+      - org.apache.camel.component.gson.GsonDataFormat
+    camel-quarkus-rss:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-lucene
+      artifactId: camel-quarkus-rss
       schemes:
-      - id: lucene
+      - id: rss
         http: false
         passive: false
+      dataformats:
+      - rss
       javaTypes:
-      - org.apache.camel.component.lucene.LuceneComponent
-    camel-quarkus-aws2-kms:
+      - org.apache.camel.dataformat.rss.RssDataFormat
+      - org.apache.camel.component.rss.RssComponent
+    camel-quarkus-exec:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-kms
+      artifactId: camel-quarkus-exec
       schemes:
-      - id: aws2-kms
+      - id: exec
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.kms.KMS2Component
-    camel-quarkus-csv:
+      - org.apache.camel.component.exec.ExecComponent
+    camel-quarkus-base64:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-csv
+      artifactId: camel-quarkus-base64
       dataformats:
-      - csv
+      - base64
       javaTypes:
-      - org.apache.camel.dataformat.csv.CsvDataFormat
-    camel-quarkus-fhir:
+      - org.apache.camel.dataformat.base64.Base64DataFormat
+    camel-quarkus-infinispan:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fhir
+      artifactId: camel-quarkus-infinispan
       schemes:
-      - id: fhir
+      - id: infinispan
         http: false
         passive: false
-      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:
+      - org.apache.camel.component.infinispan.InfinispanComponent
+    camel-quarkus-nats:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atomix
+      artifactId: camel-quarkus-nats
       schemes:
-      - id: atomix-value
-        http: false
-        passive: false
-      - id: atomix-messaging
-        http: false
-        passive: false
-      - id: atomix-set
-        http: false
-        passive: false
-      - id: atomix-queue
-        http: false
-        passive: false
-      - id: atomix-map
-        http: false
-        passive: false
-      - id: atomix-multimap
+      - id: nats
         http: false
         passive: false
       javaTypes:
-      - 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:
+      - org.apache.camel.component.nats.NatsComponent
+    camel-quarkus-microprofile-metrics:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-milo
+      artifactId: camel-quarkus-microprofile-metrics
       schemes:
-      - id: milo-client
+      - id: microprofile-metrics
         http: false
         passive: false
-      - id: milo-server
+      javaTypes:
+      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
+    camel-quarkus-asterisk:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-asterisk
+      schemes:
+      - id: asterisk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.milo.server.MiloServerComponent
-      - org.apache.camel.component.milo.client.MiloClientComponent
-    camel-quarkus-ahc:
+      - org.apache.camel.component.asterisk.AsteriskComponent
+    camel-quarkus-azure-storage-blob:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ahc
+      artifactId: camel-quarkus-azure-storage-blob
       schemes:
-      - id: ahc
-        http: true
+      - id: azure-storage-blob
+        http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ahc.AhcComponent
-    camel-quarkus-log:
+      - org.apache.camel.component.azure.storage.blob.BlobComponent
+    camel-quarkus-protobuf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-log
+      artifactId: camel-quarkus-protobuf
+      dataformats:
+      - protobuf
+      javaTypes:
+      - org.apache.camel.dataformat.protobuf.ProtobufDataFormat
+    camel-quarkus-tagsoup:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-tagsoup
+      dataformats:
+      - tidyMarkup
+      javaTypes:
+      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
+    camel-k-kamelet:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-kamelet
       schemes:
-      - id: log
+      - id: kamelet
         http: false
         passive: true
-      javaTypes:
-      - org.apache.camel.component.log.LogComponent
-    camel-quarkus-graphql:
+    camel-quarkus-influxdb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-graphql
+      artifactId: camel-quarkus-influxdb
       schemes:
-      - id: graphql
+      - id: influxdb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.graphql.GraphqlComponent
-    camel-quarkus-disruptor:
+      - org.apache.camel.component.influxdb.InfluxDbComponent
+    camel-quarkus-netty-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-disruptor
+      artifactId: camel-quarkus-netty-http
       schemes:
-      - id: disruptor-vm
-        http: false
+      - id: netty-http
+        http: true
         passive: false
-      - id: disruptor
+      javaTypes:
+      - org.apache.camel.component.netty.http.NettyHttpComponent
+    camel-quarkus-aws2-ecs:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws2-ecs
+      schemes:
+      - id: aws2-ecs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.disruptor.DisruptorComponent
-      - org.apache.camel.component.disruptor.vm.DisruptorVmComponent
-    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.HL7DataFormat
-      - org.apache.camel.component.hl7.Hl7TerserLanguage
-    camel-quarkus-jsonpath:
+      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
+    camel-quarkus-flatpack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsonpath
-      languages:
-      - jsonpath
+      artifactId: camel-quarkus-flatpack
+      schemes:
+      - id: flatpack
+        http: false
+        passive: false
+      dataformats:
+      - flatpack
       javaTypes:
-      - org.apache.camel.jsonpath.JsonPathLanguage
-    camel-quarkus-jooq:
+      - org.apache.camel.dataformat.flatpack.FlatpackDataFormat
+      - org.apache.camel.component.flatpack.FlatpackComponent
+    camel-quarkus-slack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jooq
+      artifactId: camel-quarkus-slack
       schemes:
-      - id: jooq
+      - id: slack
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jooq.JooqComponent
-    camel-quarkus-kudu:
+      - org.apache.camel.component.slack.SlackComponent
+    camel-quarkus-aws-sns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-kudu
+      artifactId: camel-quarkus-aws-sns
       schemes:
-      - id: kudu
+      - id: aws-sns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.kudu.KuduComponent
-    camel-quarkus-hdfs:
+      - org.apache.camel.component.aws.sns.SnsComponent
+    camel-quarkus-couchbase:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hdfs
+      artifactId: camel-quarkus-couchbase
       schemes:
-      - id: hdfs
+      - id: couchbase
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.hdfs.HdfsComponent
-    camel-quarkus-jcr:
+      - org.apache.camel.component.couchbase.CouchbaseComponent
+    camel-quarkus-digitalocean:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jcr
+      artifactId: camel-quarkus-digitalocean
       schemes:
-      - id: jcr
+      - id: digitalocean
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jcr.JcrComponent
-    camel-quarkus-debezium-mysql:
+      - org.apache.camel.component.digitalocean.DigitalOceanComponent
+    camel-quarkus-timer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-mysql
+      artifactId: camel-quarkus-timer
       schemes:
-      - id: debezium-mysql
+      - id: timer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMySqlComponent
-    camel-quarkus-core:
+      - org.apache.camel.component.timer.TimerComponent
+    camel-quarkus-platform-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-core
-      languages:
-      - header
-      - file
-      - tokenize
-      - exchangeProperty
-      - csimple
-      - constant
-      - ref
-      - simple
+      artifactId: camel-quarkus-platform-http
+      schemes:
+      - id: platform-http
+        http: true
+        passive: false
       javaTypes:
-      - 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:
+      - org.apache.camel.component.platform.http.PlatformHttpComponent
+    camel-quarkus-mail:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-velocity
+      artifactId: camel-quarkus-mail
       schemes:
-      - id: velocity
+      - id: imaps
+        http: false
+        passive: false
+      - id: smtp
+        http: false
+        passive: false
+      - id: pop3
+        http: false
+        passive: false
+      - id: smtps
         http: false
         passive: false
+      - id: pop3s
+        http: false
+        passive: false
+      - id: imap
+        http: false
+        passive: false
+      dataformats:
+      - mime-multipart
       javaTypes:
-      - org.apache.camel.component.velocity.VelocityComponent
-    camel-quarkus-aws2-iam:
+      - 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-aws2-iam
+      artifactId: camel-quarkus-google-bigquery
       schemes:
-      - id: aws2-iam
+      - id: google-bigquery-sql
+        http: false
+        passive: false
+      - id: google-bigquery
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.iam.IAM2Component
-    camel-quarkus-ehcache:
+      - 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-ehcache
+      artifactId: camel-quarkus-dropbox
       schemes:
-      - id: ehcache
+      - id: dropbox
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ehcache.EhcacheComponent
-    camel-quarkus-sql:
+      - org.apache.camel.component.dropbox.DropboxComponent
+    camel-quarkus-aws2-s3:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sql
+      artifactId: camel-quarkus-aws2-s3
       schemes:
-      - id: sql-stored
-        http: false
-        passive: false
-      - id: sql
+      - id: aws2-s3
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sql.SqlComponent
-      - org.apache.camel.component.sql.stored.SqlStoredComponent
-    camel-quarkus-jira:
+      - org.apache.camel.component.aws2.s3.AWS2S3Component
+    camel-quarkus-json-validator:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jira
+      artifactId: camel-quarkus-json-validator
       schemes:
-      - id: jira
+      - id: json-validator
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jira.JiraComponent
-    camel-quarkus-bean-validator:
+      - org.apache.camel.component.jsonvalidator.JsonValidatorComponent
+    camel-quarkus-lumberjack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bean-validator
+      artifactId: camel-quarkus-lumberjack
       schemes:
-      - id: bean-validator
+      - id: lumberjack
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.bean.validator.BeanValidatorComponent
-    camel-quarkus-elasticsearch-rest:
+      - org.apache.camel.component.lumberjack.LumberjackComponent
+    camel-quarkus-websocket-jsr356:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-elasticsearch-rest
+      artifactId: camel-quarkus-websocket-jsr356
       schemes:
-      - id: elasticsearch-rest
+      - id: websocket-jsr356
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.elasticsearch.ElasticsearchComponent
-    camel-quarkus-caffeine:
+      - org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
+    camel-quarkus-google-mail:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-caffeine
+      artifactId: camel-quarkus-google-mail
       schemes:
-      - id: caffeine-cache
+      - id: google-mail-stream
         http: false
         passive: false
-      - id: caffeine-loadcache
+      - id: google-mail
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.caffeine.load.CaffeineLoadCacheComponent
-      - org.apache.camel.component.caffeine.cache.CaffeineCacheComponent
-    camel-quarkus-saxon:
+      - 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-saxon
+      artifactId: camel-quarkus-arangodb
       schemes:
-      - id: xquery
+      - id: arangodb
         http: false
         passive: false
-      languages:
-      - xquery
       javaTypes:
-      - org.apache.camel.language.xquery.XQueryLanguage
-      - org.apache.camel.component.xquery.XQueryComponent
-    camel-quarkus-spark:
+      - org.apache.camel.component.arangodb.ArangoDbComponent
+    camel-quarkus-soap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-spark
+      artifactId: camel-quarkus-soap
+      dataformats:
+      - soapjaxb
+      javaTypes:
+      - org.apache.camel.dataformat.soap.SoapJaxbDataFormat
+    camel-quarkus-freemarker:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-freemarker
       schemes:
-      - id: spark
+      - id: freemarker
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.spark.SparkComponent
-    camel-quarkus-msv:
+      - org.apache.camel.component.freemarker.FreemarkerComponent
+    camel-quarkus-servlet:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-msv
+      artifactId: camel-quarkus-servlet
       schemes:
-      - id: msv
-        http: false
+      - id: servlet
+        http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.validator.msv.MsvComponent
-    camel-quarkus-avro:
+      - org.apache.camel.component.servlet.ServletComponent
+    camel-quarkus-git:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-avro
-      dataformats:
-      - avro
+      artifactId: camel-quarkus-git
+      schemes:
+      - id: git
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.dataformat.avro.AvroDataFormat
-    camel-quarkus-tarfile:
+      - org.apache.camel.component.git.GitComponent
+    camel-quarkus-aws-kinesis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tarfile
-      dataformats:
-      - tarfile
+      artifactId: camel-quarkus-aws-kinesis
+      schemes:
+      - id: aws-kinesis-firehose
+        http: false
+        passive: false
+      - id: aws-kinesis
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
-    camel-quarkus-aws2-sts:
+      - 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-aws2-sts
+      artifactId: camel-quarkus-openstack
       schemes:
-      - id: aws2-sts
+      - id: openstack-swift
+        http: false
+        passive: false
+      - id: openstack-neutron
+        http: false
+        passive: false
+      - id: openstack-keystone
+        http: false
+        passive: false
+      - id: openstack-cinder
+        http: false
+        passive: false
+      - id: openstack-nova
+        http: false
+        passive: false
+      - id: openstack-glance
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.sts.STS2Component
-    camel-quarkus-atlasmap:
+      - 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
+      - org.apache.camel.component.openstack.swift.SwiftComponent
+      - org.apache.camel.component.openstack.glance.GlanceComponent
+    camel-quarkus-barcode:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atlasmap
+      artifactId: camel-quarkus-barcode
+      dataformats:
+      - barcode
+      javaTypes:
+      - org.apache.camel.dataformat.barcode.BarcodeDataFormat
+    camel-quarkus-snmp:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-snmp
       schemes:
-      - id: atlasmap
+      - id: snmp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.atlasmap.AtlasMapComponent
-    camel-quarkus-minio:
+      - org.apache.camel.component.snmp.SnmpComponent
+    camel-quarkus-aws2-ec2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-minio
+      artifactId: camel-quarkus-aws2-ec2
       schemes:
-      - id: minio
+      - id: aws2-ec2
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.minio.MinioComponent
-    camel-quarkus-aws-lambda:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-lambda
+      - org.apache.camel.component.aws2.ec2.AWS2EC2Component
+    camel-k-master:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-master
       schemes:
-      - id: aws-lambda
+      - id: master
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.lambda.LambdaComponent
-    camel-quarkus-xmpp:
+    camel-quarkus-master:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xmpp
+      artifactId: camel-quarkus-master
       schemes:
-      - id: xmpp
+      - id: master
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xmpp.XmppComponent
-    camel-quarkus-aws2-eventbridge:
+      - org.apache.camel.component.master.MasterComponent
+    camel-quarkus-mustache:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-eventbridge
+      artifactId: camel-quarkus-mustache
       schemes:
-      - id: aws2-eventbridge
+      - id: mustache
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.eventbridge.EventbridgeComponent
-    camel-quarkus-github:
+      - org.apache.camel.component.mustache.MustacheComponent
+    camel-quarkus-djl:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-github
+      artifactId: camel-quarkus-djl
       schemes:
-      - id: github
+      - id: djl
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.github.GitHubComponent
-    camel-quarkus-corda:
+      - org.apache.camel.component.djl.DJLComponent
+    camel-quarkus-bonita:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-corda
+      artifactId: camel-quarkus-bonita
       schemes:
-      - id: corda
+      - id: bonita
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.corda.CordaComponent
-    camel-quarkus-xml-jaxp:
+      - org.apache.camel.component.bonita.BonitaComponent
+    camel-quarkus-nagios:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xml-jaxp
-      languages:
-      - xtokenize
+      artifactId: camel-quarkus-nagios
+      schemes:
+      - id: nagios
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.language.xtokenizer.XMLTokenizeLanguage
-    camel-quarkus-ldif:
+      - org.apache.camel.component.nagios.NagiosComponent
+    camel-quarkus-crypto:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ldif
+      artifactId: camel-quarkus-crypto
       schemes:
-      - id: ldif
+      - id: crypto
         http: false
         passive: false
+      dataformats:
+      - pgp
+      - crypto
       javaTypes:
-      - org.apache.camel.component.ldif.LdifComponent
-    camel-quarkus-aws-ec2:
+      - org.apache.camel.component.crypto.DigitalSignatureComponent
+      - org.apache.camel.converter.crypto.CryptoDataFormat
+      - org.apache.camel.converter.crypto.PGPDataFormat
+    camel-quarkus-cm-sms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-ec2
+      artifactId: camel-quarkus-cm-sms
       schemes:
-      - id: aws-ec2
+      - id: cm-sms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.ec2.EC2Component
-    camel-quarkus-web3j:
+      - org.apache.camel.component.cm.CMComponent
+    camel-quarkus-aws2-athena:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-web3j
+      artifactId: camel-quarkus-aws2-athena
       schemes:
-      - id: web3j
+      - id: aws2-athena
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.web3j.Web3jComponent
-    camel-quarkus-ignite:
+      - org.apache.camel.component.aws2.athena.Athena2Component
+    camel-quarkus-kubernetes:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ignite
+      artifactId: camel-quarkus-kubernetes
       schemes:
-      - id: ignite-set
+      - id: kubernetes-deployments
         http: false
         passive: false
-      - id: ignite-idgen
+      - id: kubernetes-hpa
         http: false
         passive: false
-      - id: ignite-cache
+      - id: kubernetes-nodes
         http: false
         passive: false
-      - id: ignite-compute
+      - id: kubernetes-namespaces
         http: false
         passive: false
-      - id: ignite-messaging
+      - id: kubernetes-custom-resources
         http: false
         passive: false
-      - id: ignite-events
+      - id: openshift-builds
         http: false
         passive: false
-      - id: ignite-queue
+      - id: kubernetes-resources-quota
+        http: false
+        passive: false
+      - id: kubernetes-replication-controllers
+        http: false
+        passive: false
+      - id: kubernetes-job
+        http: false
+        passive: false
+      - id: openshift-build-configs
+        http: false
+        passive: false
+      - id: kubernetes-service-accounts
+        http: false
+        passive: false
+      - id: kubernetes-secrets
+        http: false
+        passive: false
+      - id: kubernetes-services
+        http: false
+        passive: false
+      - id: kubernetes-persistent-volumes
+        http: false
+        passive: false
+      - id: kubernetes-config-maps
+        http: false
+        passive: false
+      - id: kubernetes-pods
+        http: false
+        passive: false
+      - id: kubernetes-persistent-volumes-claims
         http: false
         passive: false
       javaTypes:
-      - 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:
+      - 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
+      - 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
+    camel-quarkus-pdf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mongodb-gridfs
+      artifactId: camel-quarkus-pdf
       schemes:
-      - id: mongodb-gridfs
+      - id: pdf
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mongodb.gridfs.GridFsComponent
-    camel-quarkus-cron:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cron
+      - 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
+    camel-quarkus-aws2-lambda:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws2-lambda
+      schemes:
+      - id: aws2-lambda
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.component.cron.CronComponent
-    camel-quarkus-azure-storage-queue:
+      - org.apache.camel.component.aws2.lambda.Lambda2Component
+    camel-quarkus-stringtemplate:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-azure-storage-queue
+      artifactId: camel-quarkus-stringtemplate
       schemes:
-      - id: azure-storage-queue
+      - id: string-template
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.azure.storage.queue.QueueComponent
-    camel-quarkus-reactive-streams:
+      - org.apache.camel.component.stringtemplate.StringTemplateComponent
+    camel-quarkus-stomp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-reactive-streams
+      artifactId: camel-quarkus-stomp
       schemes:
-      - id: reactive-streams
+      - id: stomp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
-    camel-quarkus-rabbitmq:
+      - org.apache.camel.component.stomp.StompComponent
+    camel-quarkus-google-sheets:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rabbitmq
+      artifactId: camel-quarkus-google-sheets
       schemes:
-      - id: rabbitmq
+      - id: google-sheets
+        http: false
+        passive: false
+      - id: google-sheets-stream
+        http: false
+        passive: false
+      javaTypes:
+      - 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-ftp
+      schemes:
+      - id: sftp
+        http: false
+        passive: false
+      - id: ftps
+        http: false
+        passive: false
+      - id: ftp
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.file.remote.SftpComponent
+      - org.apache.camel.component.file.remote.FtpsComponent
+      - org.apache.camel.component.file.remote.FtpComponent
+    camel-quarkus-validator:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-validator
+      schemes:
+      - id: validator
+        http: false
+        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
       javaTypes:
-      - org.apache.camel.component.rabbitmq.RabbitMQComponent
-    camel-quarkus-chatscript:
+      - org.apache.camel.component.printer.PrinterComponent
+    camel-quarkus-google-pubsub:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-chatscript
+      artifactId: camel-quarkus-google-pubsub
       schemes:
-      - id: chatscript
+      - id: google-pubsub
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.chatscript.ChatScriptComponent
-    camel-quarkus-aws-translate:
+      - org.apache.camel.component.google.pubsub.GooglePubsubComponent
+    camel-quarkus-cmis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-translate
+      artifactId: camel-quarkus-cmis
       schemes:
-      - id: aws-translate
+      - id: cmis
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.translate.TranslateComponent
-    camel-quarkus-azure:
+      - org.apache.camel.component.cmis.CMISComponent
+    camel-quarkus-aws2-ses:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-azure
+      artifactId: camel-quarkus-aws2-ses
       schemes:
-      - id: azure-blob
-        http: false
-        passive: false
-      - id: azure-queue
+      - id: aws2-ses
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.azure.queue.QueueServiceComponent
-      - org.apache.camel.component.azure.blob.BlobServiceComponent
-    camel-quarkus-xmlsecurity:
+      - org.apache.camel.component.aws2.ses.Ses2Component
+    camel-quarkus-hazelcast:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xmlsecurity
+      artifactId: camel-quarkus-hazelcast
       schemes:
-      - id: xmlsecurity-verify
+      - id: hazelcast-ringbuffer
         http: false
         passive: false
-      - id: xmlsecurity-sign
+      - id: hazelcast-atomicvalue
         http: false
         passive: false
-      dataformats:
-      - secureXML
-      javaTypes:
-      - 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-groovy
-      languages:
-      - groovy
-      javaTypes:
-      - org.apache.camel.language.groovy.GroovyLanguage
-    camel-quarkus-rest:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rest
-      schemes:
-      - id: rest
-        http: true
+      - id: hazelcast-replicatedmap
+        http: false
         passive: false
-      - id: rest-api
+      - id: hazelcast-topic
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.rest.RestComponent
-      - org.apache.camel.component.rest.RestApiComponent
-    camel-quarkus-xslt:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xslt
-      schemes:
-      - id: xslt
+      - id: hazelcast-multimap
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.xslt.XsltComponent
-    camel-quarkus-beanstalk:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-beanstalk
-      schemes:
-      - id: beanstalk
+      - id: hazelcast-seda
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.beanstalk.BeanstalkComponent
-    camel-quarkus-saga:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-saga
-      schemes:
-      - id: saga
+      - id: hazelcast-map
         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
+      - id: hazelcast-set
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.fop.FopComponent
-    camel-quarkus-johnzon:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-johnzon
-      dataformats:
-      - json-johnzon
-      javaTypes:
-      - org.apache.camel.component.johnzon.JohnzonDataFormat
-    camel-quarkus-solr:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-solr
-      schemes:
-      - id: solrs
+      - id: hazelcast-queue
         http: false
         passive: false
-      - id: solr
+      - id: hazelcast-list
         http: false
         passive: false
-      - id: solrCloud
+      - id: hazelcast-instance
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.solr.SolrComponent
-    camel-quarkus-quickfix:
+      - 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
+      - org.apache.camel.component.hazelcast.list.HazelcastListComponent
+    camel-quarkus-box:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-quickfix
+      artifactId: camel-quarkus-box
       schemes:
-      - id: quickfix
+      - id: box
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.quickfixj.QuickfixjComponent
-    camel-quarkus-jclouds:
+      - org.apache.camel.component.box.BoxComponent
+    camel-quarkus-wordpress:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jclouds
+      artifactId: camel-quarkus-wordpress
       schemes:
-      - id: jclouds
+      - id: wordpress
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jclouds.JcloudsComponent
-    camel-quarkus-rest-openapi:
+      - org.apache.camel.component.wordpress.WordpressComponent
+    camel-quarkus-vertx-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rest-openapi
+      artifactId: camel-quarkus-vertx-http
       schemes:
-      - id: rest-openapi
+      - id: vertx-http
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.rest.openapi.RestOpenApiComponent
-    camel-quarkus-file-watch:
+      - org.apache.camel.component.vertx.http.VertxHttpComponent
+    camel-quarkus-aws2-translate:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-file-watch
+      artifactId: camel-quarkus-aws2-translate
       schemes:
-      - id: file-watch
+      - id: aws2-translate
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.file.watch.FileWatchComponent
-    camel-quarkus-robotframework:
+      - org.apache.camel.component.aws2.translate.Translate2Component
+    camel-quarkus-ahc-ws:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-robotframework
+      artifactId: camel-quarkus-ahc-ws
       schemes:
-      - id: robotframework
+      - id: ahc-ws
+        http: true
+        passive: false
+      - id: ahc-wss
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.robotframework.RobotFrameworkComponent
-    camel-quarkus-file:
+      - org.apache.camel.component.ahc.ws.WsComponent
+    camel-quarkus-mllp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-file
+      artifactId: camel-quarkus-mllp
       schemes:
-      - id: file
+      - id: mllp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.file.FileComponent
-    camel-quarkus-mybatis:
+      - org.apache.camel.component.mllp.MllpComponent
+    camel-quarkus-irc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mybatis
+      artifactId: camel-quarkus-irc
       schemes:
-      - id: mybatis-bean
+      - id: irc
         http: false
         passive: false
-      - id: mybatis
+      javaTypes:
+      - org.apache.camel.component.irc.IrcComponent
+    camel-quarkus-jsch:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jsch
+      schemes:
+      - id: scp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mybatis.MyBatisComponent
-      - org.apache.camel.component.mybatis.MyBatisBeanComponent
-    camel-quarkus-cbor:
+      - org.apache.camel.component.scp.ScpComponent
+    camel-quarkus-beanio:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cbor
+      artifactId: camel-quarkus-beanio
       dataformats:
-      - cbor
+      - beanio
       javaTypes:
-      - org.apache.camel.component.cbor.CBORDataFormat
-    camel-quarkus-elsql:
+      - org.apache.camel.dataformat.beanio.BeanIODataFormat
+    camel-quarkus-aws2-mq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-elsql
+      artifactId: camel-quarkus-aws2-mq
       schemes:
-      - id: elsql
+      - id: aws2-mq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.elsql.ElsqlComponent
-    camel-quarkus-micrometer:
+      - org.apache.camel.component.aws2.mq.MQ2Component
+    camel-quarkus-coap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-micrometer
+      artifactId: camel-quarkus-coap
       schemes:
-      - id: micrometer
+      - id: coap
+        http: false
+        passive: false
+      - id: coap+tcp
+        http: false
+        passive: false
+      - id: coaps
+        http: false
+        passive: false
+      - id: coaps+tcp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.micrometer.MicrometerComponent
-    camel-quarkus-netty:
+      - org.apache.camel.coap.CoAPComponent
+    camel-quarkus-tika:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-netty
+      artifactId: camel-quarkus-tika
       schemes:
-      - id: netty
+      - id: tika
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.netty.NettyComponent
-    camel-quarkus-jolt:
+      - org.apache.camel.component.tika.TikaComponent
+    camel-quarkus-ssh:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jolt
+      artifactId: camel-quarkus-ssh
       schemes:
-      - id: jolt
+      - id: ssh
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jolt.JoltComponent
-    camel-quarkus-http:
+      - org.apache.camel.component.ssh.SshComponent
+    camel-quarkus-xslt-saxon:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-http
+      artifactId: camel-quarkus-xslt-saxon
       schemes:
-      - id: https
+      - id: xslt-saxon
         http: false
         passive: false
-      - id: http
+      javaTypes:
+      - org.apache.camel.component.xslt.saxon.XsltSaxonComponent
+    camel-quarkus-kafka:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-kafka
+      schemes:
+      - id: kafka
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.http.HttpComponent
-    camel-quarkus-telegram:
+      - org.apache.camel.component.kafka.KafkaComponent
+    camel-quarkus-stream:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-telegram
+      artifactId: camel-quarkus-stream
       schemes:
-      - id: telegram
+      - id: stream
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.telegram.TelegramComponent
-    camel-quarkus-ganglia:
+      - org.apache.camel.component.stream.StreamComponent
+    camel-quarkus-browse:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ganglia
+      artifactId: camel-quarkus-browse
       schemes:
-      - id: ganglia
+      - id: browse
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.ganglia.GangliaComponent
-    camel-quarkus-aws2-kinesis:
+      - org.apache.camel.component.browse.BrowseComponent
+    camel-quarkus-avro-rpc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-kinesis
+      artifactId: camel-quarkus-avro-rpc
       schemes:
-      - id: aws2-kinesis
-        http: false
-        passive: false
-      - id: aws2-kinesis-firehose
+      - id: avro
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.kinesis.Kinesis2Component
-      - org.apache.camel.component.aws2.firehose.KinesisFirehose2Component
-    camel-quarkus-twitter:
+      - org.apache.camel.component.avro.AvroComponent
+    camel-quarkus-google-calendar:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-twitter
+      artifactId: camel-quarkus-google-calendar
       schemes:
-      - id: twitter-timeline
-        http: false
-        passive: false
-      - id: twitter-directmessage
+      - id: google-calendar-stream
         http: false
         passive: false
-      - id: twitter-search
+      - id: google-calendar
         http: false
         passive: false
       javaTypes:
-      - 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:
+      - 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-aws-swf
+      artifactId: camel-quarkus-vertx-websocket
       schemes:
-      - id: aws-swf
+      - id: vertx-websocket
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.swf.SWFComponent
-    camel-quarkus-pubnub:
+      - org.apache.camel.component.vertx.websocket.VertxWebsocketComponent
+    camel-quarkus-jcache:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pubnub
+      artifactId: camel-quarkus-jcache
       schemes:
-      - id: pubnub
+      - id: jcache
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pubnub.PubNubComponent
-    camel-quarkus-stub:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stub
-      schemes:
-      - id: stub
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.stub.StubComponent
-    camel-quarkus-aws2-sqs:
+      - org.apache.camel.component.jcache.JCacheComponent
+    camel-quarkus-salesforce:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-sqs
+      artifactId: camel-quarkus-salesforce
       schemes:
-      - id: aws2-sqs
+      - id: salesforce
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.sqs.Sqs2Component
-    camel-quarkus-jt400:
+      - org.apache.camel.component.salesforce.SalesforceComponent
+    camel-quarkus-jbpm:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jt400
+      artifactId: camel-quarkus-jbpm
       schemes:
-      - id: jt400
+      - id: jbpm
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jt400.Jt400Component
-    camel-quarkus-iota:
+      - org.apache.camel.component.jbpm.JBPMComponent
+    camel-quarkus-aws-ecs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-iota
+      artifactId: camel-quarkus-aws-ecs
       schemes:
-      - id: iota
+      - id: aws-ecs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.iota.IOTAComponent
-    camel-quarkus-jsonapi:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsonapi
-      dataformats:
-      - jsonApi
-      javaTypes:
-      - org.apache.camel.component.jsonapi.JsonApiDataFormat
-    camel-quarkus-aws2-eks:
+      - org.apache.camel.component.aws.ecs.ECSComponent
+    camel-quarkus-splunk-hec:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-eks
+      artifactId: camel-quarkus-splunk-hec
       schemes:
-      - id: aws2-eks
+      - id: splunk-hec
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.eks.EKS2Component
-    camel-quarkus-weather:
+      - org.apache.camel.component.splunkhec.SplunkHECComponent
+    camel-quarkus-lucene:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-weather
+      artifactId: camel-quarkus-lucene
       schemes:
-      - id: weather
+      - id: lucene
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.weather.WeatherComponent
-    camel-quarkus-scheduler:
+      - org.apache.camel.component.lucene.LuceneComponent
+    camel-quarkus-aws2-kms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-scheduler
+      artifactId: camel-quarkus-aws2-kms
       schemes:
-      - id: scheduler
+      - id: aws2-kms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.scheduler.SchedulerComponent
-    camel-quarkus-jaxb:
+      - org.apache.camel.component.aws2.kms.KMS2Component
+    camel-quarkus-csv:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jaxb
+      artifactId: camel-quarkus-csv
       dataformats:
-      - jaxb
+      - csv
       javaTypes:
-      - org.apache.camel.converter.jaxb.JaxbDataFormat
-    camel-quarkus-jing:
+      - org.apache.camel.dataformat.csv.CsvDataFormat
+    camel-quarkus-fhir:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jing
+      artifactId: camel-quarkus-fhir
       schemes:
-      - id: jing
+      - id: fhir
         http: false
         passive: false
+      dataformats:
+      - fhirJson
+      - fhirXml
       javaTypes:
-      - org.apache.camel.component.validator.jing.JingComponent
-    camel-quarkus-dataformat:
+      - org.apache.camel.component.fhir.FhirJsonDataFormat
+      - org.apache.camel.component.fhir.FhirXmlDataFormat
+      - org.apache.camel.component.fhir.FhirComponent
+    camel-quarkus-atomix:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dataformat
+      artifactId: camel-quarkus-atomix
       schemes:
-      - id: dataformat
+      - id: atomix-value
         http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.dataformat.DataFormatComponent
-    camel-quarkus-jgroups:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jgroups
-      schemes:
-      - id: jgroups
+        passive: false
+      - id: atomix-messaging
+        http: false
+        passive: false
+      - id: atomix-set
+        http: false
+        passive: false
+      - id: atomix-queue
+        http: false
+        passive: false
+      - id: atomix-map
+        http: false
+        passive: false
+      - id: atomix-multimap
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jgroups.JGroupsComponent
-    camel-quarkus-yammer:
+      - 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-yammer
+      artifactId: camel-quarkus-milo
       schemes:
-      - id: yammer
+      - id: milo-client
+        http: false
+        passive: false
+      - id: milo-server
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.yammer.YammerComponent
-    camel-quarkus-hbase:
+      - 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-hbase
+      artifactId: camel-quarkus-ahc
       schemes:
-      - id: hbase
-        http: false
+      - id: ahc
+        http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.hbase.HBaseComponent
-    camel-quarkus-aws-sdb:
+      - org.apache.camel.component.ahc.AhcComponent
+    camel-quarkus-log:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sdb
+      artifactId: camel-quarkus-log
       schemes:
-      - id: aws-sdb
+      - id: log
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.aws.sdb.SdbComponent
-    camel-quarkus-sap-netweaver:
+      - org.apache.camel.component.log.LogComponent
+    camel-quarkus-graphql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sap-netweaver
+      artifactId: camel-quarkus-graphql
       schemes:
-      - id: sap-netweaver
+      - id: graphql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sap.netweaver.NetWeaverComponent
-    camel-quarkus-servicenow:
+      - org.apache.camel.component.graphql.GraphqlComponent
+    camel-quarkus-disruptor:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-servicenow
+      artifactId: camel-quarkus-disruptor
       schemes:
-      - id: servicenow
+      - id: disruptor-vm
+        http: false
+        passive: false
+      - id: disruptor
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.servicenow.ServiceNowComponent
-    camel-quarkus-grpc:
+      - org.apache.camel.component.disruptor.DisruptorComponent
+      - org.apache.camel.component.disruptor.vm.DisruptorVmComponent
+    camel-quarkus-hl7:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-grpc
-      schemes:
-      - id: grpc
-        http: true
-        passive: false
+      artifactId: camel-quarkus-hl7
+      languages:
+      - hl7terser
+      dataformats:
+      - hl7
+      javaTypes:
+      - org.apache.camel.component.hl7.HL7DataFormat
+      - org.apache.camel.component.hl7.Hl7TerserLanguage
+    camel-quarkus-jsonpath:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jsonpath
+      languages:
+      - jsonpath
       javaTypes:
-      - org.apache.camel.component.grpc.GrpcComponent
-    camel-quarkus-ipfs:
+      - org.apache.camel.jsonpath.JsonPathLanguage
+    camel-quarkus-jooq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ipfs
+      artifactId: camel-quarkus-jooq
       schemes:
-      - id: ipfs
+      - id: jooq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ipfs.IPFSComponent
-    camel-quarkus-aws-kms:
+      - org.apache.camel.component.jooq.JooqComponent
+    camel-quarkus-kudu:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-kms
+      artifactId: camel-quarkus-kudu
       schemes:
-      - id: aws-kms
+      - id: kudu
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.kms.KMSComponent
-    camel-quarkus-stax:
+      - org.apache.camel.component.kudu.KuduComponent
+    camel-quarkus-hdfs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stax
+      artifactId: camel-quarkus-hdfs
       schemes:
-      - id: stax
+      - id: hdfs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stax.StAXComponent
-    camel-quarkus-aws2-msk:
+      - org.apache.camel.component.hdfs.HdfsComponent
+    camel-quarkus-jcr:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-msk
+      artifactId: camel-quarkus-jcr
       schemes:
-      - id: aws2-msk
+      - id: jcr
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.msk.MSK2Component
-    camel-quarkus-debezium-sqlserver:
+      - org.apache.camel.component.jcr.JcrComponent
+    camel-quarkus-debezium-mysql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-sqlserver
+      artifactId: camel-quarkus-debezium-mysql
       schemes:
-      - id: debezium-sqlserver
+      - id: debezium-mysql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumSqlserverComponent
-    camel-quarkus-snakeyaml:
+      - org.apache.camel.component.debezium.DebeziumMySqlComponent
+    camel-quarkus-core:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-snakeyaml
-      dataformats:
-      - yaml-snakeyaml
+      artifactId: camel-quarkus-core
+      languages:
+      - header
+      - file
+      - tokenize
+      - exchangeProperty
+      - csimple
+      - constant
+      - ref
+      - simple
       javaTypes:
-      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
-    camel-quarkus-fastjson:
+      - org.apache.camel.language.property.ExchangePropertyLanguage
+      - 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
+    camel-quarkus-velocity:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fastjson
-      dataformats:
-      - json-fastjson
+      artifactId: camel-quarkus-velocity
+      schemes:
+      - id: velocity
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.component.fastjson.FastjsonDataFormat
-    camel-quarkus-xj:
+      - org.apache.camel.component.velocity.VelocityComponent
+    camel-quarkus-aws2-iam:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xj
+      artifactId: camel-quarkus-aws2-iam
       schemes:
-      - id: xj
+      - id: aws2-iam
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xj.XJComponent
-    camel-quarkus-direct:
+      - org.apache.camel.component.aws2.iam.IAM2Component
+    camel-quarkus-ehcache:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-direct
+      artifactId: camel-quarkus-ehcache
       schemes:
-      - id: direct
+      - id: ehcache
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.direct.DirectComponent
-    camel-quarkus-bean:
+      - org.apache.camel.component.ehcache.EhcacheComponent
+    camel-quarkus-sql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bean
+      artifactId: camel-quarkus-sql
       schemes:
-      - id: bean
+      - id: sql-stored
         http: false
-        passive: true
-      - id: class
+        passive: false
+      - id: sql
         http: false
-        passive: true
-      languages:
-      - bean
+        passive: false
       javaTypes:
-      - org.apache.camel.component.beanclass.ClassComponent
-      - org.apache.camel.component.bean.BeanComponent
-      - org.apache.camel.language.bean.BeanLanguage
-    camel-quarkus-aws-s3:
+      - org.apache.camel.component.sql.SqlComponent
+      - org.apache.camel.component.sql.stored.SqlStoredComponent
+    camel-quarkus-jira:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-s3
+      artifactId: camel-quarkus-jira
       schemes:
-      - id: aws-s3
+      - id: jira
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.s3.S3Component
-    camel-quarkus-grok:
+      - org.apache.camel.component.jira.JiraComponent
+    camel-quarkus-bean-validator:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-grok
-      dataformats:
-      - grok
+      artifactId: camel-quarkus-bean-validator
+      schemes:
+      - id: bean-validator
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.component.grok.GrokDataFormat
-    camel-quarkus-couchdb:
+      - org.apache.camel.component.bean.validator.BeanValidatorComponent
+    camel-quarkus-elasticsearch-rest:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-couchdb
+      artifactId: camel-quarkus-elasticsearch-rest
       schemes:
-      - id: couchdb
+      - id: elasticsearch-rest
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.couchdb.CouchDbComponent
-    camel-quarkus-workday:
+      - org.apache.camel.component.elasticsearch.ElasticsearchComponent
+    camel-quarkus-caffeine:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-workday
+      artifactId: camel-quarkus-caffeine
       schemes:
-      - id: workday
+      - id: caffeine-cache
+        http: false
+        passive: false
+      - id: caffeine-loadcache
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.workday.WorkdayComponent
-    camel-quarkus-zip-deflater:
+      - 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-zip-deflater
-      dataformats:
-      - gzipdeflater
-      - zipdeflater
+      artifactId: camel-quarkus-saxon
+      schemes:
+      - id: xquery
+        http: false
+        passive: false
+      languages:
+      - xquery
       javaTypes:
-      - org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat
-      - org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat
-    camel-quarkus-smpp:
+      - org.apache.camel.language.xquery.XQueryLanguage
+      - org.apache.camel.component.xquery.XQueryComponent
+    camel-quarkus-spark:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-smpp
+      artifactId: camel-quarkus-spark
       schemes:
-      - id: smpps
+      - id: spark
         http: false
         passive: false
-      - id: smpp
+      javaTypes:
+      - org.apache.camel.component.spark.SparkComponent
+    camel-quarkus-msv:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-msv
+      schemes:
+      - id: msv
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.smpp.SmppComponent
-    camel-quarkus-syslog:
+      - org.apache.camel.component.validator.msv.MsvComponent
+    camel-quarkus-avro:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-syslog
+      artifactId: camel-quarkus-avro
       dataformats:
-      - syslog
+      - avro
       javaTypes:
-      - org.apache.camel.component.syslog.SyslogDataFormat
-    camel-quarkus-aws-iam:
+      - org.apache.camel.dataformat.avro.AvroDataFormat
+    camel-quarkus-tarfile:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-iam
-      schemes:
-      - id: aws-iam
-        http: false
-        passive: false
+      artifactId: camel-quarkus-tarfile
+      dataformats:
+      - tarfile
       javaTypes:
-      - org.apache.camel.component.aws.iam.IAMComponent
-    camel-quarkus-debezium-postgres:
+      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
+    camel-quarkus-aws2-sts:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-postgres
+      artifactId: camel-quarkus-aws2-sts
       schemes:
-      - id: debezium-postgres
+      - id: aws2-sts
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumPostgresComponent
+      - org.apache.camel.component.aws2.sts.STS2Component
   loaders:
-    kts:
+    java:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-kotlin
+      artifactId: camel-k-loader-java
       languages:
-      - kts
+      - java
       metadata:
         native: "false"
-    yaml:
+    xml:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-yaml
+      artifactId: camel-k-loader-xml
       languages:
-      - yaml
+      - xml
       metadata:
         native: "true"
-    groovy:
+    js:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-groovy
+      artifactId: camel-k-loader-js
       languages:
-      - groovy
+      - js
       metadata:
-        native: "false"
-    java:
+        native: "true"
+    kts:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-java
+      artifactId: camel-k-loader-kotlin
       languages:
-      - java
+      - kts
       metadata:
         native: "false"
-    xml:
+    yaml:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-xml
+      artifactId: camel-k-loader-yaml
       languages:
-      - xml
+      - yaml
       metadata:
         native: "true"
-    js:
+    groovy:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-js
+      artifactId: camel-k-loader-groovy
       languages:
-      - js
+      - groovy
       metadata:
-        native: "true"
+        native: "false"
diff --git a/e2e/builder/global_test.go b/e2e/builder/global_test.go
index ef68c94..d76e961 100644
--- a/e2e/builder/global_test.go
+++ b/e2e/builder/global_test.go
@@ -28,9 +28,8 @@ import (
 	camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1"
 	. "github.com/onsi/gomega"
 	"github.com/stretchr/testify/assert"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-
 	v1 "k8s.io/api/core/v1"
+	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
 	. "github.com/apache/camel-k/e2e/support"
 	"github.com/apache/camel-k/pkg/platform"
@@ -51,83 +50,87 @@ func TestRunGlobalInstall(t *testing.T) {
 	WithNewTestNamespace(t, func(ns string) {
 		Expect(Kamel("install", "-n", ns, "--global").Execute()).To(Succeed())
 
-		// NS2: namespace without operator but with platform
-		WithNewTestNamespace(t, func(ns2 string) {
-			// Creating platform
-			Expect(Kamel("install", "-n", ns2, "--skip-operator-setup", "--olm=false").Execute()).To(Succeed())
+		t.Run("Global test on namespace with platform", func(t *testing.T) {
+			WithNewTestNamespace(t, func(ns2 string) {
+				// Creating platform
+				Expect(Kamel("install", "-n", ns2, "--skip-operator-setup", "--olm=false").Execute()).To(Succeed())
 
-			Expect(Kamel("run", "-n", ns2, "files/Java.java").Execute()).To(Succeed())
-			Eventually(IntegrationPodPhase(ns2, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
-			Eventually(IntegrationLogs(ns2, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
-			Expect(Kamel("delete", "--all", "-n", ns2).Execute()).To(Succeed())
-			Expect(Kits(ns2)()).Should(HaveLen(1))
-			Expect(Kits(ns)()).Should(HaveLen(0))
+				Expect(Kamel("run", "-n", ns2, "files/Java.java").Execute()).To(Succeed())
+				Eventually(IntegrationPodPhase(ns2, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
+				Eventually(IntegrationLogs(ns2, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+				Expect(Kamel("delete", "--all", "-n", ns2).Execute()).To(Succeed())
+				Expect(Kits(ns2)()).Should(HaveLen(1))
+				Expect(Kits(ns)()).Should(HaveLen(0))
 
-			Expect(ConfigMap(ns2, platform.OperatorLockName)()).To(BeNil(), "No locking configmap expected")
+				Expect(ConfigMap(ns2, platform.OperatorLockName)()).To(BeNil(), "No locking configmap expected")
+			})
 		})
 
-		// NS3: namespace with its own operator
-		WithNewTestNamespace(t, func(ns3 string) {
-			Expect(Kamel("install", "-n", ns3, "--olm=false").Execute()).To(Succeed())
+		t.Run("Global test on namespace with its own operator", func(t *testing.T) {
+			WithNewTestNamespace(t, func(ns3 string) {
+				Expect(Kamel("install", "-n", ns3, "--olm=false").Execute()).To(Succeed())
 
-			Expect(Kamel("run", "-n", ns3, "files/Java.java").Execute()).To(Succeed())
-			Eventually(IntegrationPodPhase(ns3, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
-			Eventually(IntegrationLogs(ns3, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
-			Expect(Kamel("delete", "--all", "-n", ns3).Execute()).To(Succeed())
+				Expect(Kamel("run", "-n", ns3, "files/Java.java").Execute()).To(Succeed())
+				Eventually(IntegrationPodPhase(ns3, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
+				Eventually(IntegrationLogs(ns3, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+				Expect(Kamel("delete", "--all", "-n", ns3).Execute()).To(Succeed())
 
-			Expect(ConfigMap(ns3, platform.OperatorLockName)()).ShouldNot(BeNil(),
-				"OperatorSDK is expected to use configmaps for locking: if this changes (e.g. using Leases) we should update our guard logic",
-			)
+				Expect(ConfigMap(ns3, platform.OperatorLockName)()).ShouldNot(BeNil(),
+					"OperatorSDK is expected to use configmaps for locking: if this changes (e.g. using Leases) we should update our guard logic",
+				)
+			})
 		})
 
-		// NS4: namespace without operator or platform
-		WithNewTestNamespace(t, func(ns4 string) {
-			Expect(Kamel("run", "-n", ns4, "files/Java.java").Execute()).To(Succeed())
-			Eventually(IntegrationPodPhase(ns4, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
-			Eventually(IntegrationLogs(ns4, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
-			Expect(Kamel("delete", "--all", "-n", ns4).Execute()).To(Succeed())
-			Expect(Kits(ns4)()).Should(HaveLen(0))
-			Expect(Kits(ns)()).Should(HaveLen(1)) // Kit built globally
-
-			Expect(ConfigMap(ns4, platform.OperatorLockName)()).To(BeNil(), "No locking configmap expected")
+		t.Run("Global test on namespace without platform", func(t *testing.T) {
+			WithNewTestNamespace(t, func(ns4 string) {
+				Expect(Kamel("run", "-n", ns4, "files/Java.java").Execute()).To(Succeed())
+				Eventually(IntegrationPodPhase(ns4, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
+				Eventually(IntegrationLogs(ns4, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+				Expect(Kamel("delete", "--all", "-n", ns4).Execute()).To(Succeed())
+				Expect(Kits(ns4)()).Should(HaveLen(0))
+				Expect(Kits(ns)()).Should(HaveLen(1)) // Kit built globally
+
+				Expect(ConfigMap(ns4, platform.OperatorLockName)()).To(BeNil(), "No locking configmap expected")
+			})
 		})
 
-		// NS5: second namespace without operator or platform, using an external kit
-		WithNewTestNamespace(t, func(ns5 string) {
-			Expect(Kamel("run", "-n", ns5, "files/Java.java").Execute()).To(Succeed())
-			Eventually(IntegrationPodPhase(ns5, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
-			Eventually(IntegrationLogs(ns5, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
-			Expect(Kamel("delete", "--all", "-n", ns5).Execute()).To(Succeed())
-			Expect(Kits(ns5)()).Should(HaveLen(0))
-			globalKits := Kits(ns)()
-			Expect(globalKits).Should(HaveLen(1)) // Reusing the same global kit
-			if len(globalKits) == 1 {
-				kit := globalKits[0]
-				// external kit mirroring the global one
-				externalKit := camelv1.IntegrationKit{
-					ObjectMeta: metav1.ObjectMeta{
-						Namespace: ns5,
-						Name:      "external",
-						Labels: map[string]string{
-							"camel.apache.org/kit.type": camelv1.IntegrationKitTypeExternal,
+		t.Run("Global test on namespace without platform with external kit", func(t *testing.T) {
+			WithNewTestNamespace(t, func(ns5 string) {
+				Expect(Kamel("run", "-n", ns5, "files/Java.java").Execute()).To(Succeed())
+				Eventually(IntegrationPodPhase(ns5, "java"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
+				Eventually(IntegrationLogs(ns5, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+				Expect(Kamel("delete", "--all", "-n", ns5).Execute()).To(Succeed())
+				Expect(Kits(ns5)()).Should(HaveLen(0))
+				globalKits := Kits(ns)()
+				Expect(globalKits).Should(HaveLen(1)) // Reusing the same global kit
+				if len(globalKits) == 1 {
+					kit := globalKits[0]
+					// external kit mirroring the global one
+					externalKit := camelv1.IntegrationKit{
+						ObjectMeta: metav1.ObjectMeta{
+							Namespace: ns5,
+							Name:      "external",
+							Labels: map[string]string{
+								"camel.apache.org/kit.type": camelv1.IntegrationKitTypeExternal,
+							},
+						},
+						Spec: camelv1.IntegrationKitSpec{
+							Image: kit.Status.Image,
 						},
-					},
-					Spec: camelv1.IntegrationKitSpec{
-						Image: kit.Status.Image,
-					},
+					}
+					Expect(TestClient().Create(TestContext, &externalKit)).Should(BeNil())
+
+					Expect(Kamel("run", "-n", ns5, "files/Java.java", "--name", "ext", "--kit", "external").Execute()).To(Succeed())
+					Eventually(IntegrationPodPhase(ns5, "ext"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
+					Eventually(IntegrationLogs(ns5, "ext"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+					Expect(IntegrationKit(ns5, "ext")()).Should(Equal("external"))
+					Expect(Kamel("delete", "--all", "-n", ns5).Execute()).To(Succeed())
+					Expect(Kits(ns5)()).Should(HaveLen(1)) // the external one
+					Expect(Kits(ns)()).Should(HaveLen(1))  // the global one
 				}
-				Expect(TestClient().Create(TestContext, &externalKit)).Should(BeNil())
-
-				Expect(Kamel("run", "-n", ns5, "files/Java.java", "--name", "ext", "--kit", "external").Execute()).To(Succeed())
-				Eventually(IntegrationPodPhase(ns5, "ext"), TestTimeoutMedium).Should(Equal(v1.PodRunning))
-				Eventually(IntegrationLogs(ns5, "ext"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
-				Expect(IntegrationKit(ns5, "ext")()).Should(Equal("external"))
-				Expect(Kamel("delete", "--all", "-n", ns5).Execute()).To(Succeed())
-				Expect(Kits(ns5)()).Should(HaveLen(1)) // the external one
-				Expect(Kits(ns)()).Should(HaveLen(1))  // the global one
-			}
 
-			Expect(ConfigMap(ns5, platform.OperatorLockName)()).To(BeNil(), "No locking configmap expected")
+				Expect(ConfigMap(ns5, platform.OperatorLockName)()).To(BeNil(), "No locking configmap expected")
+			})
 		})
 
 		Expect(Kamel("uninstall", "-n", ns, "--skip-crd", "--skip-cluster-roles").Execute()).To(Succeed())
diff --git a/pkg/resources/resources.go b/pkg/resources/resources.go
index c75dfd8..1ff0971 100644
--- a/pkg/resources/resources.go
+++ b/pkg/resources/resources.go
@@ -106,16 +106,16 @@ var assets = func() http.FileSystem {
 		"/crd/bases/camel.apache.org_integrations.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "camel.apache.org_integrations.yaml",
 			modTime:          time.Time{},
-			uncompressedSize: 14483,
+			uncompressedSize: 23405,
 
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x1b\x4d\x73\xe2\x38\xf6\xee\x5f\xf1\x2a\x1c\xba\xbb\x2a\x98\xe9\x99\x3d\x6c\xb1\x27\x96\xee\xd4\xb2\x9d\x4e\x52\x81\x9e\xa9\x3e\x0a\xfb\x61\x34\x91\x25\xaf\x24\x43\x98\xad\xfd\xef\x5b\x7a\xb2\xc1\x06\xdb\x10\xd2\xb3\x33\x3b\x83\x4f\x89\xa5\xa7\xf7\xfd\x29\xd3\x83\xfe\xb7\x7b\x82\x1e\xdc\xf2\x08\xa5\xc1\x18\xac\x02\xbb\x44\x18\x65\x2c\x5a\x22\x4c\xd5\xc2\xae\x99\x46\xb8\x51\xb9\x8c\x99\xe5\x4a\xc2\xdb\xd1\xf4\xe6\x [...]
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3c\x5d\x73\xdb\xba\x95\xef\xfa\x15\x67\xec\x87\xdc\xcc\x48\x54\x93\xb4\xb3\x3b\xde\x27\xd7\x89\x77\xb5\xf1\xb5\x33\x96\xd3\x3b\x77\x3a\x7d\x80\xc8\x43\x0a\x35\x08\x70\x01\xd0\xb2\xda\xe9\x7f\xdf\x39\x07\x24\x45\x4a\xa4\xac\xc8\xb9\xf7\x76\xbb\xe2\x4b\x62\x12\x38\x38\xdf\x5f\x00\x74\x0e\x93\xef\xf7\x8c\xce\xe1\x46\xc6\xa8\x1d\x26\xe0\x0d\xf8\x25\xc2\x65\x21\xe2\x25\xc2\xdc\xa4\x7e\x25\x2c\xc2\xb5\x29\x75\x22\xbc\x [...]
 		},
 		"/crd/bases/camel.apache.org_kameletbindings.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "camel.apache.org_kameletbindings.yaml",
 			modTime:          time.Time{},
-			uncompressedSize: 50466,
+			uncompressedSize: 55181,
 
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\x7f\x6f\xdb\x38\xd2\xff\xff\x79\x15\x83\xe4\x80\x4d\x81\xc8\x89\x93\xb4\xb7\xeb\xef\x1f\x45\x36\xdd\xde\xd7\xd7\x6e\x1a\xc4\xc9\x1d\xee\x69\x7b\x00\x2d\x8d\x6d\x5e\x24\x52\x47\x52\x71\xf2\x6c\xfb\xde\x1f\x90\x94\x6c\xd9\xb1\x24\xd2\xb1\xb3\x29\x20\x02\x45\x63\x9b\x1a\xce\x2f\x0e\xc9\xe1\x7c\xec\x3d\x08\x36\xd7\x76\xf6\xe0\x23\x0d\x91\x49\x8c\x40\x71\x50\x13\x84\xb3\x94\x84\x13\x84\x01\x1f\xa9\x29\x11\x08\xef\x [...]
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\xf1\x6f\xdb\x38\xf2\xef\xef\xf9\x2b\x06\xc9\x01\x6d\x01\x4b\x8e\xe3\xb4\xbb\xeb\xf7\x43\x91\x26\xdb\x7b\x7e\xed\xa6\x45\x92\xde\xe1\x5e\xdb\x03\x68\x69\x6c\xf3\x22\x91\x3a\x92\x8a\xe3\xef\xb6\xff\xfb\x17\x24\x25\x59\x76\x2c\x99\x72\xec\x6e\x0a\x88\xc0\x62\x6b\x8b\x1a\xce\x0c\x87\xc3\x99\x21\x3f\xce\x11\x78\xbb\x6b\x07\x47\xf0\x9e\x06\xc8\x24\x86\xa0\x38\xa8\x29\xc2\x59\x42\x82\x29\xc2\x35\x1f\xab\x19\x11\x08\x [...]
 		},
 		"/crd/bases/camel.apache.org_kamelets.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "camel.apache.org_kamelets.yaml",
@@ -462,7 +462,7 @@ var assets = func() http.FileSystem {
 			modTime:          time.Time{},
 			uncompressedSize: 89253,
 
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x7d\x4b\x77\xdb\xb8\xb2\xee\x3c\xbf\x82\xab\x33\x39\x67\xdd\xad\xda\xdd\xce\xd9\xdd\x77\xf5\x1d\xd9\x4a\xec\xd8\xb1\x1c\x27\xf2\x4e\xb2\x7b\xd2\x0b\x22\x21\x09\x16\x49\xd0\x00\x24\xd9\xf9\xf5\x77\xe1\xc1\x97\x24\x17\x45\x1a\xf0\xf1\xc0\x24\x85\xc2\x57\x40\xe1\x5d\x28\x14\xde\x46\x23\x7f\x7f\x6f\xde\x46\xd7\x2c\xa6\xb9\xa4\x49\xa4\x78\xa4\x96\x34\x3a\x2d\x48\xbc\xa4\xd1\x94\xcf\xd5\x96\x08\x1a\x9d\xf3\x75\x9e\x10\x [...]
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x7d\x4b\x77\xdb\xb8\xb2\xee\x3c\xbf\x82\xab\x33\x39\x67\xdd\xcd\xda\xdd\xc9\xd9\xdd\x77\xf5\x1d\xd9\x4a\x9c\xd8\xb1\x1d\x27\xf2\x4e\xb2\x7b\xd2\x0b\x22\x21\x09\x16\x49\xd0\x00\x28\xdb\xf9\xf5\x77\xe1\xc1\x97\x2c\x17\x45\x1a\xf0\xf1\xc0\x24\x85\xc2\x57\x40\xe1\x55\x00\x0a\x85\xd7\x51\xec\xef\xef\xd5\xeb\xe8\x9c\x25\xb4\x90\x34\x8d\x14\x8f\xd4\x9a\x46\x47\x25\x49\xd6\x34\x9a\xf3\xa5\xba\x23\x82\x46\x27\xbc\x2a\x52\x [...]
 		},
 		"/camel-catalog-1.7.0-SNAPSHOT.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "camel-catalog-1.7.0-SNAPSHOT.yaml",
@@ -474,9 +474,9 @@ var assets = func() http.FileSystem {
 		"/traits.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "traits.yaml",
 			modTime:          time.Time{},
-			uncompressedSize: 35344,
+			uncompressedSize: 35740,
 
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\xff\x6f\x1b\x37\xf6\xe0\xef\xfd\x2b\x08\xed\x01\xb6\x0c\xcf\xd8\xe9\xa2\xdb\xae\xee\x72\x0b\x6f\x92\xed\xba\x69\x1c\x5f\x9c\x76\x71\xe8\x15\x15\x35\xf3\x24\x31\xe6\x90\xb3\x24\x47\x8e\x7a\xb8\xff\xfd\xc0\xc7\xaf\x33\x1a\xdb\x72\x12\x17\x5e\xe0\x83\xfc\x10\x4b\x1a\x3e\x3e\x3e\x3e\xbe\xef\x8f\x63\x14\x65\x46\xcf\xbe\x2a\x88\xa0\x0d\xcc\x08\x5d\x2e\x99\x60\x66\xfb\x15\x21\x2d\xa7\x66\x29\x55\x33\x23\x4b\xca\x35\x [...]
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\xff\x6f\x1b\x37\xf6\xe0\xef\xfd\x2b\x08\xef\x01\xb6\x0c\x69\xec\x74\xd1\x6d\x57\x77\xb9\x85\x37\xc9\x76\xdd\x34\x8e\x2f\x4e\xbb\x38\xf4\x8a\x8a\x9a\x79\x92\x18\x73\xc8\x59\x92\x23\x47\x3d\xdc\xff\x7e\xe0\xe3\xd7\x19\x8d\xed\x71\x12\x17\x5e\xe0\x83\xfc\x10\x4b\x1a\x3e\x3e\x3e\x3e\xbe\xef\x8f\x63\x14\x65\x46\xcf\xbf\x9a\x11\x41\x6b\x98\x13\xba\x5a\x31\xc1\xcc\xee\x2b\x42\x1a\x4e\xcd\x4a\xaa\x7a\x4e\x56\x94\x6b\x [...]
 		},
 	}
 	fs["/"].(*vfsgen۰DirInfo).entries = []os.FileInfo{