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/02/19 13:49:23 UTC

[camel-k] branch master updated: Fix #2043: add processing steps to KameletBinding

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


The following commit(s) were added to refs/heads/master by this push:
     new 51b7c01  Fix #2043: add processing steps to KameletBinding
51b7c01 is described below

commit 51b7c011deca11d575e74377724a7790359cbc1c
Author: nicolaferraro <ni...@gmail.com>
AuthorDate: Wed Feb 17 12:47:05 2021 +0100

    Fix #2043: add processing steps to KameletBinding
---
 addons/strimzi/strimzi.go                          |    2 +-
 addons/strimzi/strimzi_test.go                     |    8 +-
 .../bases/camel.apache.org_kameletbindings.yaml    |  220 ++
 deploy/camel-catalog-1.6.0.yaml                    | 3278 ++++++++++----------
 .../camel.apache.org_kameletbindings.yaml          |  220 ++
 .../kamelet-steps/prefix-action.kamelet.yaml       |   45 +
 .../common/kamelet-steps/steps-binding.feature     |    5 +
 e2e/yaks/common/kamelet-steps/steps-binding.yaml   |   27 +
 .../common/kamelet-steps/timer-source.kamelet.yaml |   54 +
 e2e/yaks/common/kamelet-steps/yaks-config.yaml     |   30 +
 helm/camel-k/crds/crd-kamelet-binding.yaml         |  220 ++
 pkg/apis/camel/v1/zz_generated.deepcopy.go         |   21 +-
 pkg/apis/camel/v1alpha1/kamelet_binding_types.go   |    3 +
 pkg/apis/camel/v1alpha1/zz_generated.deepcopy.go   |    7 +
 pkg/controller/kameletbinding/common.go            |   70 +-
 pkg/resources/resources.go                         |   10 +-
 pkg/util/bindings/api.go                           |   16 +-
 pkg/util/bindings/bindings_test.go                 |   15 +-
 pkg/util/bindings/camel_uri.go                     |    2 +-
 pkg/util/bindings/catalog.go                       |    4 +-
 pkg/util/bindings/kamelet.go                       |    5 +-
 pkg/util/bindings/knative_ref.go                   |    4 +-
 pkg/util/bindings/knative_uri.go                   |    4 +-
 23 files changed, 2579 insertions(+), 1691 deletions(-)

diff --git a/addons/strimzi/strimzi.go b/addons/strimzi/strimzi.go
index 8b3849f..582c5a7 100644
--- a/addons/strimzi/strimzi.go
+++ b/addons/strimzi/strimzi.go
@@ -40,7 +40,7 @@ func (s StrimziBindingProvider) ID() string {
 	return "strimzi"
 }
 
-func (s StrimziBindingProvider) Translate(ctx bindings.BindingContext, _ v1alpha1.EndpointType, endpoint v1alpha1.Endpoint) (*bindings.Binding, error) {
+func (s StrimziBindingProvider) Translate(ctx bindings.BindingContext, _ bindings.EndpointContext, endpoint v1alpha1.Endpoint) (*bindings.Binding, error) {
 	if endpoint.Ref == nil {
 		// React only on refs
 		return nil, nil
diff --git a/addons/strimzi/strimzi_test.go b/addons/strimzi/strimzi_test.go
index 540db88..7769b7a 100644
--- a/addons/strimzi/strimzi_test.go
+++ b/addons/strimzi/strimzi_test.go
@@ -58,7 +58,9 @@ func TestStrimziDirect(t *testing.T) {
 		}),
 	}
 
-	binding, err := StrimziBindingProvider{}.Translate(bindingContext, v1alpha1.EndpointTypeSink, endpoint)
+	binding, err := StrimziBindingProvider{}.Translate(bindingContext, bindings.EndpointContext{
+		Type: v1alpha1.EndpointTypeSink,
+	}, endpoint)
 	assert.NoError(t, err)
 	assert.NotNil(t, binding)
 	assert.Equal(t, "kafka:mytopic?brokers=my-cluster-kafka-bootstrap%3A9092", binding.URI)
@@ -116,7 +118,9 @@ func TestStrimziLookup(t *testing.T) {
 		},
 	}
 
-	binding, err := provider.Translate(bindingContext, v1alpha1.EndpointTypeSink, endpoint)
+	binding, err := provider.Translate(bindingContext, bindings.EndpointContext{
+		Type: v1alpha1.EndpointTypeSink,
+	}, endpoint)
 	assert.NoError(t, err)
 	assert.NotNil(t, binding)
 	assert.Equal(t, "kafka:mytopicy?brokers=my-clusterx-kafka-bootstrap%3A9092", binding.URI)
diff --git a/config/crd/bases/camel.apache.org_kameletbindings.yaml b/config/crd/bases/camel.apache.org_kameletbindings.yaml
index 9ae1705..5a427b5 100644
--- a/config/crd/bases/camel.apache.org_kameletbindings.yaml
+++ b/config/crd/bases/camel.apache.org_kameletbindings.yaml
@@ -617,6 +617,226 @@ spec:
                       endpoint explicitly
                     type: string
                 type: object
+              steps:
+                description: Steps contains an optional list of intermediate steps
+                  that are executed between the Source and the Sink
+                items:
+                  description: Endpoint represents a source/sink external entity
+                  properties:
+                    properties:
+                      description: Properties are a key value representation of endpoint
+                        properties
+                      type: object
+                      x-kubernetes-preserve-unknown-fields: true
+                    ref:
+                      description: Ref can be used to declare a Kubernetes resource
+                        as source/sink endpoint
+                      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
+                    types:
+                      additionalProperties:
+                        properties:
+                          mediaType:
+                            type: string
+                          schema:
+                            description: JSONSchemaProps is a JSON-Schema following
+                              Specification Draft 4 (http://json-schema.org/).
+                            properties:
+                              $schema:
+                                description: JSONSchemaURL represents a schema url.
+                                type: string
+                              description:
+                                type: string
+                              example:
+                                description: 'JSON represents any valid JSON value.
+                                  These types are supported: bool, int64, float64,
+                                  string, []interface{}, map[string]interface{} and
+                                  nil.'
+                                x-kubernetes-preserve-unknown-fields: true
+                              externalDocs:
+                                description: ExternalDocumentation allows referencing
+                                  an external resource for extended documentation.
+                                properties:
+                                  description:
+                                    type: string
+                                  url:
+                                    type: string
+                                type: object
+                              id:
+                                type: string
+                              properties:
+                                additionalProperties:
+                                  properties:
+                                    default:
+                                      description: default is a default value for
+                                        undefined object fields.
+                                      x-kubernetes-preserve-unknown-fields: true
+                                    description:
+                                      type: string
+                                    enum:
+                                      items:
+                                        description: 'JSON represents any valid JSON
+                                          value. These types are supported: bool,
+                                          int64, float64, string, []interface{}, map[string]interface{}
+                                          and nil.'
+                                        x-kubernetes-preserve-unknown-fields: true
+                                      type: array
+                                    example:
+                                      description: 'JSON represents any valid JSON
+                                        value. These types are supported: bool, int64,
+                                        float64, string, []interface{}, map[string]interface{}
+                                        and nil.'
+                                      x-kubernetes-preserve-unknown-fields: true
+                                    exclusiveMaximum:
+                                      type: boolean
+                                    exclusiveMinimum:
+                                      type: boolean
+                                    format:
+                                      description: "format is an OpenAPI v3 format
+                                        string. Unknown formats are ignored. The following
+                                        formats are validated: \n - bsonobjectid:
+                                        a bson object ID, i.e. a 24 characters hex
+                                        string - uri: an URI as parsed by Golang net/url.ParseRequestURI
+                                        - email: an email address as parsed by Golang
+                                        net/mail.ParseAddress - hostname: a valid
+                                        representation for an Internet host name,
+                                        as defined by RFC 1034, section 3.1 [RFC1034].
+                                        - ipv4: an IPv4 IP as parsed by Golang net.ParseIP
+                                        - ipv6: an IPv6 IP as parsed by Golang net.ParseIP
+                                        - cidr: a CIDR as parsed by Golang net.ParseCIDR
+                                        - mac: a MAC address as parsed by Golang net.ParseMAC
+                                        - uuid: an UUID that allows uppercase defined
+                                        by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$
+                                        - uuid3: an UUID3 that allows uppercase defined
+                                        by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$
+                                        - uuid4: an UUID4 that allows uppercase defined
+                                        by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
+                                        - uuid5: an UUID5 that allows uppercase defined
+                                        by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
+                                        - isbn: an ISBN10 or ISBN13 number string
+                                        like \"0321751043\" or \"978-0321751041\"
+                                        - isbn10: an ISBN10 number string like \"0321751043\"
+                                        - isbn13: an ISBN13 number string like \"978-0321751041\"
+                                        - creditcard: a credit card number defined
+                                        by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\\\d{3})\\\\d{11})$
+                                        with any non digit characters mixed in - ssn:
+                                        a U.S. social security number following the
+                                        regex ^\\\\d{3}[- ]?\\\\d{2}[- ]?\\\\d{4}$
+                                        - hexcolor: an hexadecimal color code like
+                                        \"#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
+                                        - rgbcolor: an RGB color code like rgb like
+                                        \"rgb(255,255,2559\" - byte: base64 encoded
+                                        binary data - password: any kind of string
+                                        - date: a date string like \"2006-01-02\"
+                                        as defined by full-date in RFC3339 - duration:
+                                        a duration string like \"22 ns\" as parsed
+                                        by Golang time.ParseDuration or compatible
+                                        with Scala duration format - datetime: a date
+                                        time string like \"2014-12-15T19:30:20.000Z\"
+                                        as defined by date-time in RFC3339."
+                                      type: string
+                                    id:
+                                      type: string
+                                    maxItems:
+                                      format: int64
+                                      type: integer
+                                    maxLength:
+                                      format: int64
+                                      type: integer
+                                    maxProperties:
+                                      format: int64
+                                      type: integer
+                                    maximum:
+                                      description: A Number represents a JSON number
+                                        literal.
+                                      type: string
+                                    minItems:
+                                      format: int64
+                                      type: integer
+                                    minLength:
+                                      format: int64
+                                      type: integer
+                                    minProperties:
+                                      format: int64
+                                      type: integer
+                                    minimum:
+                                      description: A Number represents a JSON number
+                                        literal.
+                                      type: string
+                                    multipleOf:
+                                      description: A Number represents a JSON number
+                                        literal.
+                                      type: string
+                                    nullable:
+                                      type: boolean
+                                    pattern:
+                                      type: string
+                                    title:
+                                      type: string
+                                    type:
+                                      type: string
+                                    uniqueItems:
+                                      type: boolean
+                                    x-descriptors:
+                                      description: The list of descriptors that determine
+                                        which UI components to use on different views
+                                      items:
+                                        type: string
+                                      type: array
+                                  type: object
+                                type: object
+                              required:
+                                items:
+                                  type: string
+                                type: array
+                              title:
+                                type: string
+                              type:
+                                type: string
+                            type: object
+                        type: object
+                      description: Types defines the schema of the data produced/consumed
+                        by the endpoint
+                      type: object
+                    uri:
+                      description: URI can alternatively be used to specify the (Camel)
+                        endpoint explicitly
+                      type: string
+                  type: object
+                type: array
             type: object
           status:
             description: KameletBindingStatus --
diff --git a/deploy/camel-catalog-1.6.0.yaml b/deploy/camel-catalog-1.6.0.yaml
index 8d35f7e..e1051d0 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.version: 3.7.0
-    camel.apache.org/runtime.version: 1.6.0
     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
     app: camel-k
 spec:
   runtime:
@@ -30,1010 +30,946 @@ 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:
-      tracing:
+      rest:
         dependencies:
         - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-opentracing
-      master:
+          artifactId: camel-quarkus-platform-http
+        - groupId: org.apache.camel.quarkus
+          artifactId: camel-quarkus-rest
+      cron:
         dependencies:
         - groupId: org.apache.camel.k
-          artifactId: camel-k-master
-      circuit-breaker:
+          artifactId: camel-k-cron
+      platform-http:
         dependencies:
         - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-microprofile-fault-tolerance
+          artifactId: camel-quarkus-platform-http
       health:
         dependencies:
         - groupId: org.apache.camel.quarkus
           artifactId: camel-quarkus-microprofile-health
-      platform-http:
+      circuit-breaker:
         dependencies:
         - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-platform-http
-      cron:
+          artifactId: camel-quarkus-microprofile-fault-tolerance
+      master:
         dependencies:
         - groupId: org.apache.camel.k
-          artifactId: camel-k-cron
-      rest:
+          artifactId: camel-k-master
+      tracing:
         dependencies:
         - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-rest
-        - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-platform-http
+          artifactId: camel-quarkus-opentracing
   artifacts:
-    camel-k-kamelet:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-kamelet
-      schemes:
-      - id: kamelet
-        http: false
-        passive: true
-    camel-quarkus-influxdb:
+    camel-quarkus-ipfs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-influxdb
+      artifactId: camel-quarkus-ipfs
       schemes:
-      - id: influxdb
+      - id: ipfs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.influxdb.InfluxDbComponent
-    camel-quarkus-netty-http:
+      - org.apache.camel.component.ipfs.IPFSComponent
+    camel-quarkus-grpc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-netty-http
+      artifactId: camel-quarkus-grpc
       schemes:
-      - id: netty-http
+      - id: grpc
         http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.netty.http.NettyHttpComponent
-    camel-quarkus-aws2-ecs:
+      - org.apache.camel.component.grpc.GrpcComponent
+    camel-quarkus-servicenow:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ecs
+      artifactId: camel-quarkus-servicenow
       schemes:
-      - id: aws2-ecs
+      - id: servicenow
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.ecs.ECS2Component
-    camel-quarkus-zipfile:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zipfile
-      dataformats:
-      - zipfile
-      javaTypes:
-      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
-    camel-quarkus-flatpack:
+      - org.apache.camel.component.servicenow.ServiceNowComponent
+    camel-quarkus-sap-netweaver:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-flatpack
+      artifactId: camel-quarkus-sap-netweaver
       schemes:
-      - id: flatpack
+      - id: sap-netweaver
         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.sap.netweaver.NetWeaverComponent
+    camel-quarkus-aws-sdb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-slack
+      artifactId: camel-quarkus-aws-sdb
       schemes:
-      - id: slack
+      - id: aws-sdb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.slack.SlackComponent
-    camel-quarkus-aws-sns:
+      - org.apache.camel.component.aws.sdb.SdbComponent
+    camel-quarkus-hbase:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sns
+      artifactId: camel-quarkus-hbase
       schemes:
-      - id: aws-sns
+      - id: hbase
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.sns.SnsComponent
-    camel-quarkus-couchbase:
+      - org.apache.camel.component.hbase.HBaseComponent
+    camel-quarkus-yammer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-couchbase
+      artifactId: camel-quarkus-yammer
       schemes:
-      - id: couchbase
+      - id: yammer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.couchbase.CouchbaseComponent
-    camel-quarkus-digitalocean:
+      - org.apache.camel.component.yammer.YammerComponent
+    camel-quarkus-jgroups:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-digitalocean
+      artifactId: camel-quarkus-jgroups
       schemes:
-      - id: digitalocean
+      - id: jgroups
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.digitalocean.DigitalOceanComponent
-    camel-quarkus-timer:
+      - org.apache.camel.component.jgroups.JGroupsComponent
+    camel-quarkus-dataformat:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-timer
+      artifactId: camel-quarkus-dataformat
       schemes:
-      - id: timer
+      - id: dataformat
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.timer.TimerComponent
-    camel-quarkus-platform-http:
+      - org.apache.camel.component.dataformat.DataFormatComponent
+    camel-quarkus-jing:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-platform-http
+      artifactId: camel-quarkus-jing
       schemes:
-      - id: platform-http
-        http: true
+      - id: jing
+        http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.platform.http.PlatformHttpComponent
-    camel-quarkus-mail:
+      - org.apache.camel.component.validator.jing.JingComponent
+    camel-quarkus-jaxb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mail
+      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: smtp
-        http: false
-        passive: false
-      - id: pop3
-        http: false
-        passive: false
-      - id: smtps
-        http: false
-        passive: false
-      - id: pop3s
+      - id: scheduler
         http: false
         passive: false
-      - id: imap
+      javaTypes:
+      - org.apache.camel.component.scheduler.SchedulerComponent
+    camel-quarkus-weather:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-weather
+      schemes:
+      - id: weather
         http: false
         passive: false
-      - id: imaps
+      javaTypes:
+      - org.apache.camel.component.weather.WeatherComponent
+    camel-quarkus-aws2-eks:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws2-eks
+      schemes:
+      - id: aws2-eks
         http: false
         passive: false
+      javaTypes:
+      - org.apache.camel.component.aws2.eks.EKS2Component
+    camel-quarkus-jsonapi:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jsonapi
       dataformats:
-      - mime-multipart
+      - jsonApi
       javaTypes:
-      - org.apache.camel.component.mail.MailComponent
-      - org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat
-    camel-quarkus-google-bigquery:
+      - org.apache.camel.component.jsonapi.JsonApiDataFormat
+    camel-quarkus-iota:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-bigquery
+      artifactId: camel-quarkus-iota
       schemes:
-      - id: google-bigquery-sql
-        http: false
-        passive: false
-      - id: google-bigquery
+      - id: iota
         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.iota.IOTAComponent
+    camel-quarkus-jt400:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dropbox
+      artifactId: camel-quarkus-jt400
       schemes:
-      - id: dropbox
+      - id: jt400
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.dropbox.DropboxComponent
-    camel-quarkus-aws2-s3:
+      - org.apache.camel.component.jt400.Jt400Component
+    camel-quarkus-aws2-sqs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-s3
+      artifactId: camel-quarkus-aws2-sqs
       schemes:
-      - id: aws2-s3
+      - id: aws2-sqs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.s3.AWS2S3Component
-    camel-quarkus-json-validator:
+      - org.apache.camel.component.aws2.sqs.Sqs2Component
+    camel-quarkus-stub:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-json-validator
+      artifactId: camel-quarkus-stub
       schemes:
-      - id: json-validator
+      - id: stub
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.jsonvalidator.JsonValidatorComponent
-    camel-quarkus-lumberjack:
+      - org.apache.camel.component.stub.StubComponent
+    camel-quarkus-pubnub:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-lumberjack
+      artifactId: camel-quarkus-pubnub
       schemes:
-      - id: lumberjack
+      - id: pubnub
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.lumberjack.LumberjackComponent
-    camel-quarkus-websocket-jsr356:
+      - org.apache.camel.component.pubnub.PubNubComponent
+    camel-quarkus-aws-swf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-websocket-jsr356
+      artifactId: camel-quarkus-aws-swf
       schemes:
-      - id: websocket-jsr356
+      - id: aws-swf
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
-    camel-quarkus-google-mail:
+      - org.apache.camel.component.aws.swf.SWFComponent
+    camel-quarkus-twitter:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-mail
+      artifactId: camel-quarkus-twitter
       schemes:
-      - id: google-mail-stream
+      - id: twitter-directmessage
         http: false
         passive: false
-      - id: google-mail
+      - id: twitter-timeline
         http: false
         passive: false
-      javaTypes:
-      - 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-arangodb
-      schemes:
-      - id: arangodb
+      - id: twitter-search
         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.twitter.directmessage.TwitterDirectMessageComponent
+      - org.apache.camel.component.twitter.search.TwitterSearchComponent
+      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
+    camel-quarkus-aws2-kinesis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-freemarker
+      artifactId: camel-quarkus-aws2-kinesis
       schemes:
-      - id: freemarker
+      - id: aws2-kinesis-firehose
+        http: false
+        passive: false
+      - id: aws2-kinesis
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.freemarker.FreemarkerComponent
-    camel-quarkus-servlet:
+      - 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-servlet
+      artifactId: camel-quarkus-ganglia
       schemes:
-      - id: servlet
-        http: true
+      - id: ganglia
+        http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.servlet.ServletComponent
-    camel-quarkus-git:
+      - org.apache.camel.component.ganglia.GangliaComponent
+    camel-quarkus-telegram:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-git
+      artifactId: camel-quarkus-telegram
       schemes:
-      - id: git
+      - id: telegram
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.git.GitComponent
-    camel-quarkus-aws-kinesis:
+      - org.apache.camel.component.telegram.TelegramComponent
+    camel-quarkus-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-kinesis
+      artifactId: camel-quarkus-http
       schemes:
-      - id: aws-kinesis-firehose
+      - id: http
         http: false
         passive: false
-      - id: aws-kinesis
+      - id: https
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.kinesis.KinesisComponent
-      - org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
-    camel-quarkus-openstack:
+      - org.apache.camel.component.http.HttpComponent
+    camel-quarkus-jolt:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-openstack
+      artifactId: camel-quarkus-jolt
       schemes:
-      - id: openstack-neutron
-        http: false
-        passive: false
-      - id: openstack-keystone
-        http: false
-        passive: false
-      - id: openstack-cinder
+      - id: jolt
         http: false
         passive: false
-      - id: openstack-nova
+      javaTypes:
+      - org.apache.camel.component.jolt.JoltComponent
+    camel-quarkus-netty:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-netty
+      schemes:
+      - id: netty
         http: false
         passive: false
-      - id: openstack-glance
+      javaTypes:
+      - org.apache.camel.component.netty.NettyComponent
+    camel-quarkus-micrometer:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-micrometer
+      schemes:
+      - id: micrometer
         http: false
         passive: false
-      - id: openstack-swift
+      javaTypes:
+      - org.apache.camel.component.micrometer.MicrometerComponent
+    camel-quarkus-elsql:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-elsql
+      schemes:
+      - id: elsql
         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:
+      - org.apache.camel.component.elsql.ElsqlComponent
+    camel-quarkus-cbor:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-barcode
+      artifactId: camel-quarkus-cbor
       dataformats:
-      - barcode
+      - cbor
       javaTypes:
-      - org.apache.camel.dataformat.barcode.BarcodeDataFormat
-    camel-quarkus-snmp:
+      - org.apache.camel.component.cbor.CBORDataFormat
+    camel-quarkus-mybatis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-snmp
+      artifactId: camel-quarkus-mybatis
       schemes:
-      - id: snmp
+      - id: mybatis
         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: mybatis-bean
         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.mybatis.MyBatisBeanComponent
+      - org.apache.camel.component.mybatis.MyBatisComponent
+    camel-quarkus-file:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-file
       schemes:
-      - id: master
+      - id: file
         http: false
         passive: false
-    camel-quarkus-master:
+      javaTypes:
+      - org.apache.camel.component.file.FileComponent
+    camel-quarkus-robotframework:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-master
+      artifactId: camel-quarkus-robotframework
       schemes:
-      - id: master
+      - id: robotframework
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.master.MasterComponent
-    camel-quarkus-mustache:
+      - org.apache.camel.component.robotframework.RobotFrameworkComponent
+    camel-quarkus-file-watch:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mustache
+      artifactId: camel-quarkus-file-watch
       schemes:
-      - id: mustache
+      - id: file-watch
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mustache.MustacheComponent
-    camel-quarkus-djl:
+      - org.apache.camel.component.file.watch.FileWatchComponent
+    camel-quarkus-rest-openapi:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-djl
+      artifactId: camel-quarkus-rest-openapi
       schemes:
-      - id: djl
+      - id: rest-openapi
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.djl.DJLComponent
-    camel-quarkus-bonita:
+      - org.apache.camel.component.rest.openapi.RestOpenApiComponent
+    camel-quarkus-jclouds:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bonita
+      artifactId: camel-quarkus-jclouds
       schemes:
-      - id: bonita
+      - id: jclouds
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.bonita.BonitaComponent
-    camel-quarkus-nagios:
+      - org.apache.camel.component.jclouds.JcloudsComponent
+    camel-quarkus-quickfix:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nagios
+      artifactId: camel-quarkus-quickfix
       schemes:
-      - id: nagios
+      - id: quickfix
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nagios.NagiosComponent
-    camel-quarkus-crypto:
+      - org.apache.camel.component.quickfixj.QuickfixjComponent
+    camel-quarkus-solr:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-crypto
+      artifactId: camel-quarkus-solr
       schemes:
-      - id: crypto
+      - id: solr
         http: false
         passive: false
+      - id: solrs
+        http: false
+        passive: false
+      - id: solrCloud
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.solr.SolrComponent
+    camel-quarkus-johnzon:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-johnzon
       dataformats:
-      - pgp
-      - crypto
+      - json-johnzon
       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.johnzon.JohnzonDataFormat
+    camel-quarkus-fop:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cm-sms
+      artifactId: camel-quarkus-fop
       schemes:
-      - id: cm-sms
+      - id: fop
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cm.CMComponent
-    camel-quarkus-aws2-athena:
+      - org.apache.camel.component.fop.FopComponent
+    camel-quarkus-saga:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-athena
+      artifactId: camel-quarkus-saga
       schemes:
-      - id: aws2-athena
+      - id: saga
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.athena.Athena2Component
-    camel-quarkus-kubernetes:
+      - org.apache.camel.component.saga.SagaComponent
+    camel-quarkus-beanstalk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-kubernetes
+      artifactId: camel-quarkus-beanstalk
       schemes:
-      - id: kubernetes-persistent-volumes-claims
+      - id: beanstalk
         http: false
         passive: false
-      - id: kubernetes-deployments
+      javaTypes:
+      - org.apache.camel.component.beanstalk.BeanstalkComponent
+    camel-quarkus-xslt:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-xslt
+      schemes:
+      - id: xslt
         http: false
         passive: false
-      - id: kubernetes-hpa
+      javaTypes:
+      - org.apache.camel.component.xslt.XsltComponent
+    camel-quarkus-rest:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-rest
+      schemes:
+      - id: rest-api
         http: false
         passive: false
-      - id: kubernetes-nodes
-        http: false
+      - id: rest
+        http: true
         passive: false
-      - id: kubernetes-namespaces
+      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:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-xmlsecurity
+      schemes:
+      - id: xmlsecurity-sign
         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
-        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
-      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:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pdf
-      schemes:
-      - id: pdf
+      - id: xmlsecurity-verify
         http: false
         passive: false
+      dataformats:
+      - secureXML
       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.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-aws2-lambda
+      artifactId: camel-quarkus-azure
       schemes:
-      - id: aws2-lambda
+      - id: azure-queue
         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
+      - id: azure-blob
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stringtemplate.StringTemplateComponent
-    camel-quarkus-stomp:
+      - 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-stomp
+      artifactId: camel-quarkus-aws-translate
       schemes:
-      - id: stomp
+      - id: aws-translate
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stomp.StompComponent
-    camel-quarkus-google-sheets:
+      - org.apache.camel.component.aws.translate.TranslateComponent
+    camel-quarkus-chatscript:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-sheets
+      artifactId: camel-quarkus-chatscript
       schemes:
-      - id: google-sheets
-        http: false
-        passive: false
-      - id: google-sheets-stream
+      - id: chatscript
         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.chatscript.ChatScriptComponent
+    camel-quarkus-rabbitmq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ftp
+      artifactId: camel-quarkus-rabbitmq
       schemes:
-      - id: sftp
-        http: false
-        passive: false
-      - id: ftps
-        http: false
-        passive: false
-      - id: ftp
+      - id: rabbitmq
         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:
+      - org.apache.camel.component.rabbitmq.RabbitMQComponent
+    camel-quarkus-reactive-streams:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-printer
+      artifactId: camel-quarkus-reactive-streams
       schemes:
-      - id: lpr
+      - id: reactive-streams
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.printer.PrinterComponent
-    camel-quarkus-google-pubsub:
+      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
+    camel-quarkus-azure-storage-queue:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-pubsub
+      artifactId: camel-quarkus-azure-storage-queue
       schemes:
-      - id: google-pubsub
+      - id: azure-storage-queue
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.pubsub.GooglePubsubComponent
-    camel-quarkus-cmis:
+      - org.apache.camel.component.azure.storage.queue.QueueComponent
+    camel-quarkus-cron:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cmis
+      artifactId: camel-quarkus-cron
       schemes:
-      - id: cmis
+      - id: cron
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cmis.CMISComponent
-    camel-quarkus-aws2-ses:
+      - org.apache.camel.component.cron.CronComponent
+    camel-quarkus-mongodb-gridfs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ses
+      artifactId: camel-quarkus-mongodb-gridfs
       schemes:
-      - id: aws2-ses
+      - id: mongodb-gridfs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.ses.Ses2Component
-    camel-quarkus-hazelcast:
+      - org.apache.camel.component.mongodb.gridfs.GridFsComponent
+    camel-quarkus-ignite:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hazelcast
+      artifactId: camel-quarkus-ignite
       schemes:
-      - id: hazelcast-topic
-        http: false
-        passive: false
-      - id: hazelcast-multimap
+      - id: ignite-set
         http: false
         passive: false
-      - id: hazelcast-seda
+      - id: ignite-queue
         http: false
         passive: false
-      - id: hazelcast-map
+      - id: ignite-events
         http: false
         passive: false
-      - id: hazelcast-set
+      - id: ignite-messaging
         http: false
         passive: false
-      - id: hazelcast-queue
+      - id: ignite-compute
         http: false
         passive: false
-      - id: hazelcast-list
+      - id: ignite-cache
         http: false
         passive: false
-      - id: hazelcast-instance
+      - id: ignite-idgen
         http: false
         passive: false
-      - id: hazelcast-ringbuffer
+      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:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-web3j
+      schemes:
+      - id: web3j
         http: false
         passive: false
-      - id: hazelcast-atomicvalue
+      javaTypes:
+      - org.apache.camel.component.web3j.Web3jComponent
+    camel-quarkus-aws-ec2:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-ec2
+      schemes:
+      - id: aws-ec2
         http: false
         passive: false
-      - id: hazelcast-replicatedmap
+      javaTypes:
+      - org.apache.camel.component.aws.ec2.EC2Component
+    camel-quarkus-ldif:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-ldif
+      schemes:
+      - id: ldif
         http: false
         passive: false
       javaTypes:
-      - 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
-      - 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
-    camel-quarkus-box:
+      - org.apache.camel.component.ldif.LdifComponent
+    camel-quarkus-xml-jaxp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-box
+      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: box
+      - id: corda
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.box.BoxComponent
-    camel-quarkus-wordpress:
+      - org.apache.camel.component.corda.CordaComponent
+    camel-quarkus-github:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-wordpress
+      artifactId: camel-quarkus-github
       schemes:
-      - id: wordpress
+      - id: github
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.wordpress.WordpressComponent
-    camel-quarkus-vertx-http:
+      - org.apache.camel.component.github.GitHubComponent
+    camel-quarkus-aws2-eventbridge:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vertx-http
+      artifactId: camel-quarkus-aws2-eventbridge
       schemes:
-      - id: vertx-http
+      - id: aws2-eventbridge
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.vertx.http.VertxHttpComponent
-    camel-quarkus-aws2-translate:
+      - org.apache.camel.component.aws2.eventbridge.EventbridgeComponent
+    camel-quarkus-xmpp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-translate
+      artifactId: camel-quarkus-xmpp
       schemes:
-      - id: aws2-translate
+      - id: xmpp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.translate.Translate2Component
-    camel-quarkus-ahc-ws:
+      - org.apache.camel.component.xmpp.XmppComponent
+    camel-quarkus-aws-lambda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ahc-ws
+      artifactId: camel-quarkus-aws-lambda
       schemes:
-      - id: ahc-ws
-        http: true
-        passive: false
-      - id: ahc-wss
+      - id: aws-lambda
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ahc.ws.WsComponent
-    camel-quarkus-mllp:
+      - org.apache.camel.component.aws.lambda.LambdaComponent
+    camel-quarkus-minio:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mllp
+      artifactId: camel-quarkus-minio
       schemes:
-      - id: mllp
+      - id: minio
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mllp.MllpComponent
-    camel-quarkus-irc:
+      - org.apache.camel.component.minio.MinioComponent
+    camel-quarkus-atlasmap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-irc
+      artifactId: camel-quarkus-atlasmap
       schemes:
-      - id: irc
+      - id: atlasmap
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.irc.IrcComponent
-    camel-quarkus-jsch:
+      - org.apache.camel.component.atlasmap.AtlasMapComponent
+    camel-quarkus-aws2-sts:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsch
+      artifactId: camel-quarkus-aws2-sts
       schemes:
-      - id: scp
+      - id: aws2-sts
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.scp.ScpComponent
-    camel-quarkus-beanio:
+      - org.apache.camel.component.aws2.sts.STS2Component
+    camel-quarkus-tarfile:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-beanio
+      artifactId: camel-quarkus-tarfile
       dataformats:
-      - beanio
+      - tarfile
       javaTypes:
-      - org.apache.camel.dataformat.beanio.BeanIODataFormat
-    camel-quarkus-aws2-mq:
+      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
+    camel-quarkus-avro:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-mq
-      schemes:
-      - id: aws2-mq
-        http: false
-        passive: false
+      artifactId: camel-quarkus-avro
+      dataformats:
+      - avro
       javaTypes:
-      - org.apache.camel.component.aws2.mq.MQ2Component
-    camel-quarkus-coap:
+      - org.apache.camel.dataformat.avro.AvroDataFormat
+    camel-quarkus-msv:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-coap
+      artifactId: camel-quarkus-msv
       schemes:
-      - id: coap
-        http: false
-        passive: false
-      - id: coap+tcp
-        http: false
-        passive: false
-      - id: coaps
-        http: false
-        passive: false
-      - id: coaps+tcp
+      - id: msv
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.coap.CoAPComponent
-    camel-quarkus-tika:
+      - org.apache.camel.component.validator.msv.MsvComponent
+    camel-quarkus-spark:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tika
+      artifactId: camel-quarkus-spark
       schemes:
-      - id: tika
+      - id: spark
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.tika.TikaComponent
-    camel-quarkus-ssh:
+      - org.apache.camel.component.spark.SparkComponent
+    camel-quarkus-saxon:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ssh
+      artifactId: camel-quarkus-saxon
       schemes:
-      - id: ssh
+      - id: xquery
         http: false
         passive: false
+      languages:
+      - xquery
       javaTypes:
-      - org.apache.camel.component.ssh.SshComponent
-    camel-quarkus-xslt-saxon:
+      - org.apache.camel.component.xquery.XQueryComponent
+      - org.apache.camel.language.xquery.XQueryLanguage
+    camel-quarkus-caffeine:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xslt-saxon
+      artifactId: camel-quarkus-caffeine
       schemes:
-      - id: xslt-saxon
+      - id: caffeine-loadcache
+        http: false
+        passive: false
+      - id: caffeine-cache
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xslt.saxon.XsltSaxonComponent
-    camel-quarkus-kafka:
+      - 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-kafka
+      artifactId: camel-quarkus-elasticsearch-rest
       schemes:
-      - id: kafka
+      - id: elasticsearch-rest
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.kafka.KafkaComponent
-    camel-quarkus-stream:
+      - org.apache.camel.component.elasticsearch.ElasticsearchComponent
+    camel-quarkus-bean-validator:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stream
+      artifactId: camel-quarkus-bean-validator
       schemes:
-      - id: stream
+      - id: bean-validator
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stream.StreamComponent
-    camel-quarkus-browse:
+      - org.apache.camel.component.bean.validator.BeanValidatorComponent
+    camel-quarkus-jira:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-browse
+      artifactId: camel-quarkus-jira
       schemes:
-      - id: browse
+      - id: jira
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.browse.BrowseComponent
-    camel-quarkus-avro-rpc:
+      - org.apache.camel.component.jira.JiraComponent
+    camel-quarkus-sql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-avro-rpc
+      artifactId: camel-quarkus-sql
       schemes:
-      - id: avro
+      - id: sql
+        http: false
+        passive: false
+      - id: sql-stored
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.avro.AvroComponent
-    camel-quarkus-google-calendar:
+      - org.apache.camel.component.sql.stored.SqlStoredComponent
+      - org.apache.camel.component.sql.SqlComponent
+    camel-quarkus-ehcache:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-calendar
+      artifactId: camel-quarkus-ehcache
       schemes:
-      - id: google-calendar-stream
-        http: false
-        passive: false
-      - id: google-calendar
+      - id: ehcache
         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.ehcache.EhcacheComponent
+    camel-quarkus-aws2-iam:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vertx-websocket
+      artifactId: camel-quarkus-aws2-iam
       schemes:
-      - id: vertx-websocket
+      - id: aws2-iam
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.vertx.websocket.VertxWebsocketComponent
-    camel-quarkus-jcache:
+      - org.apache.camel.component.aws2.iam.IAM2Component
+    camel-quarkus-velocity:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jcache
+      artifactId: camel-quarkus-velocity
       schemes:
-      - id: jcache
+      - id: velocity
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jcache.JCacheComponent
-    camel-quarkus-salesforce:
+      - org.apache.camel.component.velocity.VelocityComponent
+    camel-quarkus-core:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-core
+      languages:
+      - ref
+      - constant
+      - csimple
+      - exchangeProperty
+      - tokenize
+      - file
+      - header
+      - simple
+      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:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-salesforce
+      artifactId: camel-quarkus-debezium-mysql
       schemes:
-      - id: salesforce
+      - id: debezium-mysql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.salesforce.SalesforceComponent
-    camel-quarkus-jbpm:
+      - org.apache.camel.component.debezium.DebeziumMySqlComponent
+    camel-quarkus-jcr:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jbpm
+      artifactId: camel-quarkus-jcr
       schemes:
-      - id: jbpm
+      - id: jcr
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jbpm.JBPMComponent
-    camel-quarkus-aws-ecs:
+      - org.apache.camel.component.jcr.JcrComponent
+    camel-quarkus-hdfs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-ecs
+      artifactId: camel-quarkus-hdfs
       schemes:
-      - id: aws-ecs
+      - id: hdfs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.ecs.ECSComponent
-    camel-quarkus-splunk-hec:
+      - org.apache.camel.component.hdfs.HdfsComponent
+    camel-quarkus-kudu:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-splunk-hec
+      artifactId: camel-quarkus-kudu
       schemes:
-      - id: splunk-hec
+      - id: kudu
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.splunkhec.SplunkHECComponent
-    camel-quarkus-lucene:
+      - org.apache.camel.component.kudu.KuduComponent
+    camel-quarkus-jooq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-lucene
+      artifactId: camel-quarkus-jooq
       schemes:
-      - id: lucene
+      - id: jooq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.lucene.LuceneComponent
-    camel-quarkus-aws2-kms:
+      - org.apache.camel.component.jooq.JooqComponent
+    camel-quarkus-jsonpath:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-kms
-      schemes:
-      - id: aws2-kms
-        http: false
-        passive: false
+      artifactId: camel-quarkus-jsonpath
+      languages:
+      - jsonpath
       javaTypes:
-      - org.apache.camel.component.aws2.kms.KMS2Component
-    camel-quarkus-csv:
+      - org.apache.camel.jsonpath.JsonPathLanguage
+    camel-quarkus-hl7:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-csv
+      artifactId: camel-quarkus-hl7
+      languages:
+      - hl7terser
       dataformats:
-      - csv
+      - hl7
       javaTypes:
-      - org.apache.camel.dataformat.csv.CsvDataFormat
-    camel-quarkus-fhir:
+      - org.apache.camel.component.hl7.Hl7TerserLanguage
+      - org.apache.camel.component.hl7.HL7DataFormat
+    camel-quarkus-disruptor:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fhir
+      artifactId: camel-quarkus-disruptor
       schemes:
-      - id: fhir
+      - id: disruptor
+        http: false
+        passive: false
+      - id: disruptor-vm
         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.disruptor.vm.DisruptorVmComponent
+      - org.apache.camel.component.disruptor.DisruptorComponent
+    camel-quarkus-graphql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atomix
+      artifactId: camel-quarkus-graphql
       schemes:
-      - 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
-      - id: atomix-value
+      - id: graphql
         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.graphql.GraphqlComponent
+    camel-quarkus-log:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-milo
+      artifactId: camel-quarkus-log
       schemes:
-      - id: milo-client
-        http: false
-        passive: false
-      - id: milo-server
+      - id: log
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.milo.server.MiloServerComponent
-      - org.apache.camel.component.milo.client.MiloClientComponent
+      - org.apache.camel.component.log.LogComponent
     camel-quarkus-ahc:
       groupId: org.apache.camel.quarkus
       artifactId: camel-quarkus-ahc
@@ -1043,1435 +979,1408 @@ spec:
         passive: false
       javaTypes:
       - org.apache.camel.component.ahc.AhcComponent
-    camel-quarkus-log:
+    camel-quarkus-milo:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-log
+      artifactId: camel-quarkus-milo
       schemes:
-      - id: log
+      - id: milo-server
         http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.log.LogComponent
-    camel-quarkus-graphql:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-graphql
-      schemes:
-      - id: graphql
+        passive: false
+      - id: milo-client
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.graphql.GraphqlComponent
-    camel-quarkus-disruptor:
+      - 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-disruptor
+      artifactId: camel-quarkus-atomix
       schemes:
-      - id: disruptor-vm
+      - id: atomix-map
         http: false
         passive: false
-      - id: disruptor
+      - id: atomix-queue
         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:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jooq
-      schemes:
-      - id: jooq
+      - id: atomix-set
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.jooq.JooqComponent
-    camel-quarkus-kudu:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-kudu
-      schemes:
-      - id: kudu
+      - id: atomix-messaging
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.kudu.KuduComponent
-    camel-quarkus-hdfs:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hdfs
-      schemes:
-      - id: hdfs
+      - id: atomix-value
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.hdfs.HdfsComponent
-    camel-quarkus-jcr:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jcr
-      schemes:
-      - id: jcr
+      - id: atomix-multimap
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jcr.JcrComponent
-    camel-quarkus-debezium-mysql:
+      - 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-debezium-mysql
+      artifactId: camel-quarkus-fhir
       schemes:
-      - id: debezium-mysql
+      - id: fhir
         http: false
         passive: false
+      dataformats:
+      - fhirXml
+      - fhirJson
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMySqlComponent
-    camel-quarkus-core:
+      - 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-core
-      languages:
-      - exchangeProperty
-      - csimple
-      - constant
-      - ref
-      - simple
-      - header
-      - file
-      - tokenize
+      artifactId: camel-quarkus-csv
+      dataformats:
+      - csv
       javaTypes:
-      - org.apache.camel.language.ref.RefLanguage
-      - org.apache.camel.language.tokenizer.TokenizeLanguage
-      - 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
-    camel-quarkus-velocity:
+      - org.apache.camel.dataformat.csv.CsvDataFormat
+    camel-quarkus-aws2-kms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-velocity
+      artifactId: camel-quarkus-aws2-kms
       schemes:
-      - id: velocity
+      - id: aws2-kms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.velocity.VelocityComponent
-    camel-quarkus-aws2-iam:
+      - org.apache.camel.component.aws2.kms.KMS2Component
+    camel-quarkus-lucene:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-iam
+      artifactId: camel-quarkus-lucene
       schemes:
-      - id: aws2-iam
+      - id: lucene
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.iam.IAM2Component
-    camel-quarkus-ehcache:
+      - org.apache.camel.component.lucene.LuceneComponent
+    camel-quarkus-splunk-hec:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ehcache
+      artifactId: camel-quarkus-splunk-hec
       schemes:
-      - id: ehcache
+      - id: splunk-hec
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ehcache.EhcacheComponent
-    camel-quarkus-sql:
+      - org.apache.camel.component.splunkhec.SplunkHECComponent
+    camel-quarkus-aws-ecs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sql
+      artifactId: camel-quarkus-aws-ecs
       schemes:
-      - id: sql-stored
+      - id: aws-ecs
         http: false
         passive: false
-      - id: sql
+      javaTypes:
+      - org.apache.camel.component.aws.ecs.ECSComponent
+    camel-quarkus-jbpm:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jbpm
+      schemes:
+      - id: jbpm
         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.jbpm.JBPMComponent
+    camel-quarkus-salesforce:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jira
+      artifactId: camel-quarkus-salesforce
       schemes:
-      - id: jira
+      - id: salesforce
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jira.JiraComponent
-    camel-quarkus-bean-validator:
+      - org.apache.camel.component.salesforce.SalesforceComponent
+    camel-quarkus-jcache:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bean-validator
+      artifactId: camel-quarkus-jcache
       schemes:
-      - id: bean-validator
+      - id: jcache
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.bean.validator.BeanValidatorComponent
-    camel-quarkus-elasticsearch-rest:
+      - org.apache.camel.component.jcache.JCacheComponent
+    camel-quarkus-vertx-websocket:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-elasticsearch-rest
+      artifactId: camel-quarkus-vertx-websocket
       schemes:
-      - id: elasticsearch-rest
+      - id: vertx-websocket
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.elasticsearch.ElasticsearchComponent
-    camel-quarkus-caffeine:
+      - org.apache.camel.component.vertx.websocket.VertxWebsocketComponent
+    camel-quarkus-google-calendar:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-caffeine
+      artifactId: camel-quarkus-google-calendar
       schemes:
-      - id: caffeine-cache
+      - id: google-calendar
         http: false
         passive: false
-      - id: caffeine-loadcache
+      - id: google-calendar-stream
         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.calendar.stream.GoogleCalendarStreamComponent
+      - org.apache.camel.component.google.calendar.GoogleCalendarComponent
+    camel-quarkus-avro-rpc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-saxon
+      artifactId: camel-quarkus-avro-rpc
       schemes:
-      - id: xquery
+      - id: avro
         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.avro.AvroComponent
+    camel-quarkus-browse:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-spark
+      artifactId: camel-quarkus-browse
       schemes:
-      - id: spark
+      - id: browse
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.spark.SparkComponent
-    camel-quarkus-msv:
+      - org.apache.camel.component.browse.BrowseComponent
+    camel-quarkus-stream:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-msv
+      artifactId: camel-quarkus-stream
       schemes:
-      - id: msv
+      - id: stream
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.validator.msv.MsvComponent
-    camel-quarkus-avro:
+      - org.apache.camel.component.stream.StreamComponent
+    camel-quarkus-kafka:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-avro
-      dataformats:
-      - avro
+      artifactId: camel-quarkus-kafka
+      schemes:
+      - id: kafka
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.dataformat.avro.AvroDataFormat
-    camel-quarkus-tarfile:
+      - org.apache.camel.component.kafka.KafkaComponent
+    camel-quarkus-xslt-saxon:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tarfile
-      dataformats:
-      - tarfile
+      artifactId: camel-quarkus-xslt-saxon
+      schemes:
+      - id: xslt-saxon
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
-    camel-quarkus-aws2-sts:
+      - org.apache.camel.component.xslt.saxon.XsltSaxonComponent
+    camel-quarkus-ssh:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-sts
+      artifactId: camel-quarkus-ssh
       schemes:
-      - id: aws2-sts
+      - id: ssh
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.sts.STS2Component
-    camel-quarkus-atlasmap:
+      - org.apache.camel.component.ssh.SshComponent
+    camel-quarkus-tika:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atlasmap
+      artifactId: camel-quarkus-tika
       schemes:
-      - id: atlasmap
+      - id: tika
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.atlasmap.AtlasMapComponent
-    camel-quarkus-minio:
+      - org.apache.camel.component.tika.TikaComponent
+    camel-quarkus-coap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-minio
+      artifactId: camel-quarkus-coap
       schemes:
-      - id: minio
+      - id: coaps+tcp
+        http: false
+        passive: false
+      - id: coaps
+        http: false
+        passive: false
+      - id: coap+tcp
+        http: false
+        passive: false
+      - id: coap
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.minio.MinioComponent
-    camel-quarkus-aws-lambda:
+      - org.apache.camel.coap.CoAPComponent
+    camel-quarkus-aws2-mq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-lambda
+      artifactId: camel-quarkus-aws2-mq
       schemes:
-      - id: aws-lambda
+      - id: aws2-mq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.lambda.LambdaComponent
-    camel-quarkus-xmpp:
+      - org.apache.camel.component.aws2.mq.MQ2Component
+    camel-quarkus-beanio:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xmpp
+      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: xmpp
+      - id: scp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xmpp.XmppComponent
-    camel-quarkus-aws2-eventbridge:
+      - org.apache.camel.component.scp.ScpComponent
+    camel-quarkus-irc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-eventbridge
+      artifactId: camel-quarkus-irc
       schemes:
-      - id: aws2-eventbridge
+      - id: irc
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.eventbridge.EventbridgeComponent
-    camel-quarkus-github:
+      - org.apache.camel.component.irc.IrcComponent
+    camel-quarkus-mllp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-github
+      artifactId: camel-quarkus-mllp
       schemes:
-      - id: github
+      - id: mllp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.github.GitHubComponent
-    camel-quarkus-corda:
+      - org.apache.camel.component.mllp.MllpComponent
+    camel-quarkus-ahc-ws:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-corda
+      artifactId: camel-quarkus-ahc-ws
       schemes:
-      - id: corda
+      - id: ahc-wss
         http: false
         passive: false
+      - id: ahc-ws
+        http: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.corda.CordaComponent
-    camel-quarkus-xml-jaxp:
+      - org.apache.camel.component.ahc.ws.WsComponent
+    camel-quarkus-aws2-translate:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xml-jaxp
-      languages:
-      - xtokenize
+      artifactId: camel-quarkus-aws2-translate
+      schemes:
+      - id: aws2-translate
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.language.xtokenizer.XMLTokenizeLanguage
-    camel-quarkus-ldif:
+      - org.apache.camel.component.aws2.translate.Translate2Component
+    camel-quarkus-vertx-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ldif
+      artifactId: camel-quarkus-vertx-http
       schemes:
-      - id: ldif
+      - id: vertx-http
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ldif.LdifComponent
-    camel-quarkus-aws-ec2:
+      - org.apache.camel.component.vertx.http.VertxHttpComponent
+    camel-quarkus-wordpress:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-ec2
+      artifactId: camel-quarkus-wordpress
       schemes:
-      - id: aws-ec2
+      - id: wordpress
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.ec2.EC2Component
-    camel-quarkus-web3j:
+      - org.apache.camel.component.wordpress.WordpressComponent
+    camel-quarkus-box:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-web3j
+      artifactId: camel-quarkus-box
       schemes:
-      - id: web3j
+      - id: box
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.web3j.Web3jComponent
-    camel-quarkus-ignite:
+      - org.apache.camel.component.box.BoxComponent
+    camel-quarkus-hazelcast:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ignite
+      artifactId: camel-quarkus-hazelcast
       schemes:
-      - id: ignite-cache
+      - id: hazelcast-multimap
         http: false
         passive: false
-      - id: ignite-compute
+      - 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: ignite-messaging
+      - id: hazelcast-list
         http: false
         passive: false
-      - id: ignite-events
+      - id: hazelcast-queue
         http: false
         passive: false
-      - id: ignite-queue
+      - id: hazelcast-set
         http: false
         passive: false
-      - id: ignite-set
+      - id: hazelcast-map
         http: false
         passive: false
-      - id: ignite-idgen
+      - id: hazelcast-seda
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ignite.events.IgniteEventsComponent
-      - org.apache.camel.component.ignite.cache.IgniteCacheComponent
-      - 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
-    camel-quarkus-mongodb-gridfs:
+      - 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-mongodb-gridfs
+      artifactId: camel-quarkus-aws2-ses
       schemes:
-      - id: mongodb-gridfs
+      - id: aws2-ses
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mongodb.gridfs.GridFsComponent
-    camel-quarkus-cron:
+      - org.apache.camel.component.aws2.ses.Ses2Component
+    camel-quarkus-cmis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cron
+      artifactId: camel-quarkus-cmis
       schemes:
-      - id: cron
+      - id: cmis
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cron.CronComponent
-    camel-quarkus-azure-storage-queue:
+      - org.apache.camel.component.cmis.CMISComponent
+    camel-quarkus-google-pubsub:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-azure-storage-queue
+      artifactId: camel-quarkus-google-pubsub
       schemes:
-      - id: azure-storage-queue
+      - id: google-pubsub
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.azure.storage.queue.QueueComponent
-    camel-quarkus-reactive-streams:
+      - org.apache.camel.component.google.pubsub.GooglePubsubComponent
+    camel-quarkus-printer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-reactive-streams
+      artifactId: camel-quarkus-printer
       schemes:
-      - id: reactive-streams
+      - id: lpr
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
-    camel-quarkus-rabbitmq:
+      - org.apache.camel.component.printer.PrinterComponent
+    camel-quarkus-jackson:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rabbitmq
-      schemes:
-      - id: rabbitmq
-        http: false
-        passive: false
+      artifactId: camel-quarkus-jackson
+      dataformats:
+      - json-jackson
       javaTypes:
-      - org.apache.camel.component.rabbitmq.RabbitMQComponent
-    camel-quarkus-chatscript:
+      - org.apache.camel.component.jackson.JacksonDataFormat
+    camel-quarkus-validator:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-chatscript
+      artifactId: camel-quarkus-validator
       schemes:
-      - id: chatscript
+      - id: validator
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.chatscript.ChatScriptComponent
-    camel-quarkus-aws-translate:
+      - org.apache.camel.component.validator.ValidatorComponent
+    camel-quarkus-ftp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-translate
+      artifactId: camel-quarkus-ftp
       schemes:
-      - id: aws-translate
+      - id: ftp
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.translate.TranslateComponent
-    camel-quarkus-azure:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-azure
-      schemes:
-      - id: azure-blob
+      - id: ftps
         http: false
         passive: false
-      - id: azure-queue
+      - id: sftp
         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.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-xmlsecurity
+      artifactId: camel-quarkus-google-sheets
       schemes:
-      - id: xmlsecurity-verify
+      - id: google-sheets-stream
         http: false
         passive: false
-      - id: xmlsecurity-sign
+      - id: google-sheets
         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:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-groovy
-      languages:
-      - groovy
       javaTypes:
-      - org.apache.camel.language.groovy.GroovyLanguage
-    camel-quarkus-rest:
+      - 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-rest
+      artifactId: camel-quarkus-stomp
       schemes:
-      - id: rest
-        http: true
-        passive: false
-      - id: rest-api
+      - id: stomp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.rest.RestComponent
-      - org.apache.camel.component.rest.RestApiComponent
-    camel-quarkus-xslt:
+      - org.apache.camel.component.stomp.StompComponent
+    camel-quarkus-stringtemplate:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xslt
+      artifactId: camel-quarkus-stringtemplate
       schemes:
-      - id: xslt
+      - id: string-template
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xslt.XsltComponent
-    camel-quarkus-beanstalk:
+      - org.apache.camel.component.stringtemplate.StringTemplateComponent
+    camel-quarkus-aws2-lambda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-beanstalk
+      artifactId: camel-quarkus-aws2-lambda
       schemes:
-      - id: beanstalk
+      - id: aws2-lambda
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.beanstalk.BeanstalkComponent
-    camel-quarkus-saga:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-saga
+      - org.apache.camel.component.aws2.lambda.Lambda2Component
+    camel-k-cron:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-cron
       schemes:
-      - id: saga
+      - id: cron
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.saga.SagaComponent
-    camel-quarkus-fop:
+    camel-quarkus-pdf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fop
+      artifactId: camel-quarkus-pdf
       schemes:
-      - id: fop
+      - id: pdf
         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:
+      - org.apache.camel.component.pdf.PdfComponent
+    camel-quarkus-kubernetes:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-solr
+      artifactId: camel-quarkus-kubernetes
       schemes:
-      - id: solrCloud
+      - id: openshift-builds
         http: false
         passive: false
-      - id: solrs
+      - id: kubernetes-custom-resources
         http: false
         passive: false
-      - id: solr
+      - id: kubernetes-namespaces
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.solr.SolrComponent
-    camel-quarkus-quickfix:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-quickfix
-      schemes:
-      - id: quickfix
+      - id: kubernetes-nodes
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.quickfixj.QuickfixjComponent
-    camel-quarkus-jclouds:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jclouds
-      schemes:
-      - id: jclouds
+      - id: kubernetes-hpa
+        http: false
+        passive: false
+      - id: kubernetes-deployments
+        http: false
+        passive: false
+      - id: kubernetes-persistent-volumes-claims
+        http: false
+        passive: false
+      - id: kubernetes-pods
+        http: false
+        passive: false
+      - id: kubernetes-config-maps
+        http: false
+        passive: false
+      - id: kubernetes-persistent-volumes
+        http: false
+        passive: false
+      - id: kubernetes-services
+        http: false
+        passive: false
+      - id: kubernetes-secrets
+        http: false
+        passive: false
+      - id: kubernetes-service-accounts
+        http: false
+        passive: false
+      - id: openshift-build-configs
+        http: false
+        passive: false
+      - id: kubernetes-job
+        http: false
+        passive: false
+      - id: kubernetes-replication-controllers
+        http: false
+        passive: false
+      - id: kubernetes-resources-quota
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jclouds.JcloudsComponent
-    camel-quarkus-rest-openapi:
+      - 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-rest-openapi
+      artifactId: camel-quarkus-aws2-athena
       schemes:
-      - id: rest-openapi
+      - id: aws2-athena
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.rest.openapi.RestOpenApiComponent
-    camel-quarkus-file-watch:
+      - org.apache.camel.component.aws2.athena.Athena2Component
+    camel-quarkus-cm-sms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-file-watch
+      artifactId: camel-quarkus-cm-sms
       schemes:
-      - id: file-watch
+      - id: cm-sms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.file.watch.FileWatchComponent
-    camel-quarkus-robotframework:
+      - org.apache.camel.component.cm.CMComponent
+    camel-quarkus-crypto:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-robotframework
+      artifactId: camel-quarkus-crypto
       schemes:
-      - id: robotframework
+      - id: crypto
         http: false
         passive: false
+      dataformats:
+      - crypto
+      - pgp
       javaTypes:
-      - org.apache.camel.component.robotframework.RobotFrameworkComponent
-    camel-quarkus-file:
+      - 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-file
+      artifactId: camel-quarkus-nagios
       schemes:
-      - id: file
+      - id: nagios
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.file.FileComponent
-    camel-quarkus-mybatis:
+      - org.apache.camel.component.nagios.NagiosComponent
+    camel-quarkus-bonita:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mybatis
+      artifactId: camel-quarkus-bonita
       schemes:
-      - id: mybatis-bean
-        http: false
-        passive: false
-      - id: mybatis
+      - id: bonita
         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.bonita.BonitaComponent
+    camel-quarkus-djl:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-elsql
+      artifactId: camel-quarkus-djl
       schemes:
-      - id: elsql
+      - id: djl
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.elsql.ElsqlComponent
-    camel-quarkus-micrometer:
+      - org.apache.camel.component.djl.DJLComponent
+    camel-quarkus-mustache:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-micrometer
+      artifactId: camel-quarkus-mustache
       schemes:
-      - id: micrometer
+      - id: mustache
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.micrometer.MicrometerComponent
-    camel-quarkus-netty:
+      - org.apache.camel.component.mustache.MustacheComponent
+    camel-quarkus-master:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-netty
+      artifactId: camel-quarkus-master
       schemes:
-      - id: netty
+      - id: master
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.netty.NettyComponent
-    camel-quarkus-jolt:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jolt
+      - org.apache.camel.component.master.MasterComponent
+    camel-k-master:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-master
       schemes:
-      - id: jolt
+      - id: master
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.jolt.JoltComponent
-    camel-quarkus-http:
+    camel-quarkus-aws2-ec2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-http
+      artifactId: camel-quarkus-aws2-ec2
       schemes:
-      - id: https
-        http: false
-        passive: false
-      - id: http
+      - id: aws2-ec2
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.http.HttpComponent
-    camel-quarkus-telegram:
+      - org.apache.camel.component.aws2.ec2.AWS2EC2Component
+    camel-quarkus-snmp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-telegram
+      artifactId: camel-quarkus-snmp
       schemes:
-      - id: telegram
+      - id: snmp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.telegram.TelegramComponent
-    camel-quarkus-ganglia:
+      - org.apache.camel.component.snmp.SnmpComponent
+    camel-quarkus-barcode:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ganglia
-      schemes:
-      - id: ganglia
-        http: false
-        passive: false
+      artifactId: camel-quarkus-barcode
+      dataformats:
+      - barcode
       javaTypes:
-      - org.apache.camel.component.ganglia.GangliaComponent
-    camel-quarkus-aws2-kinesis:
+      - org.apache.camel.dataformat.barcode.BarcodeDataFormat
+    camel-quarkus-openstack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-kinesis
+      artifactId: camel-quarkus-openstack
       schemes:
-      - id: aws2-kinesis
+      - id: openstack-nova
         http: false
         passive: false
-      - id: aws2-kinesis-firehose
+      - id: openstack-cinder
         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-twitter
-      schemes:
-      - id: twitter-search
+      - id: openstack-keystone
         http: false
         passive: false
-      - id: twitter-timeline
+      - id: openstack-neutron
         http: false
         passive: false
-      - id: twitter-directmessage
+      - id: openstack-swift
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
-      - org.apache.camel.component.twitter.search.TwitterSearchComponent
-      - org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent
-    camel-quarkus-aws-swf:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-swf
-      schemes:
-      - id: aws-swf
+      - id: openstack-glance
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.swf.SWFComponent
-    camel-quarkus-pubnub:
+      - 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:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pubnub
+      artifactId: camel-quarkus-aws-kinesis
       schemes:
-      - id: pubnub
+      - id: aws-kinesis
         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
+      - id: aws-kinesis-firehose
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.stub.StubComponent
-    camel-quarkus-aws2-sqs:
+      - 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-aws2-sqs
+      artifactId: camel-quarkus-git
       schemes:
-      - id: aws2-sqs
+      - id: git
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.sqs.Sqs2Component
-    camel-quarkus-jt400:
+      - org.apache.camel.component.git.GitComponent
+    camel-quarkus-servlet:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jt400
+      artifactId: camel-quarkus-servlet
       schemes:
-      - id: jt400
-        http: false
+      - id: servlet
+        http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.jt400.Jt400Component
-    camel-quarkus-iota:
+      - org.apache.camel.component.servlet.ServletComponent
+    camel-quarkus-freemarker:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-iota
+      artifactId: camel-quarkus-freemarker
       schemes:
-      - id: iota
+      - id: freemarker
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.iota.IOTAComponent
-    camel-quarkus-jsonapi:
+      - org.apache.camel.component.freemarker.FreemarkerComponent
+    camel-quarkus-soap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsonapi
+      artifactId: camel-quarkus-soap
       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: aws2-eks
-        http: false
-        passive: false
+      - soapjaxb
       javaTypes:
-      - org.apache.camel.component.aws2.eks.EKS2Component
-    camel-quarkus-weather:
+      - org.apache.camel.dataformat.soap.SoapJaxbDataFormat
+    camel-quarkus-arangodb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-weather
+      artifactId: camel-quarkus-arangodb
       schemes:
-      - id: weather
+      - id: arangodb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.weather.WeatherComponent
-    camel-quarkus-scheduler:
+      - org.apache.camel.component.arangodb.ArangoDbComponent
+    camel-quarkus-google-mail:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-scheduler
+      artifactId: camel-quarkus-google-mail
       schemes:
-      - id: scheduler
+      - id: google-mail
         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:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jing
-      schemes:
-      - id: jing
+      - id: google-mail-stream
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.validator.jing.JingComponent
-    camel-quarkus-dataformat:
+      - 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-dataformat
+      artifactId: camel-quarkus-websocket-jsr356
       schemes:
-      - id: dataformat
+      - id: websocket-jsr356
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.dataformat.DataFormatComponent
-    camel-quarkus-jgroups:
+      - org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
+    camel-quarkus-lumberjack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jgroups
+      artifactId: camel-quarkus-lumberjack
       schemes:
-      - id: jgroups
+      - id: lumberjack
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jgroups.JGroupsComponent
-    camel-quarkus-yammer:
+      - org.apache.camel.component.lumberjack.LumberjackComponent
+    camel-quarkus-json-validator:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-yammer
+      artifactId: camel-quarkus-json-validator
       schemes:
-      - id: yammer
+      - id: json-validator
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.yammer.YammerComponent
-    camel-quarkus-hbase:
+      - org.apache.camel.component.jsonvalidator.JsonValidatorComponent
+    camel-quarkus-aws2-s3:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hbase
+      artifactId: camel-quarkus-aws2-s3
       schemes:
-      - id: hbase
+      - id: aws2-s3
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.hbase.HBaseComponent
-    camel-quarkus-aws-sdb:
+      - org.apache.camel.component.aws2.s3.AWS2S3Component
+    camel-quarkus-dropbox:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sdb
+      artifactId: camel-quarkus-dropbox
       schemes:
-      - id: aws-sdb
+      - id: dropbox
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.sdb.SdbComponent
-    camel-quarkus-sap-netweaver:
+      - org.apache.camel.component.dropbox.DropboxComponent
+    camel-quarkus-google-bigquery:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sap-netweaver
+      artifactId: camel-quarkus-google-bigquery
       schemes:
-      - id: sap-netweaver
+      - id: google-bigquery
+        http: false
+        passive: false
+      - id: google-bigquery-sql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sap.netweaver.NetWeaverComponent
-    camel-quarkus-servicenow:
+      - 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-servicenow
+      artifactId: camel-quarkus-mail
       schemes:
-      - id: servicenow
+      - id: smtps
+        http: false
+        passive: false
+      - id: pop3
+        http: false
+        passive: false
+      - id: smtp
+        http: false
+        passive: false
+      - id: imaps
+        http: false
+        passive: false
+      - id: imap
+        http: false
+        passive: false
+      - id: pop3s
         http: false
         passive: false
+      dataformats:
+      - mime-multipart
       javaTypes:
-      - org.apache.camel.component.servicenow.ServiceNowComponent
-    camel-quarkus-grpc:
+      - 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-grpc
+      artifactId: camel-quarkus-platform-http
       schemes:
-      - id: grpc
+      - id: platform-http
         http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.grpc.GrpcComponent
-    camel-quarkus-ipfs:
+      - org.apache.camel.component.platform.http.PlatformHttpComponent
+    camel-quarkus-timer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ipfs
+      artifactId: camel-quarkus-timer
       schemes:
-      - id: ipfs
+      - id: timer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ipfs.IPFSComponent
-    camel-quarkus-aws-kms:
+      - org.apache.camel.component.timer.TimerComponent
+    camel-quarkus-digitalocean:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-kms
+      artifactId: camel-quarkus-digitalocean
       schemes:
-      - id: aws-kms
+      - id: digitalocean
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.kms.KMSComponent
-    camel-quarkus-stax:
+      - org.apache.camel.component.digitalocean.DigitalOceanComponent
+    camel-quarkus-couchbase:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stax
+      artifactId: camel-quarkus-couchbase
       schemes:
-      - id: stax
+      - id: couchbase
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stax.StAXComponent
-    camel-quarkus-aws2-msk:
+      - org.apache.camel.component.couchbase.CouchbaseComponent
+    camel-quarkus-aws-sns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-msk
+      artifactId: camel-quarkus-aws-sns
       schemes:
-      - id: aws2-msk
+      - id: aws-sns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.msk.MSK2Component
-    camel-quarkus-debezium-sqlserver:
+      - org.apache.camel.component.aws.sns.SnsComponent
+    camel-quarkus-slack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-sqlserver
+      artifactId: camel-quarkus-slack
       schemes:
-      - id: debezium-sqlserver
+      - id: slack
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumSqlserverComponent
-    camel-quarkus-snakeyaml:
+      - org.apache.camel.component.slack.SlackComponent
+    camel-quarkus-flatpack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-snakeyaml
+      artifactId: camel-quarkus-flatpack
+      schemes:
+      - id: flatpack
+        http: false
+        passive: false
       dataformats:
-      - yaml-snakeyaml
+      - flatpack
       javaTypes:
-      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
-    camel-quarkus-fastjson:
+      - org.apache.camel.component.flatpack.FlatpackComponent
+      - org.apache.camel.dataformat.flatpack.FlatpackDataFormat
+    camel-quarkus-zipfile:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fastjson
+      artifactId: camel-quarkus-zipfile
       dataformats:
-      - json-fastjson
+      - zipfile
       javaTypes:
-      - org.apache.camel.component.fastjson.FastjsonDataFormat
-    camel-quarkus-xj:
+      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
+    camel-quarkus-aws2-ecs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xj
+      artifactId: camel-quarkus-aws2-ecs
       schemes:
-      - id: xj
+      - id: aws2-ecs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xj.XJComponent
-    camel-quarkus-direct:
+      - org.apache.camel.component.aws2.ecs.ECS2Component
+    camel-quarkus-netty-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-direct
+      artifactId: camel-quarkus-netty-http
       schemes:
-      - id: direct
-        http: false
-        passive: true
+      - id: netty-http
+        http: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.direct.DirectComponent
-    camel-quarkus-bean:
+      - org.apache.camel.component.netty.http.NettyHttpComponent
+    camel-quarkus-influxdb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bean
+      artifactId: camel-quarkus-influxdb
       schemes:
-      - id: bean
-        http: false
-        passive: true
-      - id: class
+      - id: influxdb
         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:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-s3
+      - org.apache.camel.component.influxdb.InfluxDbComponent
+    camel-k-kamelet:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-kamelet
       schemes:
-      - id: aws-s3
+      - id: kamelet
         http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.s3.S3Component
-    camel-quarkus-grok:
+        passive: true
+    camel-quarkus-tagsoup:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-grok
+      artifactId: camel-quarkus-tagsoup
       dataformats:
-      - grok
+      - tidyMarkup
       javaTypes:
-      - org.apache.camel.component.grok.GrokDataFormat
-    camel-quarkus-couchdb:
+      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
+    camel-quarkus-protobuf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-couchdb
-      schemes:
-      - id: couchdb
-        http: false
-        passive: false
+      artifactId: camel-quarkus-protobuf
+      dataformats:
+      - protobuf
       javaTypes:
-      - org.apache.camel.component.couchdb.CouchDbComponent
-    camel-quarkus-workday:
+      - org.apache.camel.dataformat.protobuf.ProtobufDataFormat
+    camel-quarkus-azure-storage-blob:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-workday
+      artifactId: camel-quarkus-azure-storage-blob
       schemes:
-      - id: workday
+      - id: azure-storage-blob
         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
-      javaTypes:
-      - org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat
-      - org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat
-    camel-quarkus-smpp:
+      - org.apache.camel.component.azure.storage.blob.BlobComponent
+    camel-quarkus-asterisk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-smpp
+      artifactId: camel-quarkus-asterisk
       schemes:
-      - id: smpps
-        http: false
-        passive: false
-      - id: smpp
+      - id: asterisk
         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.asterisk.AsteriskComponent
+    camel-quarkus-microprofile-metrics:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-iam
+      artifactId: camel-quarkus-microprofile-metrics
       schemes:
-      - id: aws-iam
+      - id: microprofile-metrics
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.iam.IAMComponent
-    camel-quarkus-debezium-postgres:
+      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
+    camel-quarkus-nats:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-postgres
+      artifactId: camel-quarkus-nats
       schemes:
-      - id: debezium-postgres
+      - id: nats
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumPostgresComponent
-    camel-quarkus-flink:
+      - org.apache.camel.component.nats.NatsComponent
+    camel-quarkus-infinispan:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-flink
+      artifactId: camel-quarkus-infinispan
       schemes:
-      - id: flink
+      - id: infinispan
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.flink.FlinkComponent
-    camel-quarkus-amqp:
+      - org.apache.camel.component.infinispan.InfinispanComponent
+    camel-quarkus-base64:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-amqp
+      artifactId: camel-quarkus-base64
+      dataformats:
+      - base64
+      javaTypes:
+      - org.apache.camel.dataformat.base64.Base64DataFormat
+    camel-quarkus-exec:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-exec
       schemes:
-      - id: amqp
+      - id: exec
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.amqp.AMQPComponent
-    camel-quarkus-guava-eventbus:
+      - org.apache.camel.component.exec.ExecComponent
+    camel-quarkus-rss:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-guava-eventbus
+      artifactId: camel-quarkus-rss
       schemes:
-      - id: guava-eventbus
+      - id: rss
         http: false
         passive: false
+      dataformats:
+      - rss
       javaTypes:
-      - org.apache.camel.component.guava.eventbus.GuavaEventBusComponent
-    camel-quarkus-pulsar:
+      - org.apache.camel.component.rss.RssComponent
+      - org.apache.camel.dataformat.rss.RssDataFormat
+    camel-quarkus-gson:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pulsar
+      artifactId: camel-quarkus-gson
+      dataformats:
+      - json-gson
+      javaTypes:
+      - org.apache.camel.component.gson.GsonDataFormat
+    camel-quarkus-geocoder:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-geocoder
       schemes:
-      - id: pulsar
+      - id: geocoder
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pulsar.PulsarComponent
-    camel-quarkus-jpa:
+      - org.apache.camel.component.geocoder.GeoCoderComponent
+    camel-quarkus-pgevent:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jpa
+      artifactId: camel-quarkus-pgevent
       schemes:
-      - id: jpa
+      - id: pgevent
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jpa.JpaComponent
-    camel-quarkus-aws2-ddb:
+      - org.apache.camel.component.pgevent.PgEventComponent
+    camel-quarkus-atom:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ddb
+      artifactId: camel-quarkus-atom
       schemes:
-      - id: aws2-ddb
+      - id: atom
         http: false
         passive: false
-      - id: aws2-ddbstream
+      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.component.aws2.ddb.Ddb2Component
-      - org.apache.camel.component.aws2.ddbstream.Ddb2StreamComponent
-    camel-quarkus-mock:
+      - org.apache.camel.component.soroushbot.component.SoroushBotComponent
+    camel-quarkus-drill:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mock
+      artifactId: camel-quarkus-drill
       schemes:
-      - id: mock
+      - id: drill
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.mock.MockComponent
-    camel-quarkus-iec60870:
+      - org.apache.camel.component.drill.DrillComponent
+    camel-quarkus-cometd:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-iec60870
+      artifactId: camel-quarkus-cometd
       schemes:
-      - id: iec60870-server
+      - id: cometd
         http: false
         passive: false
-      - id: iec60870-client
+      - id: cometds
         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.cometd.CometdComponent
+    camel-quarkus-chunk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-weka
+      artifactId: camel-quarkus-chunk
       schemes:
-      - id: weka
+      - id: chunk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.weka.WekaComponent
-    camel-quarkus-controlbus:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-controlbus
+      - org.apache.camel.component.chunk.ChunkComponent
+    camel-k-webhook:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-webhook
       schemes:
-      - id: controlbus
-        http: false
+      - id: webhook
+        http: true
         passive: true
-      javaTypes:
-      - org.apache.camel.component.controlbus.ControlBusComponent
-    camel-quarkus-vertx:
+    camel-quarkus-dns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vertx
+      artifactId: camel-quarkus-dns
       schemes:
-      - id: vertx
+      - id: dns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.vertx.VertxComponent
-    camel-quarkus-jdbc:
+      - org.apache.camel.component.dns.DnsComponent
+    camel-quarkus-mongodb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jdbc
+      artifactId: camel-quarkus-mongodb
       schemes:
-      - id: jdbc
+      - id: mongodb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jdbc.JdbcComponent
-    camel-quarkus-consul:
+      - org.apache.camel.component.mongodb.MongoDbComponent
+    camel-quarkus-jgroups-raft:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-consul
+      artifactId: camel-quarkus-jgroups-raft
       schemes:
-      - id: consul
+      - id: jgroups-raft
         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.jgroups.raft.JGroupsRaftComponent
+    camel-quarkus-cassandraql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-facebook
+      artifactId: camel-quarkus-cassandraql
       schemes:
-      - id: facebook
+      - id: cql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.facebook.FacebookComponent
-    camel-quarkus-xpath:
+      - org.apache.camel.component.cassandra.CassandraComponent
+    camel-quarkus-ical:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xpath
-      languages:
-      - xpath
+      artifactId: camel-quarkus-ical
+      dataformats:
+      - ical
       javaTypes:
-      - org.apache.camel.language.xpath.XPathLanguage
-    camel-quarkus-nsq:
+      - org.apache.camel.component.ical.ICalDataFormat
+    camel-quarkus-sjms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nsq
+      artifactId: camel-quarkus-sjms
       schemes:
-      - id: nsq
+      - id: sjms-batch
+        http: false
+        passive: false
+      - id: sjms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nsq.NsqComponent
-    camel-quarkus-jsonb:
+      - 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-jsonb
-      dataformats:
-      - json-jsonb
+      artifactId: camel-quarkus-google-drive
+      schemes:
+      - id: google-drive
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.component.jsonb.JsonbDataFormat
-    camel-quarkus-aws2-sns:
+      - org.apache.camel.component.google.drive.GoogleDriveComponent
+    camel-quarkus-splunk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-sns
+      artifactId: camel-quarkus-splunk
       schemes:
-      - id: aws2-sns
+      - id: splunk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.sns.Sns2Component
-    camel-quarkus-mvel:
+      - org.apache.camel.component.splunk.SplunkComponent
+    camel-quarkus-dozer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mvel
+      artifactId: camel-quarkus-dozer
       schemes:
-      - id: mvel
+      - id: dozer
         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.dozer.DozerComponent
+    camel-quarkus-aws-eks:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-univocity-parsers
-      dataformats:
-      - univocity-csv
-      - univocity-tsv
-      - univocity-fixed
+      artifactId: camel-quarkus-aws-eks
+      schemes:
+      - id: aws-eks
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.dataformat.univocity.UniVocityFixedWidthDataFormat
-      - org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat
-      - org.apache.camel.dataformat.univocity.UniVocityTsvDataFormat
-    camel-quarkus-ref:
+      - org.apache.camel.component.aws.eks.EKSComponent
+    camel-quarkus-seda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ref
+      artifactId: camel-quarkus-seda
       schemes:
-      - id: ref
+      - id: seda
         http: false
         passive: true
       javaTypes:
-      - org.apache.camel.component.ref.RefComponent
-    camel-quarkus-lzf:
+      - org.apache.camel.component.seda.SedaComponent
+    camel-quarkus-nitrite:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-lzf
-      dataformats:
-      - lzf
-      javaTypes:
-      - org.apache.camel.dataformat.lzf.LZFDataFormat
-    camel-quarkus-paho:
+      artifactId: camel-quarkus-nitrite
+      schemes:
+      - id: nitrite
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.nitrite.NitriteComponent
+    camel-quarkus-activemq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-paho
+      artifactId: camel-quarkus-activemq
       schemes:
-      - id: paho
+      - id: activemq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.paho.PahoComponent
-    camel-quarkus-vm:
+      - org.apache.camel.component.activemq.ActiveMQComponent
+    camel-quarkus-twilio:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vm
+      artifactId: camel-quarkus-twilio
       schemes:
-      - id: vm
+      - id: twilio
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.vm.VmComponent
-    camel-quarkus-bindy:
+      - org.apache.camel.component.twilio.TwilioComponent
+    camel-quarkus-zendesk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bindy
-      dataformats:
-      - bindy-csv
-      - bindy-fixed
-      - bindy-kvp
+      artifactId: camel-quarkus-zendesk
+      schemes:
+      - id: zendesk
+        http: false
+        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.zendesk.ZendeskComponent
+    camel-quarkus-braintree:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jslt
+      artifactId: camel-quarkus-braintree
       schemes:
-      - id: jslt
+      - id: braintree
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jslt.JsltComponent
-    camel-quarkus-apns:
+      - org.apache.camel.component.braintree.BraintreeComponent
+    camel-quarkus-aws-sqs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-apns
+      artifactId: camel-quarkus-aws-sqs
       schemes:
-      - id: apns
+      - id: aws-sqs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.apns.ApnsComponent
-    camel-quarkus-optaplanner:
+      - org.apache.camel.component.aws.sqs.SqsComponent
+    camel-quarkus-olingo4:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-optaplanner
+      artifactId: camel-quarkus-olingo4
       schemes:
-      - id: optaplanner
+      - id: olingo4
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.optaplanner.OptaPlannerComponent
-    camel-quarkus-xstream:
+      - org.apache.camel.component.olingo4.Olingo4Component
+    camel-quarkus-zookeeper:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xstream
-      dataformats:
-      - json-xstream
-      - xstream
+      artifactId: camel-quarkus-zookeeper
+      schemes:
+      - id: zookeeper
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.dataformat.xstream.XStreamDataFormat
-      - org.apache.camel.dataformat.xstream.JsonDataFormat
-    camel-quarkus-debezium-mongodb:
+      - org.apache.camel.component.zookeeper.ZooKeeperComponent
+    camel-quarkus-sjms2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-mongodb
+      artifactId: camel-quarkus-sjms2
       schemes:
-      - id: debezium-mongodb
+      - id: sjms2
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMongodbComponent
-    camel-quarkus-jacksonxml:
+      - org.apache.camel.component.sjms2.Sjms2Component
+    camel-quarkus-ldap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jacksonxml
-      dataformats:
-      - jacksonxml
+      artifactId: camel-quarkus-ldap
+      schemes:
+      - id: ldap
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.component.jacksonxml.JacksonXMLDataFormat
-    camel-quarkus-zookeeper-master:
+      - org.apache.camel.component.ldap.LdapComponent
+    camel-quarkus-xchange:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zookeeper-master
+      artifactId: camel-quarkus-xchange
       schemes:
-      - id: zookeeper-master
+      - id: xchange
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.zookeepermaster.MasterComponent
-    camel-k-knative:
+      - org.apache.camel.component.xchange.XChangeComponent
+    camel-k-kamelet-reify:
       groupId: org.apache.camel.k
-      artifactId: camel-k-knative
+      artifactId: camel-k-kamelet-reify
       schemes:
-      - id: knative
-        http: true
+      - id: wrap
+        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:
+    camel-quarkus-atmos:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-language
+      artifactId: camel-quarkus-atmos
       schemes:
-      - id: language
+      - id: atmos
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.language.LanguageComponent
-    camel-quarkus-schematron:
+      - org.apache.camel.component.atmos.AtmosComponent
+    camel-quarkus-as2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-schematron
+      artifactId: camel-quarkus-as2
       schemes:
-      - id: schematron
+      - id: as2
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.schematron.SchematronComponent
-    camel-quarkus-asn1:
+      - org.apache.camel.component.as2.AS2Component
+    camel-quarkus-etcd:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-asn1
-      dataformats:
-      - asn1
+      artifactId: camel-quarkus-etcd
+      schemes:
+      - 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.dataformat.asn1.ASN1DataFormat
-    camel-quarkus-aws2-cw:
+      - org.apache.camel.component.etcd.EtcdWatchComponent
+      - org.apache.camel.component.etcd.EtcdStatsComponent
+      - org.apache.camel.component.etcd.EtcdKeysComponent
+    camel-quarkus-quartz:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-cw
+      artifactId: camel-quarkus-quartz
       schemes:
-      - id: aws2-cw
+      - id: quartz
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.cw.Cw2Component
-    camel-quarkus-sip:
+      - org.apache.camel.component.quartz.QuartzComponent
+    camel-quarkus-pg-replication-slot:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sip
+      artifactId: camel-quarkus-pg-replication-slot
       schemes:
-      - id: sips
+      - id: pg-replication-slot
         http: false
         passive: false
-      - id: sip
+      javaTypes:
+      - org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent
+    camel-quarkus-jms:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jms
+      schemes:
+      - id: jms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sip.SipComponent
+      - org.apache.camel.component.jms.JmsComponent
     camel-quarkus-thrift:
       groupId: org.apache.camel.quarkus
       artifactId: camel-quarkus-thrift
@@ -2482,452 +2391,536 @@ spec:
       dataformats:
       - thrift
       javaTypes:
-      - org.apache.camel.dataformat.thrift.ThriftDataFormat
       - org.apache.camel.component.thrift.ThriftComponent
-    camel-quarkus-jms:
+      - org.apache.camel.dataformat.thrift.ThriftDataFormat
+    camel-quarkus-sip:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jms
+      artifactId: camel-quarkus-sip
       schemes:
-      - id: jms
+      - id: sip
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.jms.JmsComponent
-    camel-quarkus-pg-replication-slot:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pg-replication-slot
-      schemes:
-      - id: pg-replication-slot
+      - id: sips
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent
-    camel-quarkus-quartz:
+      - org.apache.camel.component.sip.SipComponent
+    camel-quarkus-aws2-cw:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-quartz
+      artifactId: camel-quarkus-aws2-cw
       schemes:
-      - id: quartz
+      - id: aws2-cw
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.quartz.QuartzComponent
-    camel-quarkus-etcd:
+      - org.apache.camel.component.aws2.cw.Cw2Component
+    camel-quarkus-asn1:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-etcd
+      artifactId: camel-quarkus-asn1
+      dataformats:
+      - asn1
+      javaTypes:
+      - org.apache.camel.dataformat.asn1.ASN1DataFormat
+    camel-quarkus-schematron:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-schematron
       schemes:
-      - id: etcd-watch
-        http: false
-        passive: false
-      - id: etcd-stats
-        http: false
-        passive: false
-      - id: etcd-keys
+      - id: schematron
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.etcd.EtcdKeysComponent
-      - org.apache.camel.component.etcd.EtcdStatsComponent
-      - org.apache.camel.component.etcd.EtcdWatchComponent
-    camel-quarkus-as2:
+      - org.apache.camel.component.schematron.SchematronComponent
+    camel-quarkus-language:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-as2
+      artifactId: camel-quarkus-language
       schemes:
-      - id: as2
+      - id: language
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.as2.AS2Component
-    camel-quarkus-atmos:
+      - 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
+        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-atmos
+      artifactId: camel-quarkus-zookeeper-master
       schemes:
-      - id: atmos
+      - id: zookeeper-master
         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
-      schemes:
-      - id: wrap
-        http: false
-        passive: false
-    camel-quarkus-xchange:
+      - org.apache.camel.component.zookeepermaster.MasterComponent
+    camel-quarkus-jacksonxml:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xchange
+      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: xchange
+      - id: debezium-mongodb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xchange.XChangeComponent
-    camel-quarkus-ldap:
+      - org.apache.camel.component.debezium.DebeziumMongodbComponent
+    camel-quarkus-xstream:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ldap
+      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: ldap
+      - id: optaplanner
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ldap.LdapComponent
-    camel-quarkus-sjms2:
+      - org.apache.camel.component.optaplanner.OptaPlannerComponent
+    camel-quarkus-apns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sjms2
+      artifactId: camel-quarkus-apns
       schemes:
-      - id: sjms2
+      - id: apns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sjms2.Sjms2Component
-    camel-quarkus-zookeeper:
+      - org.apache.camel.component.apns.ApnsComponent
+    camel-quarkus-jslt:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zookeeper
+      artifactId: camel-quarkus-jslt
       schemes:
-      - id: zookeeper
+      - id: jslt
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.zookeeper.ZooKeeperComponent
-    camel-quarkus-olingo4:
+      - org.apache.camel.component.jslt.JsltComponent
+    camel-quarkus-bindy:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-olingo4
+      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:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-vm
       schemes:
-      - id: olingo4
+      - id: vm
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.olingo4.Olingo4Component
-    camel-quarkus-aws-sqs:
+      - org.apache.camel.component.vm.VmComponent
+    camel-quarkus-paho:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sqs
+      artifactId: camel-quarkus-paho
       schemes:
-      - id: aws-sqs
+      - id: paho
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.sqs.SqsComponent
-    camel-quarkus-braintree:
+      - org.apache.camel.component.paho.PahoComponent
+    camel-quarkus-lzf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-braintree
+      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: braintree
+      - id: ref
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.braintree.BraintreeComponent
-    camel-quarkus-zendesk:
+      - org.apache.camel.component.ref.RefComponent
+    camel-quarkus-univocity-parsers:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zendesk
+      artifactId: camel-quarkus-univocity-parsers
+      dataformats:
+      - univocity-fixed
+      - univocity-tsv
+      - univocity-csv
+      javaTypes:
+      - org.apache.camel.dataformat.univocity.UniVocityTsvDataFormat
+      - org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat
+      - org.apache.camel.dataformat.univocity.UniVocityFixedWidthDataFormat
+    camel-quarkus-mvel:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-mvel
       schemes:
-      - id: zendesk
+      - id: mvel
         http: false
         passive: false
+      languages:
+      - mvel
       javaTypes:
-      - org.apache.camel.component.zendesk.ZendeskComponent
-    camel-quarkus-twilio:
+      - org.apache.camel.language.mvel.MvelLanguage
+      - org.apache.camel.component.mvel.MvelComponent
+    camel-quarkus-aws2-sns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-twilio
+      artifactId: camel-quarkus-aws2-sns
       schemes:
-      - id: twilio
+      - id: aws2-sns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.twilio.TwilioComponent
-    camel-quarkus-activemq:
+      - org.apache.camel.component.aws2.sns.Sns2Component
+    camel-quarkus-jsonb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-activemq
+      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: activemq
+      - id: nsq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.activemq.ActiveMQComponent
-    camel-quarkus-nitrite:
+      - org.apache.camel.component.nsq.NsqComponent
+    camel-quarkus-xpath:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nitrite
+      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: nitrite
+      - id: facebook
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nitrite.NitriteComponent
-    camel-quarkus-seda:
+      - org.apache.camel.component.facebook.FacebookComponent
+    camel-quarkus-ognl:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-seda
+      artifactId: camel-quarkus-ognl
+      languages:
+      - ognl
+      javaTypes:
+      - org.apache.camel.language.ognl.OgnlLanguage
+    camel-quarkus-consul:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-consul
       schemes:
-      - id: seda
+      - id: consul
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.seda.SedaComponent
-    camel-quarkus-aws-eks:
+      - org.apache.camel.component.consul.ConsulComponent
+    camel-quarkus-jdbc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-eks
+      artifactId: camel-quarkus-jdbc
       schemes:
-      - id: aws-eks
+      - id: jdbc
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.eks.EKSComponent
-    camel-quarkus-dozer:
+      - org.apache.camel.component.jdbc.JdbcComponent
+    camel-quarkus-vertx:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dozer
+      artifactId: camel-quarkus-vertx
       schemes:
-      - id: dozer
+      - id: vertx
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.dozer.DozerComponent
-    camel-quarkus-splunk:
+      - org.apache.camel.component.vertx.VertxComponent
+    camel-quarkus-controlbus:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-splunk
+      artifactId: camel-quarkus-controlbus
       schemes:
-      - id: splunk
+      - id: controlbus
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.splunk.SplunkComponent
-    camel-quarkus-google-drive:
+      - org.apache.camel.component.controlbus.ControlBusComponent
+    camel-quarkus-weka:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-drive
+      artifactId: camel-quarkus-weka
       schemes:
-      - id: google-drive
+      - id: weka
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.drive.GoogleDriveComponent
-    camel-quarkus-sjms:
+      - org.apache.camel.component.weka.WekaComponent
+    camel-quarkus-iec60870:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sjms
+      artifactId: camel-quarkus-iec60870
       schemes:
-      - id: sjms
+      - id: iec60870-client
         http: false
         passive: false
-      - id: sjms-batch
+      - id: iec60870-server
         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.iec60870.server.ServerComponent
+      - org.apache.camel.component.iec60870.client.ClientComponent
+    camel-quarkus-mock:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ical
-      dataformats:
-      - ical
+      artifactId: camel-quarkus-mock
+      schemes:
+      - id: mock
+        http: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.ical.ICalDataFormat
-    camel-quarkus-cassandraql:
+      - org.apache.camel.component.mock.MockComponent
+    camel-quarkus-aws2-ddb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cassandraql
+      artifactId: camel-quarkus-aws2-ddb
       schemes:
-      - id: cql
+      - id: aws2-ddbstream
+        http: false
+        passive: false
+      - id: aws2-ddb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cassandra.CassandraComponent
-    camel-quarkus-jgroups-raft:
+      - 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-jgroups-raft
+      artifactId: camel-quarkus-jpa
       schemes:
-      - id: jgroups-raft
+      - id: jpa
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jgroups.raft.JGroupsRaftComponent
-    camel-quarkus-mongodb:
+      - org.apache.camel.component.jpa.JpaComponent
+    camel-quarkus-pulsar:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mongodb
+      artifactId: camel-quarkus-pulsar
       schemes:
-      - id: mongodb
+      - id: pulsar
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mongodb.MongoDbComponent
-    camel-quarkus-dns:
+      - org.apache.camel.component.pulsar.PulsarComponent
+    camel-quarkus-guava-eventbus:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dns
+      artifactId: camel-quarkus-guava-eventbus
       schemes:
-      - id: dns
+      - id: guava-eventbus
         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.guava.eventbus.GuavaEventBusComponent
+    camel-quarkus-amqp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-chunk
+      artifactId: camel-quarkus-amqp
       schemes:
-      - id: chunk
+      - id: amqp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.chunk.ChunkComponent
-    camel-quarkus-cometd:
+      - org.apache.camel.component.amqp.AMQPComponent
+    camel-quarkus-flink:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cometd
+      artifactId: camel-quarkus-flink
       schemes:
-      - id: cometds
-        http: false
-        passive: false
-      - id: cometd
+      - id: flink
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cometd.CometdComponent
-    camel-quarkus-drill:
+      - org.apache.camel.component.flink.FlinkComponent
+    camel-quarkus-debezium-postgres:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-drill
+      artifactId: camel-quarkus-debezium-postgres
       schemes:
-      - id: drill
+      - id: debezium-postgres
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.drill.DrillComponent
-    camel-quarkus-soroush:
+      - org.apache.camel.component.debezium.DebeziumPostgresComponent
+    camel-quarkus-aws-iam:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-soroush
+      artifactId: camel-quarkus-aws-iam
       schemes:
-      - id: soroush
+      - id: aws-iam
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.soroushbot.component.SoroushBotComponent
-    camel-quarkus-atom:
+      - org.apache.camel.component.aws.iam.IAMComponent
+    camel-quarkus-syslog:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atom
+      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: atom
+      - id: smpp
+        http: false
+        passive: false
+      - id: smpps
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.atom.AtomComponent
-    camel-quarkus-pgevent:
+      - org.apache.camel.component.smpp.SmppComponent
+    camel-quarkus-zip-deflater:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pgevent
+      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: pgevent
+      - id: workday
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pgevent.PgEventComponent
-    camel-quarkus-geocoder:
+      - org.apache.camel.component.workday.WorkdayComponent
+    camel-quarkus-couchdb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-geocoder
+      artifactId: camel-quarkus-couchdb
       schemes:
-      - id: geocoder
+      - id: couchdb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.geocoder.GeoCoderComponent
-    camel-quarkus-gson:
+      - org.apache.camel.component.couchdb.CouchDbComponent
+    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-aws-s3:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rss
+      artifactId: camel-quarkus-aws-s3
       schemes:
-      - id: rss
+      - id: aws-s3
         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.aws.s3.S3Component
+    camel-quarkus-bean:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-exec
+      artifactId: camel-quarkus-bean
       schemes:
-      - id: exec
+      - id: bean
         http: false
-        passive: false
+        passive: true
+      - id: class
+        http: false
+        passive: true
+      languages:
+      - bean
       javaTypes:
-      - org.apache.camel.component.exec.ExecComponent
-    camel-quarkus-base64:
+      - 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-base64
-      dataformats:
-      - base64
+      artifactId: camel-quarkus-direct
+      schemes:
+      - id: direct
+        http: false
+        passive: true
       javaTypes:
-      - org.apache.camel.dataformat.base64.Base64DataFormat
-    camel-quarkus-infinispan:
+      - org.apache.camel.component.direct.DirectComponent
+    camel-quarkus-xj:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-infinispan
+      artifactId: camel-quarkus-xj
       schemes:
-      - id: infinispan
+      - id: xj
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.infinispan.InfinispanComponent
-    camel-quarkus-nats:
+      - org.apache.camel.component.xj.XJComponent
+    camel-quarkus-fastjson:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nats
+      artifactId: camel-quarkus-fastjson
+      dataformats:
+      - json-fastjson
+      javaTypes:
+      - org.apache.camel.component.fastjson.FastjsonDataFormat
+    camel-quarkus-snakeyaml:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-snakeyaml
+      dataformats:
+      - yaml-snakeyaml
+      javaTypes:
+      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
+    camel-quarkus-debezium-sqlserver:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-debezium-sqlserver
       schemes:
-      - id: nats
+      - id: debezium-sqlserver
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nats.NatsComponent
-    camel-quarkus-microprofile-metrics:
+      - org.apache.camel.component.debezium.DebeziumSqlserverComponent
+    camel-quarkus-aws2-msk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-microprofile-metrics
+      artifactId: camel-quarkus-aws2-msk
       schemes:
-      - id: microprofile-metrics
+      - id: aws2-msk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
-    camel-quarkus-asterisk:
+      - org.apache.camel.component.aws2.msk.MSK2Component
+    camel-quarkus-stax:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-asterisk
+      artifactId: camel-quarkus-stax
       schemes:
-      - id: asterisk
+      - id: stax
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.asterisk.AsteriskComponent
-    camel-quarkus-azure-storage-blob:
+      - org.apache.camel.component.stax.StAXComponent
+    camel-quarkus-aws-kms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-azure-storage-blob
+      artifactId: camel-quarkus-aws-kms
       schemes:
-      - id: azure-storage-blob
+      - id: aws-kms
         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:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tagsoup
-      dataformats:
-      - tidyMarkup
-      javaTypes:
-      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
+      - org.apache.camel.component.aws.kms.KMSComponent
   loaders:
-    java:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-java
-      languages:
-      - java
-      metadata:
-        native: "false"
     xml:
       groupId: org.apache.camel.k
       artifactId: camel-k-loader-xml
@@ -2935,18 +2928,18 @@ spec:
       - xml
       metadata:
         native: "true"
-    js:
+    java:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-js
+      artifactId: camel-k-loader-java
       languages:
-      - js
+      - java
       metadata:
-        native: "true"
-    kts:
+        native: "false"
+    groovy:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-kotlin
+      artifactId: camel-k-loader-groovy
       languages:
-      - kts
+      - groovy
       metadata:
         native: "false"
     yaml:
@@ -2956,10 +2949,17 @@ spec:
       - yaml
       metadata:
         native: "true"
-    groovy:
+    kts:
       groupId: org.apache.camel.k
-      artifactId: camel-k-loader-groovy
+      artifactId: camel-k-loader-kotlin
       languages:
-      - groovy
+      - kts
       metadata:
         native: "false"
+    js:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-js
+      languages:
+      - js
+      metadata:
+        native: "true"
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 9ae1705..5a427b5 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
@@ -617,6 +617,226 @@ spec:
                       endpoint explicitly
                     type: string
                 type: object
+              steps:
+                description: Steps contains an optional list of intermediate steps
+                  that are executed between the Source and the Sink
+                items:
+                  description: Endpoint represents a source/sink external entity
+                  properties:
+                    properties:
+                      description: Properties are a key value representation of endpoint
+                        properties
+                      type: object
+                      x-kubernetes-preserve-unknown-fields: true
+                    ref:
+                      description: Ref can be used to declare a Kubernetes resource
+                        as source/sink endpoint
+                      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
+                    types:
+                      additionalProperties:
+                        properties:
+                          mediaType:
+                            type: string
+                          schema:
+                            description: JSONSchemaProps is a JSON-Schema following
+                              Specification Draft 4 (http://json-schema.org/).
+                            properties:
+                              $schema:
+                                description: JSONSchemaURL represents a schema url.
+                                type: string
+                              description:
+                                type: string
+                              example:
+                                description: 'JSON represents any valid JSON value.
+                                  These types are supported: bool, int64, float64,
+                                  string, []interface{}, map[string]interface{} and
+                                  nil.'
+                                x-kubernetes-preserve-unknown-fields: true
+                              externalDocs:
+                                description: ExternalDocumentation allows referencing
+                                  an external resource for extended documentation.
+                                properties:
+                                  description:
+                                    type: string
+                                  url:
+                                    type: string
+                                type: object
+                              id:
+                                type: string
+                              properties:
+                                additionalProperties:
+                                  properties:
+                                    default:
+                                      description: default is a default value for
+                                        undefined object fields.
+                                      x-kubernetes-preserve-unknown-fields: true
+                                    description:
+                                      type: string
+                                    enum:
+                                      items:
+                                        description: 'JSON represents any valid JSON
+                                          value. These types are supported: bool,
+                                          int64, float64, string, []interface{}, map[string]interface{}
+                                          and nil.'
+                                        x-kubernetes-preserve-unknown-fields: true
+                                      type: array
+                                    example:
+                                      description: 'JSON represents any valid JSON
+                                        value. These types are supported: bool, int64,
+                                        float64, string, []interface{}, map[string]interface{}
+                                        and nil.'
+                                      x-kubernetes-preserve-unknown-fields: true
+                                    exclusiveMaximum:
+                                      type: boolean
+                                    exclusiveMinimum:
+                                      type: boolean
+                                    format:
+                                      description: "format is an OpenAPI v3 format
+                                        string. Unknown formats are ignored. The following
+                                        formats are validated: \n - bsonobjectid:
+                                        a bson object ID, i.e. a 24 characters hex
+                                        string - uri: an URI as parsed by Golang net/url.ParseRequestURI
+                                        - email: an email address as parsed by Golang
+                                        net/mail.ParseAddress - hostname: a valid
+                                        representation for an Internet host name,
+                                        as defined by RFC 1034, section 3.1 [RFC1034].
+                                        - ipv4: an IPv4 IP as parsed by Golang net.ParseIP
+                                        - ipv6: an IPv6 IP as parsed by Golang net.ParseIP
+                                        - cidr: a CIDR as parsed by Golang net.ParseCIDR
+                                        - mac: a MAC address as parsed by Golang net.ParseMAC
+                                        - uuid: an UUID that allows uppercase defined
+                                        by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$
+                                        - uuid3: an UUID3 that allows uppercase defined
+                                        by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$
+                                        - uuid4: an UUID4 that allows uppercase defined
+                                        by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
+                                        - uuid5: an UUID5 that allows uppercase defined
+                                        by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
+                                        - isbn: an ISBN10 or ISBN13 number string
+                                        like \"0321751043\" or \"978-0321751041\"
+                                        - isbn10: an ISBN10 number string like \"0321751043\"
+                                        - isbn13: an ISBN13 number string like \"978-0321751041\"
+                                        - creditcard: a credit card number defined
+                                        by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\\\d{3})\\\\d{11})$
+                                        with any non digit characters mixed in - ssn:
+                                        a U.S. social security number following the
+                                        regex ^\\\\d{3}[- ]?\\\\d{2}[- ]?\\\\d{4}$
+                                        - hexcolor: an hexadecimal color code like
+                                        \"#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
+                                        - rgbcolor: an RGB color code like rgb like
+                                        \"rgb(255,255,2559\" - byte: base64 encoded
+                                        binary data - password: any kind of string
+                                        - date: a date string like \"2006-01-02\"
+                                        as defined by full-date in RFC3339 - duration:
+                                        a duration string like \"22 ns\" as parsed
+                                        by Golang time.ParseDuration or compatible
+                                        with Scala duration format - datetime: a date
+                                        time string like \"2014-12-15T19:30:20.000Z\"
+                                        as defined by date-time in RFC3339."
+                                      type: string
+                                    id:
+                                      type: string
+                                    maxItems:
+                                      format: int64
+                                      type: integer
+                                    maxLength:
+                                      format: int64
+                                      type: integer
+                                    maxProperties:
+                                      format: int64
+                                      type: integer
+                                    maximum:
+                                      description: A Number represents a JSON number
+                                        literal.
+                                      type: string
+                                    minItems:
+                                      format: int64
+                                      type: integer
+                                    minLength:
+                                      format: int64
+                                      type: integer
+                                    minProperties:
+                                      format: int64
+                                      type: integer
+                                    minimum:
+                                      description: A Number represents a JSON number
+                                        literal.
+                                      type: string
+                                    multipleOf:
+                                      description: A Number represents a JSON number
+                                        literal.
+                                      type: string
+                                    nullable:
+                                      type: boolean
+                                    pattern:
+                                      type: string
+                                    title:
+                                      type: string
+                                    type:
+                                      type: string
+                                    uniqueItems:
+                                      type: boolean
+                                    x-descriptors:
+                                      description: The list of descriptors that determine
+                                        which UI components to use on different views
+                                      items:
+                                        type: string
+                                      type: array
+                                  type: object
+                                type: object
+                              required:
+                                items:
+                                  type: string
+                                type: array
+                              title:
+                                type: string
+                              type:
+                                type: string
+                            type: object
+                        type: object
+                      description: Types defines the schema of the data produced/consumed
+                        by the endpoint
+                      type: object
+                    uri:
+                      description: URI can alternatively be used to specify the (Camel)
+                        endpoint explicitly
+                      type: string
+                  type: object
+                type: array
             type: object
           status:
             description: KameletBindingStatus --
diff --git a/e2e/yaks/common/kamelet-steps/prefix-action.kamelet.yaml b/e2e/yaks/common/kamelet-steps/prefix-action.kamelet.yaml
new file mode 100644
index 0000000..2579029
--- /dev/null
+++ b/e2e/yaks/common/kamelet-steps/prefix-action.kamelet.yaml
@@ -0,0 +1,45 @@
+# ---------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ---------------------------------------------------------------------------
+
+apiVersion: camel.apache.org/v1alpha1
+kind: Kamelet
+metadata:
+  name: prefix-action
+  labels:
+    camel.apache.org/kamelet.type: "step"
+spec:
+  definition:
+    title: "Prefix"
+    description: "Adds a prefix to the incoming payload"
+    required:
+      - prefix
+    properties:
+      prefix:
+        title: Prefix
+        description: The prefix to add
+        type: string
+  types:
+    in:
+      mediaType: text/plain
+    out:
+      mediaType: text/plain
+  flow:
+    from:
+      uri: "kamelet:source"
+      steps:
+        - set-body:
+            simple: "{{prefix}} ${body}"
diff --git a/e2e/yaks/common/kamelet-steps/steps-binding.feature b/e2e/yaks/common/kamelet-steps/steps-binding.feature
new file mode 100644
index 0000000..f099945
--- /dev/null
+++ b/e2e/yaks/common/kamelet-steps/steps-binding.feature
@@ -0,0 +1,5 @@
+Feature: KameletBindings can have multiple processing steps
+
+  Scenario: Data is transformed by the steps
+    Given Camel-K integration steps-binding is running
+    Then Camel-K integration steps-binding should print Hello Apache Camel
diff --git a/e2e/yaks/common/kamelet-steps/steps-binding.yaml b/e2e/yaks/common/kamelet-steps/steps-binding.yaml
new file mode 100644
index 0000000..42ebc11
--- /dev/null
+++ b/e2e/yaks/common/kamelet-steps/steps-binding.yaml
@@ -0,0 +1,27 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: steps-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Camel"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: prefix-action
+    properties:
+      prefix: "Apache"
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: prefix-action
+    properties:
+      prefix: "Hello"
+  sink:
+    uri: log:info
diff --git a/e2e/yaks/common/kamelet-steps/timer-source.kamelet.yaml b/e2e/yaks/common/kamelet-steps/timer-source.kamelet.yaml
new file mode 100644
index 0000000..a08cecf
--- /dev/null
+++ b/e2e/yaks/common/kamelet-steps/timer-source.kamelet.yaml
@@ -0,0 +1,54 @@
+# ---------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ---------------------------------------------------------------------------
+
+apiVersion: camel.apache.org/v1alpha1
+kind: Kamelet
+metadata:
+  name: timer-source
+  labels:
+    camel.apache.org/kamelet.type: "source"
+spec:
+  definition:
+    title: "Timer"
+    description: "Produces periodic events with a custom payload"
+    required:
+      - message
+    properties:
+      period:
+        title: Period
+        description: The time interval between two events
+        type: integer
+        default: 1000
+      message:
+        title: Message
+        description: The message to generate
+        type: string
+  types:
+    out:
+      mediaType: application/json
+      schema:
+        id: text.camel.apache.org
+        type: string
+  flow:
+    from:
+      uri: timer:tick
+      parameters:
+        period: "{{period}}"
+      steps:
+        - set-body:
+            constant: "{{message}}"
+        - to: "kamelet:sink"
diff --git a/e2e/yaks/common/kamelet-steps/yaks-config.yaml b/e2e/yaks/common/kamelet-steps/yaks-config.yaml
new file mode 100644
index 0000000..7466b88
--- /dev/null
+++ b/e2e/yaks/common/kamelet-steps/yaks-config.yaml
@@ -0,0 +1,30 @@
+# ---------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ---------------------------------------------------------------------------
+
+config:
+  namespace:
+    temporary: true
+pre:
+- name: installation
+  run: |
+    kamel install -n $YAKS_NAMESPACE
+
+    kubectl apply -f timer-source.kamelet.yaml -n $YAKS_NAMESPACE
+    kubectl apply -f prefix-action.kamelet.yaml -n $YAKS_NAMESPACE
+    kubectl apply -f steps-binding.yaml -n $YAKS_NAMESPACE
+
+    kubectl wait kameletbinding steps-binding --for=condition=Ready --timeout=10m -n $YAKS_NAMESPACE
diff --git a/helm/camel-k/crds/crd-kamelet-binding.yaml b/helm/camel-k/crds/crd-kamelet-binding.yaml
index 9ae1705..5a427b5 100644
--- a/helm/camel-k/crds/crd-kamelet-binding.yaml
+++ b/helm/camel-k/crds/crd-kamelet-binding.yaml
@@ -617,6 +617,226 @@ spec:
                       endpoint explicitly
                     type: string
                 type: object
+              steps:
+                description: Steps contains an optional list of intermediate steps
+                  that are executed between the Source and the Sink
+                items:
+                  description: Endpoint represents a source/sink external entity
+                  properties:
+                    properties:
+                      description: Properties are a key value representation of endpoint
+                        properties
+                      type: object
+                      x-kubernetes-preserve-unknown-fields: true
+                    ref:
+                      description: Ref can be used to declare a Kubernetes resource
+                        as source/sink endpoint
+                      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
+                    types:
+                      additionalProperties:
+                        properties:
+                          mediaType:
+                            type: string
+                          schema:
+                            description: JSONSchemaProps is a JSON-Schema following
+                              Specification Draft 4 (http://json-schema.org/).
+                            properties:
+                              $schema:
+                                description: JSONSchemaURL represents a schema url.
+                                type: string
+                              description:
+                                type: string
+                              example:
+                                description: 'JSON represents any valid JSON value.
+                                  These types are supported: bool, int64, float64,
+                                  string, []interface{}, map[string]interface{} and
+                                  nil.'
+                                x-kubernetes-preserve-unknown-fields: true
+                              externalDocs:
+                                description: ExternalDocumentation allows referencing
+                                  an external resource for extended documentation.
+                                properties:
+                                  description:
+                                    type: string
+                                  url:
+                                    type: string
+                                type: object
+                              id:
+                                type: string
+                              properties:
+                                additionalProperties:
+                                  properties:
+                                    default:
+                                      description: default is a default value for
+                                        undefined object fields.
+                                      x-kubernetes-preserve-unknown-fields: true
+                                    description:
+                                      type: string
+                                    enum:
+                                      items:
+                                        description: 'JSON represents any valid JSON
+                                          value. These types are supported: bool,
+                                          int64, float64, string, []interface{}, map[string]interface{}
+                                          and nil.'
+                                        x-kubernetes-preserve-unknown-fields: true
+                                      type: array
+                                    example:
+                                      description: 'JSON represents any valid JSON
+                                        value. These types are supported: bool, int64,
+                                        float64, string, []interface{}, map[string]interface{}
+                                        and nil.'
+                                      x-kubernetes-preserve-unknown-fields: true
+                                    exclusiveMaximum:
+                                      type: boolean
+                                    exclusiveMinimum:
+                                      type: boolean
+                                    format:
+                                      description: "format is an OpenAPI v3 format
+                                        string. Unknown formats are ignored. The following
+                                        formats are validated: \n - bsonobjectid:
+                                        a bson object ID, i.e. a 24 characters hex
+                                        string - uri: an URI as parsed by Golang net/url.ParseRequestURI
+                                        - email: an email address as parsed by Golang
+                                        net/mail.ParseAddress - hostname: a valid
+                                        representation for an Internet host name,
+                                        as defined by RFC 1034, section 3.1 [RFC1034].
+                                        - ipv4: an IPv4 IP as parsed by Golang net.ParseIP
+                                        - ipv6: an IPv6 IP as parsed by Golang net.ParseIP
+                                        - cidr: a CIDR as parsed by Golang net.ParseCIDR
+                                        - mac: a MAC address as parsed by Golang net.ParseMAC
+                                        - uuid: an UUID that allows uppercase defined
+                                        by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$
+                                        - uuid3: an UUID3 that allows uppercase defined
+                                        by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$
+                                        - uuid4: an UUID4 that allows uppercase defined
+                                        by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
+                                        - uuid5: an UUID5 that allows uppercase defined
+                                        by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
+                                        - isbn: an ISBN10 or ISBN13 number string
+                                        like \"0321751043\" or \"978-0321751041\"
+                                        - isbn10: an ISBN10 number string like \"0321751043\"
+                                        - isbn13: an ISBN13 number string like \"978-0321751041\"
+                                        - creditcard: a credit card number defined
+                                        by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\\\d{3})\\\\d{11})$
+                                        with any non digit characters mixed in - ssn:
+                                        a U.S. social security number following the
+                                        regex ^\\\\d{3}[- ]?\\\\d{2}[- ]?\\\\d{4}$
+                                        - hexcolor: an hexadecimal color code like
+                                        \"#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
+                                        - rgbcolor: an RGB color code like rgb like
+                                        \"rgb(255,255,2559\" - byte: base64 encoded
+                                        binary data - password: any kind of string
+                                        - date: a date string like \"2006-01-02\"
+                                        as defined by full-date in RFC3339 - duration:
+                                        a duration string like \"22 ns\" as parsed
+                                        by Golang time.ParseDuration or compatible
+                                        with Scala duration format - datetime: a date
+                                        time string like \"2014-12-15T19:30:20.000Z\"
+                                        as defined by date-time in RFC3339."
+                                      type: string
+                                    id:
+                                      type: string
+                                    maxItems:
+                                      format: int64
+                                      type: integer
+                                    maxLength:
+                                      format: int64
+                                      type: integer
+                                    maxProperties:
+                                      format: int64
+                                      type: integer
+                                    maximum:
+                                      description: A Number represents a JSON number
+                                        literal.
+                                      type: string
+                                    minItems:
+                                      format: int64
+                                      type: integer
+                                    minLength:
+                                      format: int64
+                                      type: integer
+                                    minProperties:
+                                      format: int64
+                                      type: integer
+                                    minimum:
+                                      description: A Number represents a JSON number
+                                        literal.
+                                      type: string
+                                    multipleOf:
+                                      description: A Number represents a JSON number
+                                        literal.
+                                      type: string
+                                    nullable:
+                                      type: boolean
+                                    pattern:
+                                      type: string
+                                    title:
+                                      type: string
+                                    type:
+                                      type: string
+                                    uniqueItems:
+                                      type: boolean
+                                    x-descriptors:
+                                      description: The list of descriptors that determine
+                                        which UI components to use on different views
+                                      items:
+                                        type: string
+                                      type: array
+                                  type: object
+                                type: object
+                              required:
+                                items:
+                                  type: string
+                                type: array
+                              title:
+                                type: string
+                              type:
+                                type: string
+                            type: object
+                        type: object
+                      description: Types defines the schema of the data produced/consumed
+                        by the endpoint
+                      type: object
+                    uri:
+                      description: URI can alternatively be used to specify the (Camel)
+                        endpoint explicitly
+                      type: string
+                  type: object
+                type: array
             type: object
           status:
             description: KameletBindingStatus --
diff --git a/pkg/apis/camel/v1/zz_generated.deepcopy.go b/pkg/apis/camel/v1/zz_generated.deepcopy.go
index 9fefd5c..48ab8dd 100644
--- a/pkg/apis/camel/v1/zz_generated.deepcopy.go
+++ b/pkg/apis/camel/v1/zz_generated.deepcopy.go
@@ -209,7 +209,9 @@ func (in *BuilderTask) DeepCopyInto(out *BuilderTask) {
 	if in.Resources != nil {
 		in, out := &in.Resources, &out.Resources
 		*out = make([]ResourceSpec, len(*in))
-		copy(*out, *in)
+		for i := range *in {
+			(*in)[i].DeepCopyInto(&(*out)[i])
+		}
 	}
 	if in.Dependencies != nil {
 		in, out := &in.Dependencies, &out.Dependencies
@@ -575,6 +577,11 @@ func (in *ContainerTask) DeepCopy() *ContainerTask {
 // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
 func (in *DataSpec) DeepCopyInto(out *DataSpec) {
 	*out = *in
+	if in.RawContent != nil {
+		in, out := &in.RawContent, &out.RawContent
+		*out = make([]byte, len(*in))
+		copy(*out, *in)
+	}
 }
 
 // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataSpec.
@@ -1134,7 +1141,9 @@ func (in *IntegrationSpec) DeepCopyInto(out *IntegrationSpec) {
 	if in.Resources != nil {
 		in, out := &in.Resources, &out.Resources
 		*out = make([]ResourceSpec, len(*in))
-		copy(*out, *in)
+		for i := range *in {
+			(*in)[i].DeepCopyInto(&(*out)[i])
+		}
 	}
 	if in.Dependencies != nil {
 		in, out := &in.Dependencies, &out.Dependencies
@@ -1188,7 +1197,9 @@ func (in *IntegrationStatus) DeepCopyInto(out *IntegrationStatus) {
 	if in.GeneratedResources != nil {
 		in, out := &in.GeneratedResources, &out.GeneratedResources
 		*out = make([]ResourceSpec, len(*in))
-		copy(*out, *in)
+		for i := range *in {
+			(*in)[i].DeepCopyInto(&(*out)[i])
+		}
 	}
 	if in.Failure != nil {
 		in, out := &in.Failure, &out.Failure
@@ -1291,7 +1302,7 @@ func (in RawMessage) DeepCopy() RawMessage {
 // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
 func (in *ResourceSpec) DeepCopyInto(out *ResourceSpec) {
 	*out = *in
-	out.DataSpec = in.DataSpec
+	in.DataSpec.DeepCopyInto(&out.DataSpec)
 }
 
 // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSpec.
@@ -1341,7 +1352,7 @@ func (in *RuntimeSpec) DeepCopy() *RuntimeSpec {
 // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
 func (in *SourceSpec) DeepCopyInto(out *SourceSpec) {
 	*out = *in
-	out.DataSpec = in.DataSpec
+	in.DataSpec.DeepCopyInto(&out.DataSpec)
 	if in.Interceptors != nil {
 		in, out := &in.Interceptors, &out.Interceptors
 		*out = make([]string, len(*in))
diff --git a/pkg/apis/camel/v1alpha1/kamelet_binding_types.go b/pkg/apis/camel/v1alpha1/kamelet_binding_types.go
index 04ac92a..06789f2 100644
--- a/pkg/apis/camel/v1alpha1/kamelet_binding_types.go
+++ b/pkg/apis/camel/v1alpha1/kamelet_binding_types.go
@@ -32,6 +32,8 @@ type KameletBindingSpec struct {
 	Source Endpoint `json:"source,omitempty"`
 	// Sink is the destination of the integration defined by this binding
 	Sink Endpoint `json:"sink,omitempty"`
+	// Steps contains an optional list of intermediate steps that are executed between the Source and the Sink
+	Steps []Endpoint `json:"steps,omitempty"`
 }
 
 // Endpoint represents a source/sink external entity
@@ -50,6 +52,7 @@ type EndpointType string
 
 const (
 	EndpointTypeSource EndpointType = "source"
+	EndpointTypeAction EndpointType = "action"
 	EndpointTypeSink   EndpointType = "sink"
 )
 
diff --git a/pkg/apis/camel/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/camel/v1alpha1/zz_generated.deepcopy.go
index 00a682c..71938f5 100644
--- a/pkg/apis/camel/v1alpha1/zz_generated.deepcopy.go
+++ b/pkg/apis/camel/v1alpha1/zz_generated.deepcopy.go
@@ -370,6 +370,13 @@ func (in *KameletBindingSpec) DeepCopyInto(out *KameletBindingSpec) {
 	}
 	in.Source.DeepCopyInto(&out.Source)
 	in.Sink.DeepCopyInto(&out.Sink)
+	if in.Steps != nil {
+		in, out := &in.Steps, &out.Steps
+		*out = make([]Endpoint, len(*in))
+		for i := range *in {
+			(*in)[i].DeepCopyInto(&(*out)[i])
+		}
+	}
 }
 
 // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KameletBindingSpec.
diff --git a/pkg/controller/kameletbinding/common.go b/pkg/controller/kameletbinding/common.go
index 1fc8dc6..e51bf1a 100644
--- a/pkg/controller/kameletbinding/common.go
+++ b/pkg/controller/kameletbinding/common.go
@@ -71,52 +71,68 @@ func createIntegrationFor(ctx context.Context, c client.Client, kameletbinding *
 		Profile:   profile,
 	}
 
-	from, err := bindings.Translate(bindingContext, v1alpha1.EndpointTypeSource, kameletbinding.Spec.Source)
+	from, err := bindings.Translate(bindingContext, bindings.EndpointContext{Type: v1alpha1.EndpointTypeSource}, kameletbinding.Spec.Source)
 	if err != nil {
 		return nil, errors.Wrap(err, "could not determine source URI")
 	}
-	to, err := bindings.Translate(bindingContext, v1alpha1.EndpointTypeSink, kameletbinding.Spec.Sink)
+	to, err := bindings.Translate(bindingContext, bindings.EndpointContext{Type: v1alpha1.EndpointTypeSink}, kameletbinding.Spec.Sink)
 	if err != nil {
 		return nil, errors.Wrap(err, "could not determine sink URI")
 	}
 
-	if len(from.Traits) > 0 || len(to.Traits) > 0 {
+	steps := make([]*bindings.Binding, 0, len(kameletbinding.Spec.Steps))
+	for idx, step := range kameletbinding.Spec.Steps {
+		position := idx
+		stepBinding, err := bindings.Translate(bindingContext, bindings.EndpointContext{
+			Type:     v1alpha1.EndpointTypeAction,
+			Position: &position,
+		}, step)
+		if err != nil {
+			return nil, errors.Wrapf(err, "could not determine URI for step %d", idx)
+		}
+		steps = append(steps, stepBinding)
+	}
+
+	allBindings := make([]*bindings.Binding, 0, len(steps)+2)
+	allBindings = append(allBindings, from)
+	allBindings = append(allBindings, steps...)
+	allBindings = append(allBindings, to)
+
+	propList := make([]string, 0)
+	for _, b := range allBindings {
 		if it.Spec.Traits == nil {
 			it.Spec.Traits = make(map[string]v1.TraitSpec)
 		}
-		for k, v := range from.Traits {
+		for k, v := range b.Traits {
 			it.Spec.Traits[k] = v
 		}
-		for k, v := range to.Traits {
-			it.Spec.Traits[k] = v
+		for k, v := range b.ApplicationProperties {
+			propList = append(propList, fmt.Sprintf("%s=%s", k, v))
 		}
 	}
 
-	if len(from.ApplicationProperties) > 0 || len(to.ApplicationProperties) > 0 {
-		propList := make([]string, 0, len(from.ApplicationProperties)+len(to.ApplicationProperties))
-		for k, v := range from.ApplicationProperties {
-			propList = append(propList, fmt.Sprintf("%s=%s", k, v))
-		}
-		for k, v := range to.ApplicationProperties {
-			propList = append(propList, fmt.Sprintf("%s=%s", k, v))
-		}
-		sort.Strings(propList)
-		for _, p := range propList {
-			it.Spec.Configuration = append(it.Spec.Configuration, v1.ConfigurationSpec{
-				Type:  "property",
-				Value: p,
-			})
-		}
+	sort.Strings(propList)
+	for _, p := range propList {
+		it.Spec.Configuration = append(it.Spec.Configuration, v1.ConfigurationSpec{
+			Type:  "property",
+			Value: p,
+		})
+	}
+
+	dslSteps := make([]map[string]interface{}, 0)
+	for _, step := range steps {
+		dslSteps = append(dslSteps, map[string]interface{}{
+			"to": step.URI,
+		})
 	}
+	dslSteps = append(dslSteps, map[string]interface{}{
+		"to": to.URI,
+	})
 
 	flow := map[string]interface{}{
 		"from": map[string]interface{}{
-			"uri": from.URI,
-			"steps": []map[string]interface{}{
-				{
-					"to": to.URI,
-				},
-			},
+			"uri":   from.URI,
+			"steps": dslSteps,
 		},
 	}
 	encodedFlow, err := json.Marshal(flow)
diff --git a/pkg/resources/resources.go b/pkg/resources/resources.go
index 08860be..a64afc3 100644
--- a/pkg/resources/resources.go
+++ b/pkg/resources/resources.go
@@ -113,9 +113,9 @@ var assets = func() http.FileSystem {
 		"/crd/bases/camel.apache.org_kameletbindings.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "camel.apache.org_kameletbindings.yaml",
 			modTime:          time.Time{},
-			uncompressedSize: 36345,
+			uncompressedSize: 50466,
 
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\x6b\x4f\x23\xb9\xd2\xf0\xf7\xfc\x8a\x12\xac\x34\x20\xd1\xb9\x10\x98\x9d\xc9\xfb\x61\xc4\xc2\xb0\x6f\xce\xce\x00\x22\x70\x8e\xf6\x81\x39\x92\xd3\x5d\x49\xbc\x74\xdb\x7d\x6c\x77\x42\x9e\x85\xff\xfe\xc8\x76\x77\xd2\xb9\xf4\x25\x04\xe6\xcc\x48\x6d\x69\x34\xa4\xdb\x2e\xd7\xdd\xe5\xb2\x2b\xd9\x05\xe7\xf5\x5a\x6d\x17\xbe\x50\x17\x99\x44\x0f\x14\x07\x35\x42\x38\x09\x89\x3b\x42\xe8\xf1\x81\x9a\x10\x81\x70\xce\x23\xe6\x [...]
+			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 [...]
 		},
 		"/crd/bases/camel.apache.org_kamelets.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "camel.apache.org_kamelets.yaml",
@@ -462,14 +462,14 @@ 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\x3a\xb2\xee\x3c\xbf\x82\x6b\x67\x72\xce\xba\xcd\xea\xbd\x93\xd3\xbd\xef\xca\x1d\xd9\x72\xec\xd8\xb1\x1d\x27\x72\x27\xe9\x9e\xec\x05\x91\x90\x04\x8b\x24\x68\x00\x92\xed\xfc\xfa\xbb\xf0\xe0\x4b\x92\x8b\x22\x0d\xf8\x78\x60\x52\x44\xe1\x2b\xa0\xf0\x06\x0a\x55\x6f\xa3\xd8\xdf\xdf\x9b\xb7\xd1\x25\x4b\x68\x21\x69\x1a\x29\x1e\xa9\x25\x8d\x8e\x4a\x92\x2c\x69\x34\xe5\x73\xf5\x40\x04\x8d\x4e\xf9\xba\x48\x89\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\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 [...]
 		},
 		"/traits.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "traits.yaml",
 			modTime:          time.Time{},
-			uncompressedSize: 33769,
+			uncompressedSize: 34423,
 
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3d\xfd\x6f\x1b\x37\x96\xbf\xf7\xaf\x20\x74\x07\xd8\x32\xa4\xb1\xd3\x45\xb7\x5d\xdf\xf5\x0a\x37\x49\x77\xdd\xe6\xc3\x17\xa7\x5d\x1c\x7a\x8b\x15\x35\xf3\x24\x31\xe6\x90\xb3\x24\x47\x8e\x7a\xb8\xff\xfd\xc0\xc7\xcf\x19\x8d\xed\x71\x62\x17\x5e\xe0\x90\x1f\x62\x49\x43\xf2\xf1\xf1\x7d\x7f\x70\x8c\xa2\xcc\xe8\xd3\x2f\xe6\x44\xd0\x1a\x4e\x09\x5d\xad\x98\x60\x66\xf7\x05\x21\x0d\xa7\x66\x25\x55\x7d\x4a\x56\x94\x6b\xb0\xdf\x [...]
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\xff\x6f\x1b\x37\x96\xf8\xef\xfd\x2b\x08\xed\x07\xb0\x65\x48\x63\xa7\x8b\x6e\xbb\xfe\x5c\xaf\x70\x93\xb4\xeb\xb6\x49\x7c\x71\xda\xc5\xa1\x57\xac\xa8\x99\x27\x89\x31\x87\x9c\x25\x39\x72\xd4\xc3\xfd\xef\x07\x3e\x7e\x9d\xd1\xd8\x1e\x27\x76\xe1\x05\x0e\xf9\x21\x96\x34\x24\x1f\x1f\xdf\xf7\x2f\x1c\xa3\x28\x33\xfa\xf4\xb3\x39\x11\xb4\x86\x53\x42\x57\x2b\x26\x98\xd9\x7d\x46\x48\xc3\xa9\x59\x49\x55\x9f\x92\x15\xe5\x1a\x [...]
 		},
 	}
 	fs["/"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
diff --git a/pkg/util/bindings/api.go b/pkg/util/bindings/api.go
index f5debd3..14f09b8 100644
--- a/pkg/util/bindings/api.go
+++ b/pkg/util/bindings/api.go
@@ -20,6 +20,7 @@ package bindings
 
 import (
 	"context"
+	"fmt"
 
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
 	"github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
@@ -47,7 +48,7 @@ type BindingProvider interface {
 	// ID returns the name of the binding provider
 	ID() string
 	// Translate does the actual mapping
-	Translate(ctx BindingContext, endpointType v1alpha1.EndpointType, endpoint v1alpha1.Endpoint) (*Binding, error)
+	Translate(ctx BindingContext, endpointContext EndpointContext, endpoint v1alpha1.Endpoint) (*Binding, error)
 	// Order returns the relative order of execution of the binding provider
 	Order() int
 }
@@ -58,3 +59,16 @@ type BindingContext struct {
 	Namespace string
 	Profile   v1.TraitProfile
 }
+
+type EndpointContext struct {
+	Type     v1alpha1.EndpointType
+	Position *int
+}
+
+func (c EndpointContext) GenerateID() string {
+	id := string(c.Type)
+	if c.Position != nil {
+		id = fmt.Sprintf("%s-%d", id, *c.Position)
+	}
+	return id
+}
diff --git a/pkg/util/bindings/bindings_test.go b/pkg/util/bindings/bindings_test.go
index 084309a..b1859cb 100644
--- a/pkg/util/bindings/bindings_test.go
+++ b/pkg/util/bindings/bindings_test.go
@@ -53,6 +53,17 @@ func TestBindings(t *testing.T) {
 			uri: "knative:endpoint/myservice?apiVersion=serving.knative.dev%2Fv1&kind=Service",
 		},
 		{
+			endpointType: v1alpha1.EndpointTypeAction,
+			endpoint: v1alpha1.Endpoint{
+				Ref: &corev1.ObjectReference{
+					Kind:       "Service",
+					APIVersion: "serving.knative.dev/v1",
+					Name:       "myservice",
+				},
+			},
+			uri: "knative:endpoint/myservice?apiVersion=serving.knative.dev%2Fv1&kind=Service",
+		},
+		{
 			endpointType: v1alpha1.EndpointTypeSink,
 			endpoint: v1alpha1.Endpoint{
 				Ref: &corev1.ObjectReference{
@@ -211,7 +222,9 @@ func TestBindings(t *testing.T) {
 				Profile:   profile,
 			}
 
-			binding, err := Translate(bindingContext, tc.endpointType, tc.endpoint)
+			binding, err := Translate(bindingContext, EndpointContext{
+				Type: tc.endpointType,
+			}, tc.endpoint)
 			assert.NoError(t, err)
 			assert.NotNil(t, binding)
 			assert.Equal(t, tc.uri, binding.URI)
diff --git a/pkg/util/bindings/camel_uri.go b/pkg/util/bindings/camel_uri.go
index a264ff7..8cac3c6 100644
--- a/pkg/util/bindings/camel_uri.go
+++ b/pkg/util/bindings/camel_uri.go
@@ -30,7 +30,7 @@ func (k CamelURIBindingProvider) ID() string {
 	return "camel-uri"
 }
 
-func (k CamelURIBindingProvider) Translate(ctx BindingContext, endpointType v1alpha1.EndpointType, e v1alpha1.Endpoint) (*Binding, error) {
+func (k CamelURIBindingProvider) Translate(ctx BindingContext, endpointCtx EndpointContext, e v1alpha1.Endpoint) (*Binding, error) {
 	if e.URI == nil {
 		// works only on uris
 		return nil, nil
diff --git a/pkg/util/bindings/catalog.go b/pkg/util/bindings/catalog.go
index dbe3f74..b12b504 100644
--- a/pkg/util/bindings/catalog.go
+++ b/pkg/util/bindings/catalog.go
@@ -37,13 +37,13 @@ func RegisterBindingProvider(bp BindingProvider) {
 }
 
 // Translate execute all chained binding providers, returning the first success or the first error
-func Translate(ctx BindingContext, endpointType v1alpha1.EndpointType, endpoint v1alpha1.Endpoint) (*Binding, error) {
+func Translate(ctx BindingContext, endpointCtx EndpointContext, endpoint v1alpha1.Endpoint) (*Binding, error) {
 	if err := validateEndpoint(ctx, endpoint); err != nil {
 		return nil, err
 	}
 
 	for _, bp := range bindingProviders {
-		b, err := bp.Translate(ctx, endpointType, endpoint)
+		b, err := bp.Translate(ctx, endpointCtx, endpoint)
 		if b != nil || err != nil {
 			return b, err
 		}
diff --git a/pkg/util/bindings/kamelet.go b/pkg/util/bindings/kamelet.go
index ca83252..9d3f596 100644
--- a/pkg/util/bindings/kamelet.go
+++ b/pkg/util/bindings/kamelet.go
@@ -32,7 +32,7 @@ func (k KameletBindingProvider) ID() string {
 	return "kamelet"
 }
 
-func (k KameletBindingProvider) Translate(ctx BindingContext, endpointType v1alpha1.EndpointType, e v1alpha1.Endpoint) (*Binding, error) {
+func (k KameletBindingProvider) Translate(ctx BindingContext, endpointCtx EndpointContext, e v1alpha1.Endpoint) (*Binding, error) {
 	if e.Ref == nil {
 		// works only on refs
 		return nil, nil
@@ -55,8 +55,7 @@ func (k KameletBindingProvider) Translate(ctx BindingContext, endpointType v1alp
 		if idPresent {
 			delete(props, v1alpha1.KameletIDProperty)
 		} else {
-			// Let's use literal "source" or "sink" as ID for the Kamelet
-			id = string(endpointType)
+			id = endpointCtx.GenerateID()
 		}
 		kameletURI = fmt.Sprintf("%s/%s", kameletURI, url.PathEscape(id))
 
diff --git a/pkg/util/bindings/knative_ref.go b/pkg/util/bindings/knative_ref.go
index 79193ff..dd32999 100644
--- a/pkg/util/bindings/knative_ref.go
+++ b/pkg/util/bindings/knative_ref.go
@@ -36,7 +36,7 @@ func (k KnativeRefBindingProvider) ID() string {
 	return "knative-ref"
 }
 
-func (k KnativeRefBindingProvider) Translate(ctx BindingContext, endpointType v1alpha1.EndpointType, e v1alpha1.Endpoint) (*Binding, error) {
+func (k KnativeRefBindingProvider) Translate(ctx BindingContext, endpointCtx EndpointContext, e v1alpha1.Endpoint) (*Binding, error) {
 	if e.Ref == nil {
 		// works only on refs
 		return nil, nil
@@ -77,7 +77,7 @@ func (k KnativeRefBindingProvider) Translate(ctx BindingContext, endpointType v1
 			delete(props, "type")
 			serviceURI = fmt.Sprintf("knative:%s/%s", *serviceType, eventType)
 		} else {
-			if endpointType == v1alpha1.EndpointTypeSink {
+			if endpointCtx.Type == v1alpha1.EndpointTypeSink || endpointCtx.Type == v1alpha1.EndpointTypeAction {
 				// Allowing no event type, but it can fail. See https://github.com/apache/camel-k-runtime/issues/536
 				serviceURI = fmt.Sprintf("knative:%s", *serviceType)
 			} else {
diff --git a/pkg/util/bindings/knative_uri.go b/pkg/util/bindings/knative_uri.go
index e5a1415..f1a1200 100644
--- a/pkg/util/bindings/knative_uri.go
+++ b/pkg/util/bindings/knative_uri.go
@@ -35,7 +35,7 @@ func (k KnativeURIBindingProvider) ID() string {
 	return "knative-uri"
 }
 
-func (k KnativeURIBindingProvider) Translate(ctx BindingContext, endpointType v1alpha1.EndpointType, e v1alpha1.Endpoint) (*Binding, error) {
+func (k KnativeURIBindingProvider) Translate(ctx BindingContext, endpointCtx EndpointContext, e v1alpha1.Endpoint) (*Binding, error) {
 	if e.URI == nil {
 		// works only on uris
 		return nil, nil
@@ -48,7 +48,7 @@ func (k KnativeURIBindingProvider) Translate(ctx BindingContext, endpointType v1
 		// only translates http/https uri to Knative calls
 		return nil, nil
 	}
-	if endpointType == v1alpha1.EndpointTypeSource {
+	if endpointCtx.Type == v1alpha1.EndpointTypeSource {
 		// HTTP/HTTPS uri are translated to Knative endpoints only when used as sinks
 		return nil, nil
 	}