You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2020/03/10 17:11:35 UTC

[camel-k] branch master updated (6853327 -> 84d51d6)

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

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


    from 6853327  Use env var to enable stagin profile
     new 6e6da79  Add some sugar to rest APIs #1316
     new 395c3c4  Rename rest-dsl trait to openapi #1317
     new 0c6b43c  Add some sugar to rest APIs #1316 (small cleanup)
     new 48c2a42  Adapt to latest camel-k-runtime (interceptors)
     new 61fc933  Adapt cron trait to latest camel-k-runtime #1329
     new 0634b02  chore: remove leftovers
     new 82cd8e1  Fix e2e tests for openapi
     new 2dc57b7  Fix project generation for quarkus
     new 84d51d6  Fix e2e tests for openapi (take 2)

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


Summary of changes:
 build/maven/pom-runtime.xml                        |   16 -
 deploy/camel-catalog-1.1.0-main.yaml               | 2938 --------------------
 deploy/camel-catalog-1.1.0-quarkus.yaml            |  764 -----
 ...yaml => camel-catalog-1.2.0-SNAPSHOT-main.yaml} |  238 +-
 ...l => camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml} |  150 +-
 deploy/resources.go                                |   36 +-
 docs/modules/ROOT/nav.adoc                         |    2 +-
 .../pages/traits/{rest-dsl.adoc => openapi.adoc}   |    4 +-
 docs/modules/ROOT/pages/traits/traits.adoc         |    2 +-
 e2e/cron_test.go                                   |    9 +
 e2e/files/petstore-api.yaml                        |  111 +
 examples/cron.groovy => e2e/files/petstore.groovy  |   15 +-
 e2e/openapi_test.go                                |   83 +
 e2e/test_support.go                                |   82 +-
 examples/greetings.groovy                          |    2 +-
 examples/petstore-api.yaml                         |  111 +
 examples/{cron.groovy => petstore.groovy}          |   15 +-
 pkg/apis/camel/v1/integration_types.go             |    3 +
 pkg/apis/camel/v1/zz_generated.deepcopy.go         |   24 +-
 pkg/builder/runtime/quarkus.go                     |   16 +
 pkg/metadata/metadata_dependencies_test.go         |   30 +-
 pkg/trait/cron.go                                  |   79 +-
 pkg/trait/cron_test.go                             |  328 ++-
 pkg/trait/dependencies.go                          |   15 +-
 pkg/trait/dependencies_test.go                     |   13 +-
 pkg/trait/deployment_test.go                       |   15 +-
 pkg/trait/knative_service_test.go                  |   72 +-
 pkg/trait/{rest-dsl.go => openapi.go}              |   74 +-
 pkg/trait/{rest-dsl_test.go => openapi_test.go}    |    6 +-
 pkg/trait/trait.go                                 |   17 +-
 pkg/trait/trait_register.go                        |    2 +-
 pkg/trait/trait_test.go                            |   40 +-
 pkg/trait/trait_types.go                           |  172 +-
 pkg/util/defaults/defaults.go                      |    2 +-
 script/Makefile                                    |    2 +-
 35 files changed, 1507 insertions(+), 3981 deletions(-)
 delete mode 100644 deploy/camel-catalog-1.1.0-main.yaml
 delete mode 100644 deploy/camel-catalog-1.1.0-quarkus.yaml
 rename deploy/{camel-catalog-1.1.1-SNAPSHOT-main.yaml => camel-catalog-1.2.0-SNAPSHOT-main.yaml} (93%)
 rename deploy/{camel-catalog-1.1.1-SNAPSHOT-quarkus.yaml => camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml} (84%)
 rename docs/modules/ROOT/pages/traits/{rest-dsl.adoc => openapi.adoc} (82%)
 create mode 100644 e2e/files/petstore-api.yaml
 copy examples/cron.groovy => e2e/files/petstore.groovy (76%)
 create mode 100644 e2e/openapi_test.go
 create mode 100644 examples/petstore-api.yaml
 copy examples/{cron.groovy => petstore.groovy} (76%)
 rename pkg/trait/{rest-dsl.go => openapi.go} (81%)
 rename pkg/trait/{rest-dsl_test.go => openapi_test.go} (96%)


[camel-k] 07/09: Fix e2e tests for openapi

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 82cd8e1a32570bf2dd446a861c317b5e6b887989
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Mon Mar 9 20:05:31 2020 +0100

    Fix e2e tests for openapi
---
 e2e/openapi_test.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/e2e/openapi_test.go b/e2e/openapi_test.go
index 09ce3a1..0abdf0d 100644
--- a/e2e/openapi_test.go
+++ b/e2e/openapi_test.go
@@ -37,7 +37,7 @@ func TestOpenAPIService(t *testing.T) {
 			"run",
 			"-n", ns,
 			"--name", "petstore",
-			"--open-api", "examples/petstore-api.yaml",
+			"--open-api", "files/petstore-api.yaml",
 			"files/petstore.groovy",
 		).Execute()).Should(BeNil())
 
@@ -64,7 +64,7 @@ func TestOpenAPIDeployment(t *testing.T) {
 			"run",
 			"-n", ns,
 			"--name", "petstore",
-			"--open-api", "examples/petstore-api.yaml",
+			"--open-api", "files/petstore-api.yaml",
 			"files/petstore.groovy",
 		).Execute()).Should(BeNil())
 


[camel-k] 04/09: Adapt to latest camel-k-runtime (interceptors)

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 48c2a4208487dbdf90a0bf09299f53f7b61a5c78
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Mon Mar 9 15:04:56 2020 +0100

    Adapt to latest camel-k-runtime (interceptors)
---
 build/maven/pom-runtime.xml                      |    5 -
 deploy/camel-catalog-1.1.0-main.yaml             | 2938 ---------------------
 deploy/camel-catalog-1.1.0-quarkus.yaml          |  764 ------
 deploy/camel-catalog-1.1.1-SNAPSHOT-main.yaml    | 2949 ----------------------
 deploy/camel-catalog-1.1.1-SNAPSHOT-quarkus.yaml |  775 ------
 deploy/camel-catalog-1.2.0-SNAPSHOT-main.yaml    |   15 +-
 deploy/camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml |   17 +-
 deploy/resources.go                              |   40 +-
 pkg/apis/camel/v1/integration_types.go           |    3 +
 pkg/apis/camel/v1/zz_generated.deepcopy.go       |   24 +-
 pkg/trait/dependencies.go                        |   15 +-
 pkg/trait/dependencies_test.go                   |   13 +-
 pkg/trait/trait_types.go                         |    3 +
 13 files changed, 54 insertions(+), 7507 deletions(-)

diff --git a/build/maven/pom-runtime.xml b/build/maven/pom-runtime.xml
index 72dd8e0..10698a1 100644
--- a/build/maven/pom-runtime.xml
+++ b/build/maven/pom-runtime.xml
@@ -241,11 +241,6 @@
             <artifactId>camel-k-loader-java</artifactId>
             <version>${runtime.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-loader-knative</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
     </dependencies>
 
     <repositories>
diff --git a/deploy/camel-catalog-1.1.0-main.yaml b/deploy/camel-catalog-1.1.0-main.yaml
deleted file mode 100644
index 4ebe1f2..0000000
--- a/deploy/camel-catalog-1.1.0-main.yaml
+++ /dev/null
@@ -1,2938 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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/v1
-kind: CamelCatalog
-metadata:
-  name: camel-catalog-1.1.0-main
-  labels:
-    app: camel-k
-    camel.apache.org/catalog.version: 3.0.1
-    camel.apache.org/catalog.loader.version: 3.0.1
-    camel.apache.org/runtime.version: 1.1.0
-    camel.apache.org/runtime.provider: main
-spec:
-  runtime:
-    version: 1.1.0
-    provider: main
-    applicationClass: org.apache.camel.k.main.Application
-    metadata:
-      camel.version: 3.0.1
-      quarkus.version: 1.2.0.Final
-      camel-quarkus.version: 1.0.0-M3
-    dependencies:
-    - groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-main
-  artifacts:
-    camel-zipfile:
-      groupId: org.apache.camel
-      artifactId: camel-zipfile
-      dataformats:
-      - zipfile
-      javaTypes:
-      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
-    camel-fop:
-      groupId: org.apache.camel
-      artifactId: camel-fop
-      schemes:
-      - id: fop
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.fop.FopComponent
-    camel-azure:
-      groupId: org.apache.camel
-      artifactId: camel-azure
-      schemes:
-      - id: azure-blob
-        http: false
-        passive: false
-      - id: azure-queue
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.azure.blob.BlobServiceComponent
-      - org.apache.camel.component.azure.queue.QueueServiceComponent
-    camel-seda:
-      groupId: org.apache.camel
-      artifactId: camel-seda
-      schemes:
-      - id: seda
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.seda.SedaComponent
-    camel-mina:
-      groupId: org.apache.camel
-      artifactId: camel-mina
-      schemes:
-      - id: mina
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mina.MinaComponent
-    camel-printer:
-      groupId: org.apache.camel
-      artifactId: camel-printer
-      schemes:
-      - id: lpr
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.printer.PrinterComponent
-    camel-wordpress:
-      groupId: org.apache.camel
-      artifactId: camel-wordpress
-      schemes:
-      - id: wordpress
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.wordpress.WordpressComponent
-    camel-websocket:
-      groupId: org.apache.camel
-      artifactId: camel-websocket
-      schemes:
-      - id: websocket
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.websocket.WebsocketComponent
-    camel-slack:
-      groupId: org.apache.camel
-      artifactId: camel-slack
-      schemes:
-      - id: slack
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.slack.SlackComponent
-    camel-influxdb:
-      groupId: org.apache.camel
-      artifactId: camel-influxdb
-      schemes:
-      - id: influxdb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.influxdb.InfluxDbComponent
-    camel-lumberjack:
-      groupId: org.apache.camel
-      artifactId: camel-lumberjack
-      schemes:
-      - id: lumberjack
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.lumberjack.LumberjackComponent
-    camel-stax:
-      groupId: org.apache.camel
-      artifactId: camel-stax
-      schemes:
-      - id: stax
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.stax.StAXComponent
-    camel-sjms2:
-      groupId: org.apache.camel
-      artifactId: camel-sjms2
-      schemes:
-      - id: sjms2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sjms2.Sjms2Component
-    camel-facebook:
-      groupId: org.apache.camel
-      artifactId: camel-facebook
-      schemes:
-      - id: facebook
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.facebook.FacebookComponent
-    camel-docker:
-      groupId: org.apache.camel
-      artifactId: camel-docker
-      schemes:
-      - id: docker
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.docker.DockerComponent
-    camel-apns:
-      groupId: org.apache.camel
-      artifactId: camel-apns
-      schemes:
-      - id: apns
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.apns.ApnsComponent
-    camel-jaxb:
-      groupId: org.apache.camel
-      artifactId: camel-jaxb
-      dataformats:
-      - jaxb
-      javaTypes:
-      - org.apache.camel.converter.jaxb.JaxbDataFormat
-    camel-quartz:
-      groupId: org.apache.camel
-      artifactId: camel-quartz
-      schemes:
-      - id: quartz
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.quartz.QuartzComponent
-    camel-aws-swf:
-      groupId: org.apache.camel
-      artifactId: camel-aws-swf
-      schemes:
-      - id: aws-swf
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.swf.SWFComponent
-    camel-ehcache:
-      groupId: org.apache.camel
-      artifactId: camel-ehcache
-      schemes:
-      - id: ehcache
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ehcache.EhcacheComponent
-    camel-spring-ws:
-      groupId: org.apache.camel
-      artifactId: camel-spring-ws
-      schemes:
-      - id: spring-ws
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.spring.ws.SpringWebserviceComponent
-    camel-nagios:
-      groupId: org.apache.camel
-      artifactId: camel-nagios
-      schemes:
-      - id: nagios
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.nagios.NagiosComponent
-    camel-mongodb:
-      groupId: org.apache.camel
-      artifactId: camel-mongodb
-      schemes:
-      - id: mongodb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mongodb.MongoDbComponent
-    camel-aws-eks:
-      groupId: org.apache.camel
-      artifactId: camel-aws-eks
-      schemes:
-      - id: aws-eks
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.eks.EKSComponent
-    camel-jaxp:
-      groupId: org.apache.camel
-      artifactId: camel-jaxp
-      languages:
-      - xtokenize
-      javaTypes:
-      - org.apache.camel.language.xtokenizer.XMLTokenizeLanguage
-    camel-platform-http:
-      groupId: org.apache.camel
-      artifactId: camel-platform-http
-      schemes:
-      - id: platform-http
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.platform.http.PlatformHttpComponent
-    camel-jetty:
-      groupId: org.apache.camel
-      artifactId: camel-jetty
-      schemes:
-      - id: jetty
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jetty9.JettyHttpComponent9
-    camel-lzf:
-      groupId: org.apache.camel
-      artifactId: camel-lzf
-      dataformats:
-      - lzf
-      javaTypes:
-      - org.apache.camel.dataformat.lzf.LZFDataFormat
-    camel-vm:
-      groupId: org.apache.camel
-      artifactId: camel-vm
-      schemes:
-      - id: vm
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.vm.VmComponent
-    camel-crypto:
-      groupId: org.apache.camel
-      artifactId: camel-crypto
-      schemes:
-      - id: crypto
-        http: false
-        passive: false
-      dataformats:
-      - crypto
-      - pgp
-      javaTypes:
-      - org.apache.camel.component.crypto.DigitalSignatureComponent
-      - org.apache.camel.converter.crypto.CryptoDataFormat
-      - org.apache.camel.converter.crypto.PGPDataFormat
-    camel-cometd:
-      groupId: org.apache.camel
-      artifactId: camel-cometd
-      schemes:
-      - id: cometd
-        http: false
-        passive: false
-      - id: cometds
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cometd.CometdComponent
-    camel-bean-validator:
-      groupId: org.apache.camel
-      artifactId: camel-bean-validator
-      schemes:
-      - id: bean-validator
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.bean.validator.BeanValidatorComponent
-    camel-http:
-      groupId: org.apache.camel
-      artifactId: camel-http
-      schemes:
-      - id: http
-        http: false
-        passive: false
-      - id: https
-        http: false
-        passive: false
-      dependencies:
-      - groupId: org.apache.camel
-        artifactId: camel-file
-      javaTypes:
-      - org.apache.camel.component.http.HttpComponent
-    camel-tika:
-      groupId: org.apache.camel
-      artifactId: camel-tika
-      schemes:
-      - id: tika
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.tika.TikaComponent
-    camel-caffeine:
-      groupId: org.apache.camel
-      artifactId: camel-caffeine
-      schemes:
-      - id: caffeine-cache
-        http: false
-        passive: false
-      - id: caffeine-loadcache
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.caffeine.cache.CaffeineCacheComponent
-      - org.apache.camel.component.caffeine.load.CaffeineLoadCacheComponent
-    camel-vertx:
-      groupId: org.apache.camel
-      artifactId: camel-vertx
-      schemes:
-      - id: vertx
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.vertx.VertxComponent
-    camel-openstack:
-      groupId: org.apache.camel
-      artifactId: camel-openstack
-      schemes:
-      - id: openstack-cinder
-        http: false
-        passive: false
-      - id: openstack-glance
-        http: false
-        passive: false
-      - id: openstack-keystone
-        http: false
-        passive: false
-      - id: openstack-neutron
-        http: false
-        passive: false
-      - id: openstack-nova
-        http: false
-        passive: false
-      - id: openstack-swift
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.openstack.cinder.CinderComponent
-      - org.apache.camel.component.openstack.glance.GlanceComponent
-      - org.apache.camel.component.openstack.keystone.KeystoneComponent
-      - org.apache.camel.component.openstack.neutron.NeutronComponent
-      - org.apache.camel.component.openstack.nova.NovaComponent
-      - org.apache.camel.component.openstack.swift.SwiftComponent
-    camel-google-calendar:
-      groupId: org.apache.camel
-      artifactId: camel-google-calendar
-      schemes:
-      - id: google-calendar
-        http: false
-        passive: false
-      - id: google-calendar-stream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.calendar.GoogleCalendarComponent
-      - org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent
-    camel-browse:
-      groupId: org.apache.camel
-      artifactId: camel-browse
-      schemes:
-      - id: browse
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.browse.BrowseComponent
-    camel-ldif:
-      groupId: org.apache.camel
-      artifactId: camel-ldif
-      schemes:
-      - id: ldif
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ldif.LdifComponent
-    camel-google-sheets:
-      groupId: org.apache.camel
-      artifactId: camel-google-sheets
-      schemes:
-      - id: google-sheets
-        http: false
-        passive: false
-      - id: google-sheets-stream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.sheets.GoogleSheetsComponent
-      - org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent
-    camel-sap-netweaver:
-      groupId: org.apache.camel
-      artifactId: camel-sap-netweaver
-      schemes:
-      - id: sap-netweaver
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sap.netweaver.NetWeaverComponent
-    camel-ganglia:
-      groupId: org.apache.camel
-      artifactId: camel-ganglia
-      schemes:
-      - id: ganglia
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ganglia.GangliaComponent
-    camel-schematron:
-      groupId: org.apache.camel
-      artifactId: camel-schematron
-      schemes:
-      - id: schematron
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.schematron.SchematronComponent
-    camel-yammer:
-      groupId: org.apache.camel
-      artifactId: camel-yammer
-      schemes:
-      - id: yammer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.yammer.YammerComponent
-    camel-direct:
-      groupId: org.apache.camel
-      artifactId: camel-direct
-      schemes:
-      - id: direct
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.direct.DirectComponent
-    camel-chunk:
-      groupId: org.apache.camel
-      artifactId: camel-chunk
-      schemes:
-      - id: chunk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.chunk.ChunkComponent
-    camel-jacksonxml:
-      groupId: org.apache.camel
-      artifactId: camel-jacksonxml
-      dataformats:
-      - jacksonxml
-      javaTypes:
-      - org.apache.camel.component.jacksonxml.JacksonXMLDataFormat
-    camel-spring-batch:
-      groupId: org.apache.camel
-      artifactId: camel-spring-batch
-      schemes:
-      - id: spring-batch
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.spring.batch.SpringBatchComponent
-    camel-stub:
-      groupId: org.apache.camel
-      artifactId: camel-stub
-      schemes:
-      - id: stub
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.stub.StubComponent
-    camel-drill:
-      groupId: org.apache.camel
-      artifactId: camel-drill
-      schemes:
-      - id: drill
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.drill.DrillComponent
-    camel-zookeeper:
-      groupId: org.apache.camel
-      artifactId: camel-zookeeper
-      schemes:
-      - id: zookeeper
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.zookeeper.ZooKeeperComponent
-    camel-aws-cw:
-      groupId: org.apache.camel
-      artifactId: camel-aws-cw
-      schemes:
-      - id: aws-cw
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.cw.CwComponent
-    camel-xstream:
-      groupId: org.apache.camel
-      artifactId: camel-xstream
-      dataformats:
-      - json-xstream
-      - xstream
-      javaTypes:
-      - org.apache.camel.dataformat.xstream.JsonDataFormat
-      - org.apache.camel.dataformat.xstream.XStreamDataFormat
-    camel-weather:
-      groupId: org.apache.camel
-      artifactId: camel-weather
-      schemes:
-      - id: weather
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.weather.WeatherComponent
-    camel-fastjson:
-      groupId: org.apache.camel
-      artifactId: camel-fastjson
-      dataformats:
-      - json-fastjson
-      javaTypes:
-      - org.apache.camel.component.fastjson.FastjsonDataFormat
-    camel-pdf:
-      groupId: org.apache.camel
-      artifactId: camel-pdf
-      schemes:
-      - id: pdf
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pdf.PdfComponent
-    camel-spring-integration:
-      groupId: org.apache.camel
-      artifactId: camel-spring-integration
-      schemes:
-      - id: spring-integration
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.spring.integration.SpringIntegrationComponent
-    camel-paho:
-      groupId: org.apache.camel
-      artifactId: camel-paho
-      schemes:
-      - id: paho
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.paho.PahoComponent
-    camel-netty:
-      groupId: org.apache.camel
-      artifactId: camel-netty
-      schemes:
-      - id: netty
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.netty.NettyComponent
-    camel-mustache:
-      groupId: org.apache.camel
-      artifactId: camel-mustache
-      schemes:
-      - id: mustache
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mustache.MustacheComponent
-    camel-sip:
-      groupId: org.apache.camel
-      artifactId: camel-sip
-      schemes:
-      - id: sip
-        http: false
-        passive: false
-      - id: sips
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sip.SipComponent
-    camel-hbase:
-      groupId: org.apache.camel
-      artifactId: camel-hbase
-      schemes:
-      - id: hbase
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.hbase.HBaseComponent
-    camel-jackson:
-      groupId: org.apache.camel
-      artifactId: camel-jackson
-      dataformats:
-      - json-jackson
-      javaTypes:
-      - org.apache.camel.component.jackson.JacksonDataFormat
-    camel-kafka:
-      groupId: org.apache.camel
-      artifactId: camel-kafka
-      schemes:
-      - id: kafka
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.kafka.KafkaComponent
-    camel-twitter:
-      groupId: org.apache.camel
-      artifactId: camel-twitter
-      schemes:
-      - id: twitter-directmessage
-        http: false
-        passive: false
-      - id: twitter-search
-        http: false
-        passive: false
-      - id: twitter-timeline
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent
-      - org.apache.camel.component.twitter.search.TwitterSearchComponent
-      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
-    camel-salesforce:
-      groupId: org.apache.camel
-      artifactId: camel-salesforce
-      schemes:
-      - id: salesforce
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.salesforce.SalesforceComponent
-    camel-xj:
-      groupId: org.apache.camel
-      artifactId: camel-xj
-      schemes:
-      - id: xj
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xj.XJComponent
-    camel-servicenow:
-      groupId: org.apache.camel
-      artifactId: camel-servicenow
-      schemes:
-      - id: servicenow
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.servicenow.ServiceNowComponent
-    camel-ical:
-      groupId: org.apache.camel
-      artifactId: camel-ical
-      dataformats:
-      - ical
-      javaTypes:
-      - org.apache.camel.component.ical.ICalDataFormat
-    camel-corda:
-      groupId: org.apache.camel
-      artifactId: camel-corda
-      schemes:
-      - id: corda
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.corda.CordaComponent
-    camel-grape:
-      groupId: org.apache.camel
-      artifactId: camel-grape
-      schemes:
-      - id: grape
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.grape.GrapeComponent
-    camel-univocity-parsers:
-      groupId: org.apache.camel
-      artifactId: camel-univocity-parsers
-      dataformats:
-      - univocity-csv
-      - univocity-fixed
-      - univocity-tsv
-      javaTypes:
-      - org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat
-      - org.apache.camel.dataformat.univocity.UniVocityFixedWidthDataFormat
-      - org.apache.camel.dataformat.univocity.UniVocityTsvDataFormat
-    camel-hdfs:
-      groupId: org.apache.camel
-      artifactId: camel-hdfs
-      schemes:
-      - id: hdfs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.hdfs.HdfsComponent
-    camel-jclouds:
-      groupId: org.apache.camel
-      artifactId: camel-jclouds
-      schemes:
-      - id: jclouds
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jclouds.JcloudsComponent
-    camel-quickfix:
-      groupId: org.apache.camel
-      artifactId: camel-quickfix
-      schemes:
-      - id: quickfix
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.quickfixj.QuickfixjComponent
-    camel-nsq:
-      groupId: org.apache.camel
-      artifactId: camel-nsq
-      schemes:
-      - id: nsq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.nsq.NsqComponent
-    camel-hipchat:
-      groupId: org.apache.camel
-      artifactId: camel-hipchat
-      schemes:
-      - id: hipchat
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.hipchat.HipchatComponent
-    camel-hazelcast:
-      groupId: org.apache.camel
-      artifactId: camel-hazelcast
-      schemes:
-      - id: hazelcast-atomicvalue
-        http: false
-        passive: false
-      - id: hazelcast-instance
-        http: false
-        passive: false
-      - id: hazelcast-list
-        http: false
-        passive: false
-      - id: hazelcast-map
-        http: false
-        passive: false
-      - id: hazelcast-multimap
-        http: false
-        passive: false
-      - id: hazelcast-queue
-        http: false
-        passive: false
-      - id: hazelcast-replicatedmap
-        http: false
-        passive: false
-      - id: hazelcast-ringbuffer
-        http: false
-        passive: false
-      - id: hazelcast-seda
-        http: false
-        passive: false
-      - id: hazelcast-set
-        http: false
-        passive: false
-      - id: hazelcast-topic
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberComponent
-      - org.apache.camel.component.hazelcast.instance.HazelcastInstanceComponent
-      - org.apache.camel.component.hazelcast.list.HazelcastListComponent
-      - org.apache.camel.component.hazelcast.map.HazelcastMapComponent
-      - org.apache.camel.component.hazelcast.multimap.HazelcastMultimapComponent
-      - org.apache.camel.component.hazelcast.queue.HazelcastQueueComponent
-      - org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapComponent
-      - org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferComponent
-      - org.apache.camel.component.hazelcast.seda.HazelcastSedaComponent
-      - org.apache.camel.component.hazelcast.set.HazelcastSetComponent
-      - org.apache.camel.component.hazelcast.topic.HazelcastTopicComponent
-    camel-barcode:
-      groupId: org.apache.camel
-      artifactId: camel-barcode
-      dataformats:
-      - barcode
-      javaTypes:
-      - org.apache.camel.dataformat.barcode.BarcodeDataFormat
-    camel-aws-translate:
-      groupId: org.apache.camel
-      artifactId: camel-aws-translate
-      schemes:
-      - id: aws-translate
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.translate.TranslateComponent
-    camel-atmos:
-      groupId: org.apache.camel
-      artifactId: camel-atmos
-      schemes:
-      - id: atmos
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.atmos.AtmosComponent
-    camel-language:
-      groupId: org.apache.camel
-      artifactId: camel-language
-      schemes:
-      - id: language
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.language.LanguageComponent
-    camel-infinispan:
-      groupId: org.apache.camel
-      artifactId: camel-infinispan
-      schemes:
-      - id: infinispan
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.infinispan.InfinispanComponent
-    camel-google-pubsub:
-      groupId: org.apache.camel
-      artifactId: camel-google-pubsub
-      schemes:
-      - id: google-pubsub
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.pubsub.GooglePubsubComponent
-    camel-base64:
-      groupId: org.apache.camel
-      artifactId: camel-base64
-      dataformats:
-      - base64
-      javaTypes:
-      - org.apache.camel.dataformat.base64.Base64DataFormat
-    camel-lucene:
-      groupId: org.apache.camel
-      artifactId: camel-lucene
-      schemes:
-      - id: lucene
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.lucene.LuceneComponent
-    camel-bean:
-      groupId: org.apache.camel
-      artifactId: camel-bean
-      schemes:
-      - id: bean
-        http: false
-        passive: true
-      - id: class
-        http: false
-        passive: true
-      languages:
-      - bean
-      javaTypes:
-      - org.apache.camel.component.bean.BeanComponent
-      - org.apache.camel.component.beanclass.ClassComponent
-      - org.apache.camel.language.bean.BeanLanguage
-    camel-stream:
-      groupId: org.apache.camel
-      artifactId: camel-stream
-      schemes:
-      - id: stream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.stream.StreamComponent
-    camel-solr:
-      groupId: org.apache.camel
-      artifactId: camel-solr
-      schemes:
-      - 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-log:
-      groupId: org.apache.camel
-      artifactId: camel-log
-      schemes:
-      - id: log
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.log.LogComponent
-    camel-iec60870:
-      groupId: org.apache.camel
-      artifactId: camel-iec60870
-      schemes:
-      - id: iec60870-client
-        http: false
-        passive: false
-      - id: iec60870-server
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.iec60870.client.ClientComponent
-      - org.apache.camel.component.iec60870.server.ServerComponent
-    camel-atmosphere-websocket:
-      groupId: org.apache.camel
-      artifactId: camel-atmosphere-websocket
-      schemes:
-      - id: atmosphere-websocket
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.atmosphere.websocket.WebsocketComponent
-    camel-debezium-mongodb:
-      groupId: org.apache.camel
-      artifactId: camel-debezium-mongodb
-      schemes:
-      - id: debezium-mongodb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMongodbComponent
-    camel-spring-ldap:
-      groupId: org.apache.camel
-      artifactId: camel-spring-ldap
-      schemes:
-      - id: spring-ldap
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.springldap.SpringLdapComponent
-    camel-dns:
-      groupId: org.apache.camel
-      artifactId: camel-dns
-      schemes:
-      - id: dns
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.dns.DnsComponent
-    camel-reactive-streams:
-      groupId: org.apache.camel
-      artifactId: camel-reactive-streams
-      schemes:
-      - id: reactive-streams
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
-    camel-graphql:
-      groupId: org.apache.camel
-      artifactId: camel-graphql
-      schemes:
-      - id: graphql
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.graphql.GraphqlComponent
-    camel-coap:
-      groupId: org.apache.camel
-      artifactId: camel-coap
-      schemes:
-      - id: coap
-        http: false
-        passive: false
-      - id: coaps
-        http: false
-        passive: false
-      - id: coap+tcp
-        http: false
-        passive: false
-      - id: coaps+tcp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.coap.CoAPComponent
-    camel-dataset:
-      groupId: org.apache.camel
-      artifactId: camel-dataset
-      schemes:
-      - id: dataset
-        http: false
-        passive: true
-      - id: dataset-test
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.dataset.DataSetComponent
-      - org.apache.camel.component.dataset.DataSetTestComponent
-    camel-jsonapi:
-      groupId: org.apache.camel
-      artifactId: camel-jsonapi
-      dataformats:
-      - jsonApi
-      javaTypes:
-      - org.apache.camel.component.jsonapi.JsonApiDataFormat
-    camel-zendesk:
-      groupId: org.apache.camel
-      artifactId: camel-zendesk
-      schemes:
-      - id: zendesk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.zendesk.ZendeskComponent
-    camel-jdbc:
-      groupId: org.apache.camel
-      artifactId: camel-jdbc
-      schemes:
-      - id: jdbc
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jdbc.JdbcComponent
-    camel-spark:
-      groupId: org.apache.camel
-      artifactId: camel-spark
-      schemes:
-      - id: spark
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.spark.SparkComponent
-    camel-ahc:
-      groupId: org.apache.camel
-      artifactId: camel-ahc
-      schemes:
-      - id: ahc
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ahc.AhcComponent
-    camel-controlbus:
-      groupId: org.apache.camel
-      artifactId: camel-controlbus
-      schemes:
-      - id: controlbus
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.controlbus.ControlBusComponent
-    camel-disruptor:
-      groupId: org.apache.camel
-      artifactId: camel-disruptor
-      schemes:
-      - id: disruptor
-        http: false
-        passive: false
-      - id: disruptor-vm
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.disruptor.DisruptorComponent
-      - org.apache.camel.component.disruptor.vm.DisruptorVmComponent
-    camel-dozer:
-      groupId: org.apache.camel
-      artifactId: camel-dozer
-      schemes:
-      - id: dozer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.dozer.DozerComponent
-    camel-beanio:
-      groupId: org.apache.camel
-      artifactId: camel-beanio
-      dataformats:
-      - beanio
-      javaTypes:
-      - org.apache.camel.dataformat.beanio.BeanIODataFormat
-    camel-bindy:
-      groupId: org.apache.camel
-      artifactId: camel-bindy
-      dataformats:
-      - bindy-csv
-      - bindy-fixed
-      - bindy-kvp
-      javaTypes:
-      - org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat
-      - org.apache.camel.dataformat.bindy.fixed.BindyFixedLengthDataFormat
-      - org.apache.camel.dataformat.bindy.kvp.BindyKeyValuePairDataFormat
-    camel-guava-eventbus:
-      groupId: org.apache.camel
-      artifactId: camel-guava-eventbus
-      schemes:
-      - id: guava-eventbus
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.guava.eventbus.GuavaEventBusComponent
-    camel-msv:
-      groupId: org.apache.camel
-      artifactId: camel-msv
-      schemes:
-      - id: msv
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.validator.msv.MsvComponent
-    camel-jms:
-      groupId: org.apache.camel
-      artifactId: camel-jms
-      schemes:
-      - id: jms
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jms.JmsComponent
-    camel-file-watch:
-      groupId: org.apache.camel
-      artifactId: camel-file-watch
-      schemes:
-      - id: file-watch
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.file.watch.FileWatchComponent
-    camel-aws-sdb:
-      groupId: org.apache.camel
-      artifactId: camel-aws-sdb
-      schemes:
-      - id: aws-sdb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.sdb.SdbComponent
-    camel-file:
-      groupId: org.apache.camel
-      artifactId: camel-file
-      schemes:
-      - id: file
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.file.FileComponent
-    camel-gora:
-      groupId: org.apache.camel
-      artifactId: camel-gora
-      schemes:
-      - id: gora
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.gora.GoraComponent
-    camel-jmx:
-      groupId: org.apache.camel
-      artifactId: camel-jmx
-      schemes:
-      - id: jmx
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jmx.JMXComponent
-    camel-timer:
-      groupId: org.apache.camel
-      artifactId: camel-timer
-      schemes:
-      - id: timer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.timer.TimerComponent
-    camel-jcache:
-      groupId: org.apache.camel
-      artifactId: camel-jcache
-      schemes:
-      - id: jcache
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jcache.JCacheComponent
-    camel-freemarker:
-      groupId: org.apache.camel
-      artifactId: camel-freemarker
-      schemes:
-      - id: freemarker
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.freemarker.FreemarkerComponent
-    camel-ironmq:
-      groupId: org.apache.camel
-      artifactId: camel-ironmq
-      schemes:
-      - id: ironmq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ironmq.IronMQComponent
-    camel-fhir:
-      groupId: org.apache.camel
-      artifactId: camel-fhir
-      schemes:
-      - id: fhir
-        http: false
-        passive: false
-      dataformats:
-      - fhirJson
-      - fhirXml
-      javaTypes:
-      - org.apache.camel.component.fhir.FhirComponent
-      - org.apache.camel.component.fhir.FhirJsonDataFormat
-      - org.apache.camel.component.fhir.FhirXmlDataFormat
-    camel-saxon:
-      groupId: org.apache.camel
-      artifactId: camel-saxon
-      schemes:
-      - id: xquery
-        http: false
-        passive: false
-      languages:
-      - xquery
-      javaTypes:
-      - org.apache.camel.component.xquery.XQueryComponent
-      - org.apache.camel.language.xquery.XQueryLanguage
-    camel-jsonpath:
-      groupId: org.apache.camel
-      artifactId: camel-jsonpath
-      languages:
-      - jsonpath
-      javaTypes:
-      - org.apache.camel.jsonpath.JsonPathLanguage
-    camel-spark-rest:
-      groupId: org.apache.camel
-      artifactId: camel-spark-rest
-      schemes:
-      - id: spark-rest
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sparkrest.SparkComponent
-    camel-jt400:
-      groupId: org.apache.camel
-      artifactId: camel-jt400
-      schemes:
-      - id: jt400
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jt400.Jt400Component
-    camel-rabbitmq:
-      groupId: org.apache.camel
-      artifactId: camel-rabbitmq
-      schemes:
-      - id: rabbitmq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.rabbitmq.RabbitMQComponent
-    camel-jbpm:
-      groupId: org.apache.camel
-      artifactId: camel-jbpm
-      schemes:
-      - id: jbpm
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jbpm.JBPMComponent
-    camel-jing:
-      groupId: org.apache.camel
-      artifactId: camel-jing
-      schemes:
-      - id: jing
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.validator.jing.JingComponent
-    camel-aws-iam:
-      groupId: org.apache.camel
-      artifactId: camel-aws-iam
-      schemes:
-      - id: aws-iam
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.iam.IAMComponent
-    camel-snmp:
-      groupId: org.apache.camel
-      artifactId: camel-snmp
-      schemes:
-      - id: snmp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.snmp.SnmpComponent
-    camel-web3j:
-      groupId: org.apache.camel
-      artifactId: camel-web3j
-      schemes:
-      - id: web3j
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.web3j.Web3jComponent
-    camel-atom:
-      groupId: org.apache.camel
-      artifactId: camel-atom
-      schemes:
-      - id: atom
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.atom.AtomComponent
-    camel-tagsoup:
-      groupId: org.apache.camel
-      artifactId: camel-tagsoup
-      dataformats:
-      - tidyMarkup
-      javaTypes:
-      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
-    camel-etcd:
-      groupId: org.apache.camel
-      artifactId: camel-etcd
-      schemes:
-      - id: etcd
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.etcd.EtcdComponent
-    camel-ftp:
-      groupId: org.apache.camel
-      artifactId: camel-ftp
-      schemes:
-      - id: ftp
-        http: false
-        passive: false
-      - id: ftps
-        http: false
-        passive: false
-      - id: sftp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.file.remote.FtpComponent
-      - org.apache.camel.component.file.remote.FtpsComponent
-      - org.apache.camel.component.file.remote.SftpComponent
-    camel-aws-ses:
-      groupId: org.apache.camel
-      artifactId: camel-aws-ses
-      schemes:
-      - id: aws-ses
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ses.SesComponent
-    camel-jgroups:
-      groupId: org.apache.camel
-      artifactId: camel-jgroups
-      schemes:
-      - id: jgroups
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jgroups.JGroupsComponent
-    camel-master:
-      groupId: org.apache.camel
-      artifactId: camel-master
-      schemes:
-      - id: master
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.master.MasterComponent
-    camel-eventadmin:
-      groupId: org.apache.camel
-      artifactId: camel-eventadmin
-      schemes:
-      - id: eventadmin
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.eventadmin.EventAdminComponent
-    camel-optaplanner:
-      groupId: org.apache.camel
-      artifactId: camel-optaplanner
-      schemes:
-      - id: optaplanner
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.optaplanner.OptaPlannerComponent
-    camel-amqp:
-      groupId: org.apache.camel
-      artifactId: camel-amqp
-      schemes:
-      - id: amqp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.amqp.AMQPComponent
-    camel-github:
-      groupId: org.apache.camel
-      artifactId: camel-github
-      schemes:
-      - id: github
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.github.GitHubComponent
-    camel-atomix:
-      groupId: org.apache.camel
-      artifactId: camel-atomix
-      schemes:
-      - id: atomix-map
-        http: false
-        passive: false
-      - id: atomix-messaging
-        http: false
-        passive: false
-      - id: atomix-multimap
-        http: false
-        passive: false
-      - id: atomix-queue
-        http: false
-        passive: false
-      - id: atomix-set
-        http: false
-        passive: false
-      - id: atomix-value
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.atomix.client.map.AtomixMapComponent
-      - org.apache.camel.component.atomix.client.messaging.AtomixMessagingComponent
-      - org.apache.camel.component.atomix.client.multimap.AtomixMultiMapComponent
-      - org.apache.camel.component.atomix.client.queue.AtomixQueueComponent
-      - org.apache.camel.component.atomix.client.set.AtomixSetComponent
-      - org.apache.camel.component.atomix.client.value.AtomixValueComponent
-    camel-box:
-      groupId: org.apache.camel
-      artifactId: camel-box
-      schemes:
-      - id: box
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.box.BoxComponent
-    camel-sql:
-      groupId: org.apache.camel
-      artifactId: camel-sql
-      schemes:
-      - id: sql
-        http: false
-        passive: false
-      - id: sql-stored
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sql.SqlComponent
-      - org.apache.camel.component.sql.stored.SqlStoredComponent
-    camel-flatpack:
-      groupId: org.apache.camel
-      artifactId: camel-flatpack
-      schemes:
-      - id: flatpack
-        http: false
-        passive: false
-      dataformats:
-      - flatpack
-      javaTypes:
-      - org.apache.camel.component.flatpack.FlatpackComponent
-      - org.apache.camel.dataformat.flatpack.FlatpackDataFormat
-    camel-git:
-      groupId: org.apache.camel
-      artifactId: camel-git
-      schemes:
-      - id: git
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.git.GitComponent
-    camel-chatscript:
-      groupId: org.apache.camel
-      artifactId: camel-chatscript
-      schemes:
-      - id: chatscript
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.chatscript.ChatScriptComponent
-    camel-telegram:
-      groupId: org.apache.camel
-      artifactId: camel-telegram
-      schemes:
-      - id: telegram
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.telegram.TelegramComponent
-    camel-asn1:
-      groupId: org.apache.camel
-      artifactId: camel-asn1
-      dataformats:
-      - asn1
-      javaTypes:
-      - org.apache.camel.dataformat.asn1.ASN1DataFormat
-    camel-nitrite:
-      groupId: org.apache.camel
-      artifactId: camel-nitrite
-      schemes:
-      - id: nitrite
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.nitrite.NitriteComponent
-    camel-aws-sns:
-      groupId: org.apache.camel
-      artifactId: camel-aws-sns
-      schemes:
-      - id: aws-sns
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.sns.SnsComponent
-    camel-avro:
-      groupId: org.apache.camel
-      artifactId: camel-avro
-      schemes:
-      - id: avro
-        http: false
-        passive: false
-      dataformats:
-      - avro
-      javaTypes:
-      - org.apache.camel.component.avro.AvroComponent
-      - org.apache.camel.dataformat.avro.AvroDataFormat
-    camel-mllp:
-      groupId: org.apache.camel
-      artifactId: camel-mllp
-      schemes:
-      - id: mllp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mllp.MllpComponent
-    camel-pg-replication-slot:
-      groupId: org.apache.camel
-      artifactId: camel-pg-replication-slot
-      schemes:
-      - id: pg-replication-slot
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent
-    camel-elsql:
-      groupId: org.apache.camel
-      artifactId: camel-elsql
-      schemes:
-      - id: elsql
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.elsql.ElsqlComponent
-    camel-aws-msk:
-      groupId: org.apache.camel
-      artifactId: camel-aws-msk
-      schemes:
-      - id: aws-msk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.msk.MSKComponent
-    camel-stringtemplate:
-      groupId: org.apache.camel
-      artifactId: camel-stringtemplate
-      schemes:
-      - id: string-template
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.stringtemplate.StringTemplateComponent
-    camel-debezium-mysql:
-      groupId: org.apache.camel
-      artifactId: camel-debezium-mysql
-      schemes:
-      - id: debezium-mysql
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMySqlComponent
-    camel-servlet:
-      groupId: org.apache.camel
-      artifactId: camel-servlet
-      schemes:
-      - id: servlet
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.servlet.ServletComponent
-    camel-spring-redis:
-      groupId: org.apache.camel
-      artifactId: camel-spring-redis
-      schemes:
-      - id: spring-redis
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.redis.RedisComponent
-    camel-soroush:
-      groupId: org.apache.camel
-      artifactId: camel-soroush
-      schemes:
-      - id: soroush
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.soroushbot.component.SoroushBotComponent
-    camel-jsch:
-      groupId: org.apache.camel
-      artifactId: camel-jsch
-      schemes:
-      - id: scp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.scp.ScpComponent
-    camel-kubernetes:
-      groupId: org.apache.camel
-      artifactId: camel-kubernetes
-      schemes:
-      - id: kubernetes-config-maps
-        http: false
-        passive: false
-      - id: kubernetes-deployments
-        http: false
-        passive: false
-      - id: kubernetes-hpa
-        http: false
-        passive: false
-      - id: kubernetes-job
-        http: false
-        passive: false
-      - id: kubernetes-namespaces
-        http: false
-        passive: false
-      - id: kubernetes-nodes
-        http: false
-        passive: false
-      - id: kubernetes-persistent-volumes
-        http: false
-        passive: false
-      - id: kubernetes-persistent-volumes-claims
-        http: false
-        passive: false
-      - id: kubernetes-pods
-        http: false
-        passive: false
-      - id: kubernetes-replication-controllers
-        http: false
-        passive: false
-      - id: kubernetes-resources-quota
-        http: false
-        passive: false
-      - id: kubernetes-secrets
-        http: false
-        passive: false
-      - id: kubernetes-service-accounts
-        http: false
-        passive: false
-      - id: kubernetes-services
-        http: false
-        passive: false
-      - id: openshift-build-configs
-        http: false
-        passive: false
-      - id: openshift-builds
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsComponent
-      - org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsComponent
-      - org.apache.camel.component.kubernetes.hpa.KubernetesHPAComponent
-      - org.apache.camel.component.kubernetes.job.KubernetesJobComponent
-      - org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesComponent
-      - org.apache.camel.component.kubernetes.nodes.KubernetesNodesComponent
-      - org.apache.camel.component.kubernetes.persistent_volumes.KubernetesPersistentVolumesComponent
-      - org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsComponent
-      - org.apache.camel.component.kubernetes.pods.KubernetesPodsComponent
-      - org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersComponent
-      - org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaComponent
-      - org.apache.camel.component.kubernetes.secrets.KubernetesSecretsComponent
-      - org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsComponent
-      - org.apache.camel.component.kubernetes.services.KubernetesServicesComponent
-      - org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsComponent
-      - org.apache.camel.component.openshift.builds.OpenshiftBuildsComponent
-    camel-digitalocean:
-      groupId: org.apache.camel
-      artifactId: camel-digitalocean
-      schemes:
-      - id: digitalocean
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.digitalocean.DigitalOceanComponent
-    camel-google-bigquery:
-      groupId: org.apache.camel
-      artifactId: camel-google-bigquery
-      schemes:
-      - id: google-bigquery
-        http: false
-        passive: false
-      - id: google-bigquery-sql
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.bigquery.GoogleBigQueryComponent
-      - org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent
-    camel-consul:
-      groupId: org.apache.camel
-      artifactId: camel-consul
-      schemes:
-      - id: consul
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.consul.ConsulComponent
-    camel-nats:
-      groupId: org.apache.camel
-      artifactId: camel-nats
-      schemes:
-      - id: nats
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.nats.NatsComponent
-    camel-debezium-postgres:
-      groupId: org.apache.camel
-      artifactId: camel-debezium-postgres
-      schemes:
-      - id: debezium-postgres
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.debezium.DebeziumPostgresComponent
-    camel-hl7:
-      groupId: org.apache.camel
-      artifactId: camel-hl7
-      languages:
-      - hl7terser
-      dataformats:
-      - hl7
-      javaTypes:
-      - org.apache.camel.component.hl7.Hl7TerserLanguage
-      - org.apache.camel.component.hl7.HL7DataFormat
-    camel-aws-ecs:
-      groupId: org.apache.camel
-      artifactId: camel-aws-ecs
-      schemes:
-      - id: aws-ecs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ecs.ECSComponent
-    camel-zip-deflater:
-      groupId: org.apache.camel
-      artifactId: camel-zip-deflater
-      dataformats:
-      - gzipdeflater
-      - zipdeflater
-      javaTypes:
-      - org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat
-      - org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat
-    camel-kudu:
-      groupId: org.apache.camel
-      artifactId: camel-kudu
-      schemes:
-      - id: kudu
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.kudu.KuduComponent
-    camel-jgroups-raft:
-      groupId: org.apache.camel
-      artifactId: camel-jgroups-raft
-      schemes:
-      - id: jgroups-raft
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jgroups.raft.JGroupsRaftComponent
-    camel-cmis:
-      groupId: org.apache.camel
-      artifactId: camel-cmis
-      schemes:
-      - id: cmis
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cmis.CMISComponent
-    camel-beanstalk:
-      groupId: org.apache.camel
-      artifactId: camel-beanstalk
-      schemes:
-      - id: beanstalk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.beanstalk.BeanstalkComponent
-    camel-aws-mq:
-      groupId: org.apache.camel
-      artifactId: camel-aws-mq
-      schemes:
-      - id: aws-mq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.mq.MQComponent
-    camel-mongodb-gridfs:
-      groupId: org.apache.camel
-      artifactId: camel-mongodb-gridfs
-      schemes:
-      - id: mongodb-gridfs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mongodb.gridfs.GridFsComponent
-    camel-undertow:
-      groupId: org.apache.camel
-      artifactId: camel-undertow
-      schemes:
-      - id: undertow
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.undertow.UndertowComponent
-    camel-robotframework:
-      groupId: org.apache.camel
-      artifactId: camel-robotframework
-      schemes:
-      - id: robotframework
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.robotframework.RobotFrameworkComponent
-    camel-xpath:
-      groupId: org.apache.camel
-      artifactId: camel-xpath
-      languages:
-      - xpath
-      javaTypes:
-      - org.apache.camel.language.xpath.XPathLanguage
-    camel-ssh:
-      groupId: org.apache.camel
-      artifactId: camel-ssh
-      schemes:
-      - id: ssh
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ssh.SshComponent
-    camel-mock:
-      groupId: org.apache.camel
-      artifactId: camel-mock
-      schemes:
-      - id: mock
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.mock.MockComponent
-    camel-websocket-jsr356:
-      groupId: org.apache.camel
-      artifactId: camel-websocket-jsr356
-      schemes:
-      - id: websocket-jsr356
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
-    camel-twilio:
-      groupId: org.apache.camel
-      artifactId: camel-twilio
-      schemes:
-      - id: twilio
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.twilio.TwilioComponent
-    camel-jolt:
-      groupId: org.apache.camel
-      artifactId: camel-jolt
-      schemes:
-      - id: jolt
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jolt.JoltComponent
-    camel-soap:
-      groupId: org.apache.camel
-      artifactId: camel-soap
-      dataformats:
-      - soapjaxb
-      javaTypes:
-      - org.apache.camel.dataformat.soap.SoapJaxbDataFormat
-    camel-thrift:
-      groupId: org.apache.camel
-      artifactId: camel-thrift
-      schemes:
-      - id: thrift
-        http: false
-        passive: false
-      dataformats:
-      - thrift
-      javaTypes:
-      - org.apache.camel.component.thrift.ThriftComponent
-      - org.apache.camel.dataformat.thrift.ThriftDataFormat
-    camel-crypto-cms:
-      groupId: org.apache.camel
-      artifactId: camel-crypto-cms
-      schemes:
-      - id: crypto-cms
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.crypto.cms.CryptoCmsComponent
-    camel-ognl:
-      groupId: org.apache.camel
-      artifactId: camel-ognl
-      languages:
-      - ognl
-      javaTypes:
-      - org.apache.camel.language.ognl.OgnlLanguage
-    camel-couchdb:
-      groupId: org.apache.camel
-      artifactId: camel-couchdb
-      schemes:
-      - id: couchdb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.couchdb.CouchDbComponent
-    camel-groovy:
-      groupId: org.apache.camel
-      artifactId: camel-groovy
-      languages:
-      - groovy
-      javaTypes:
-      - org.apache.camel.language.groovy.GroovyLanguage
-    camel-saga:
-      groupId: org.apache.camel
-      artifactId: camel-saga
-      schemes:
-      - id: saga
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.saga.SagaComponent
-    camel-elasticsearch-rest:
-      groupId: org.apache.camel
-      artifactId: camel-elasticsearch-rest
-      schemes:
-      - id: elasticsearch-rest
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.elasticsearch.ElasticsearchComponent
-    camel-ldap:
-      groupId: org.apache.camel
-      artifactId: camel-ldap
-      schemes:
-      - id: ldap
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ldap.LdapComponent
-    camel-csv:
-      groupId: org.apache.camel
-      artifactId: camel-csv
-      dataformats:
-      - csv
-      javaTypes:
-      - org.apache.camel.dataformat.csv.CsvDataFormat
-    camel-geocoder:
-      groupId: org.apache.camel
-      artifactId: camel-geocoder
-      schemes:
-      - id: geocoder
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.geocoder.GeoCoderComponent
-    camel-mybatis:
-      groupId: org.apache.camel
-      artifactId: camel-mybatis
-      schemes:
-      - id: mybatis
-        http: false
-        passive: false
-      - id: mybatis-bean
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mybatis.MyBatisComponent
-      - org.apache.camel.component.mybatis.MyBatisBeanComponent
-    camel-directvm:
-      groupId: org.apache.camel
-      artifactId: camel-directvm
-      schemes:
-      - id: direct-vm
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.directvm.DirectVmComponent
-    camel-xmpp:
-      groupId: org.apache.camel
-      artifactId: camel-xmpp
-      schemes:
-      - id: xmpp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xmpp.XmppComponent
-    camel-jira:
-      groupId: org.apache.camel
-      artifactId: camel-jira
-      schemes:
-      - id: jira
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jira.JiraComponent
-    camel-asterisk:
-      groupId: org.apache.camel
-      artifactId: camel-asterisk
-      schemes:
-      - id: asterisk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.asterisk.AsteriskComponent
-    camel-splunk:
-      groupId: org.apache.camel
-      artifactId: camel-splunk
-      schemes:
-      - id: splunk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.splunk.SplunkComponent
-    camel-mail:
-      groupId: org.apache.camel
-      artifactId: camel-mail
-      schemes:
-      - id: imap
-        http: false
-        passive: false
-      - id: imaps
-        http: false
-        passive: false
-      - id: pop3
-        http: false
-        passive: false
-      - id: pop3s
-        http: false
-        passive: false
-      - id: smtp
-        http: false
-        passive: false
-      - id: smtps
-        http: false
-        passive: false
-      dataformats:
-      - mime-multipart
-      javaTypes:
-      - org.apache.camel.component.mail.MailComponent
-      - org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat
-    camel-metrics:
-      groupId: org.apache.camel
-      artifactId: camel-metrics
-      schemes:
-      - id: metrics
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.metrics.MetricsComponent
-    camel-aws-sqs:
-      groupId: org.apache.camel
-      artifactId: camel-aws-sqs
-      schemes:
-      - id: aws-sqs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.sqs.SqsComponent
-    camel-cm-sms:
-      groupId: org.apache.camel
-      artifactId: camel-cm-sms
-      schemes:
-      - id: cm-sms
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cm.CMComponent
-    camel-xslt:
-      groupId: org.apache.camel
-      artifactId: camel-xslt
-      schemes:
-      - id: xslt
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xslt.XsltComponent
-    camel-flink:
-      groupId: org.apache.camel
-      artifactId: camel-flink
-      schemes:
-      - id: flink
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.flink.FlinkComponent
-    camel-braintree:
-      groupId: org.apache.camel
-      artifactId: camel-braintree
-      schemes:
-      - id: braintree
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.braintree.BraintreeComponent
-    camel-base:
-      groupId: org.apache.camel
-      artifactId: camel-base
-      languages:
-      - constant
-      - exchangeProperty
-      - file
-      - header
-      - ref
-      - simple
-      - tokenize
-      javaTypes:
-      - org.apache.camel.language.constant.ConstantLanguage
-      - org.apache.camel.language.property.ExchangePropertyLanguage
-      - org.apache.camel.language.simple.FileLanguage
-      - org.apache.camel.language.header.HeaderLanguage
-      - org.apache.camel.language.ref.RefLanguage
-      - org.apache.camel.language.simple.SimpleLanguage
-      - org.apache.camel.language.tokenizer.TokenizeLanguage
-    camel-jpa:
-      groupId: org.apache.camel
-      artifactId: camel-jpa
-      schemes:
-      - id: jpa
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jpa.JpaComponent
-    camel-cassandraql:
-      groupId: org.apache.camel
-      artifactId: camel-cassandraql
-      schemes:
-      - id: cql
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cassandra.CassandraComponent
-    camel-couchbase:
-      groupId: org.apache.camel
-      artifactId: camel-couchbase
-      schemes:
-      - id: couchbase
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.couchbase.CouchbaseComponent
-    camel-aws-ddb:
-      groupId: org.apache.camel
-      artifactId: camel-aws-ddb
-      schemes:
-      - id: aws-ddb
-        http: false
-        passive: false
-      - id: aws-ddbstream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ddb.DdbComponent
-      - org.apache.camel.component.aws.ddbstream.DdbStreamComponent
-    camel-syslog:
-      groupId: org.apache.camel
-      artifactId: camel-syslog
-      dataformats:
-      - syslog
-      javaTypes:
-      - org.apache.camel.component.syslog.SyslogDataFormat
-    camel-pubnub:
-      groupId: org.apache.camel
-      artifactId: camel-pubnub
-      schemes:
-      - id: pubnub
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pubnub.PubNubComponent
-    camel-gson:
-      groupId: org.apache.camel
-      artifactId: camel-gson
-      dataformats:
-      - json-gson
-      javaTypes:
-      - org.apache.camel.component.gson.GsonDataFormat
-    camel-json-validator:
-      groupId: org.apache.camel
-      artifactId: camel-json-validator
-      schemes:
-      - id: json-validator
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jsonvalidator.JsonValidatorComponent
-    camel-rss:
-      groupId: org.apache.camel
-      artifactId: camel-rss
-      schemes:
-      - id: rss
-        http: false
-        passive: false
-      dataformats:
-      - rss
-      javaTypes:
-      - org.apache.camel.component.rss.RssComponent
-      - org.apache.camel.dataformat.rss.RssDataFormat
-    camel-dataformat:
-      groupId: org.apache.camel
-      artifactId: camel-dataformat
-      schemes:
-      - id: dataformat
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.dataformat.DataFormatComponent
-    camel-xmlsecurity:
-      groupId: org.apache.camel
-      artifactId: camel-xmlsecurity
-      schemes:
-      - id: xmlsecurity
-        http: false
-        passive: false
-      dataformats:
-      - secureXML
-      javaTypes:
-      - org.apache.camel.component.xmlsecurity.XmlSignatureComponent
-      - org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat
-    camel-bonita:
-      groupId: org.apache.camel
-      artifactId: camel-bonita
-      schemes:
-      - id: bonita
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.bonita.BonitaComponent
-    camel-rest:
-      groupId: org.apache.camel
-      artifactId: camel-rest
-      schemes:
-      - id: rest
-        http: true
-        passive: false
-      - id: rest-api
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.rest.RestComponent
-      - org.apache.camel.component.rest.RestApiComponent
-    camel-service:
-      groupId: org.apache.camel
-      artifactId: camel-service
-      schemes:
-      - id: service
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.service.ServiceComponent
-    camel-protobuf:
-      groupId: org.apache.camel
-      artifactId: camel-protobuf
-      dataformats:
-      - protobuf
-      javaTypes:
-      - org.apache.camel.dataformat.protobuf.ProtobufDataFormat
-    camel-smpp:
-      groupId: org.apache.camel
-      artifactId: camel-smpp
-      schemes:
-      - id: smpp
-        http: false
-        passive: false
-      - id: smpps
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.smpp.SmppComponent
-    camel-velocity:
-      groupId: org.apache.camel
-      artifactId: camel-velocity
-      schemes:
-      - id: velocity
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.velocity.VelocityComponent
-    camel-google-mail:
-      groupId: org.apache.camel
-      artifactId: camel-google-mail
-      schemes:
-      - id: google-mail
-        http: false
-        passive: false
-      - id: google-mail-stream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.mail.GoogleMailComponent
-      - org.apache.camel.component.google.mail.stream.GoogleMailStreamComponent
-    camel-as2:
-      groupId: org.apache.camel
-      artifactId: camel-as2
-      schemes:
-      - id: as2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.as2.AS2Component
-    camel-xchange:
-      groupId: org.apache.camel
-      artifactId: camel-xchange
-      schemes:
-      - id: xchange
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xchange.XChangeComponent
-    camel-paxlogging:
-      groupId: org.apache.camel
-      artifactId: camel-paxlogging
-      schemes:
-      - id: paxlogging
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.paxlogging.PaxLoggingComponent
-    camel-tarfile:
-      groupId: org.apache.camel
-      artifactId: camel-tarfile
-      dataformats:
-      - tarfile
-      javaTypes:
-      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
-    camel-jooq:
-      groupId: org.apache.camel
-      artifactId: camel-jooq
-      schemes:
-      - id: jooq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jooq.JooqComponent
-    camel-ahc-ws:
-      groupId: org.apache.camel
-      artifactId: camel-ahc-ws
-      schemes:
-      - id: ahc-ws
-        http: true
-        passive: false
-      - id: ahc-wss
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ahc.ws.WsComponent
-    camel-johnzon:
-      groupId: org.apache.camel
-      artifactId: camel-johnzon
-      dataformats:
-      - json-johnzon
-      javaTypes:
-      - org.apache.camel.component.johnzon.JohnzonDataFormat
-    camel-ignite:
-      groupId: org.apache.camel
-      artifactId: camel-ignite
-      schemes:
-      - id: ignite-cache
-        http: false
-        passive: false
-      - id: ignite-compute
-        http: false
-        passive: false
-      - id: ignite-events
-        http: false
-        passive: false
-      - id: ignite-idgen
-        http: false
-        passive: false
-      - id: ignite-messaging
-        http: false
-        passive: false
-      - id: ignite-queue
-        http: false
-        passive: false
-      - id: ignite-set
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ignite.cache.IgniteCacheComponent
-      - org.apache.camel.component.ignite.compute.IgniteComputeComponent
-      - org.apache.camel.component.ignite.events.IgniteEventsComponent
-      - org.apache.camel.component.ignite.idgen.IgniteIdGenComponent
-      - org.apache.camel.component.ignite.messaging.IgniteMessagingComponent
-      - org.apache.camel.component.ignite.queue.IgniteQueueComponent
-      - org.apache.camel.component.ignite.set.IgniteSetComponent
-    camel-xslt-saxon:
-      groupId: org.apache.camel
-      artifactId: camel-xslt-saxon
-      schemes:
-      - id: xslt-saxon
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xslt.saxon.XsltSaxonComponent
-    camel-pulsar:
-      groupId: org.apache.camel
-      artifactId: camel-pulsar
-      schemes:
-      - id: pulsar
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pulsar.PulsarComponent
-    camel-rest-swagger:
-      groupId: org.apache.camel
-      artifactId: camel-rest-swagger
-      schemes:
-      - id: rest-swagger
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.rest.swagger.RestSwaggerComponent
-    camel-spring:
-      groupId: org.apache.camel
-      artifactId: camel-spring
-      schemes:
-      - id: spring-event
-        http: false
-        passive: false
-      languages:
-      - spel
-      javaTypes:
-      - org.apache.camel.component.event.EventComponent
-      - org.apache.camel.language.spel.SpelLanguage
-    camel-exec:
-      groupId: org.apache.camel
-      artifactId: camel-exec
-      schemes:
-      - id: exec
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.exec.ExecComponent
-    camel-microprofile-metrics:
-      groupId: org.apache.camel
-      artifactId: camel-microprofile-metrics
-      schemes:
-      - id: microprofile-metrics
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
-    camel-aws-s3:
-      groupId: org.apache.camel
-      artifactId: camel-aws-s3
-      schemes:
-      - id: aws-s3
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.s3.S3Component
-    camel-zookeeper-master:
-      groupId: org.apache.camel
-      artifactId: camel-zookeeper-master
-      schemes:
-      - id: zookeeper-master
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.zookeepermaster.MasterComponent
-    camel-grok:
-      groupId: org.apache.camel
-      artifactId: camel-grok
-      dataformats:
-      - grok
-      javaTypes:
-      - org.apache.camel.component.grok.GrokDataFormat
-    camel-mvel:
-      groupId: org.apache.camel
-      artifactId: camel-mvel
-      schemes:
-      - id: mvel
-        http: false
-        passive: false
-      languages:
-      - mvel
-      javaTypes:
-      - org.apache.camel.component.mvel.MvelComponent
-      - org.apache.camel.language.mvel.MvelLanguage
-    camel-debezium-sqlserver:
-      groupId: org.apache.camel
-      artifactId: camel-debezium-sqlserver
-      schemes:
-      - id: debezium-sqlserver
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.debezium.DebeziumSqlserverComponent
-    camel-cbor:
-      groupId: org.apache.camel
-      artifactId: camel-cbor
-      dataformats:
-      - cbor
-      javaTypes:
-      - org.apache.camel.component.cbor.CBORDataFormat
-    camel-google-drive:
-      groupId: org.apache.camel
-      artifactId: camel-google-drive
-      schemes:
-      - id: google-drive
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.drive.GoogleDriveComponent
-    camel-iota:
-      groupId: org.apache.camel
-      artifactId: camel-iota
-      schemes:
-      - id: iota
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.iota.IOTAComponent
-    camel-cxf:
-      groupId: org.apache.camel
-      artifactId: camel-cxf
-      schemes:
-      - id: cxf
-        http: true
-        passive: false
-      - id: cxfrs
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cxf.CxfComponent
-      - org.apache.camel.component.cxf.jaxrs.CxfRsComponent
-    camel-ref:
-      groupId: org.apache.camel
-      artifactId: camel-ref
-      schemes:
-      - id: ref
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.ref.RefComponent
-    camel-stomp:
-      groupId: org.apache.camel
-      artifactId: camel-stomp
-      schemes:
-      - id: stomp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.stomp.StompComponent
-    camel-snakeyaml:
-      groupId: org.apache.camel
-      artifactId: camel-snakeyaml
-      dataformats:
-      - yaml-snakeyaml
-      javaTypes:
-      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
-    camel-olingo4:
-      groupId: org.apache.camel
-      artifactId: camel-olingo4
-      schemes:
-      - id: olingo4
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.olingo4.Olingo4Component
-    camel-olingo2:
-      groupId: org.apache.camel
-      artifactId: camel-olingo2
-      schemes:
-      - id: olingo2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.olingo2.Olingo2Component
-    camel-milo:
-      groupId: org.apache.camel
-      artifactId: camel-milo
-      schemes:
-      - id: milo-client
-        http: false
-        passive: false
-      - id: milo-server
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.milo.client.MiloClientComponent
-      - org.apache.camel.component.milo.server.MiloServerComponent
-    camel-grpc:
-      groupId: org.apache.camel
-      artifactId: camel-grpc
-      schemes:
-      - id: grpc
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.grpc.GrpcComponent
-    camel-webhook:
-      groupId: org.apache.camel
-      artifactId: camel-webhook
-      schemes:
-      - id: webhook
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.webhook.WebhookComponent
-    camel-pgevent:
-      groupId: org.apache.camel
-      artifactId: camel-pgevent
-      schemes:
-      - id: pgevent
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pgevent.PgEventComponent
-    camel-micrometer:
-      groupId: org.apache.camel
-      artifactId: camel-micrometer
-      schemes:
-      - id: micrometer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.micrometer.MicrometerComponent
-    camel-any23:
-      groupId: org.apache.camel
-      artifactId: camel-any23
-      dataformats:
-      - any23
-      javaTypes:
-      - org.apache.camel.dataformat.any23.Any23DataFormat
-    camel-aws-lambda:
-      groupId: org.apache.camel
-      artifactId: camel-aws-lambda
-      schemes:
-      - id: aws-lambda
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.lambda.LambdaComponent
-    camel-aws-kinesis:
-      groupId: org.apache.camel
-      artifactId: camel-aws-kinesis
-      schemes:
-      - id: aws-kinesis
-        http: false
-        passive: false
-      - id: aws-kinesis-firehose
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.kinesis.KinesisComponent
-      - org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
-    camel-netty-http:
-      groupId: org.apache.camel
-      artifactId: camel-netty-http
-      schemes:
-      - id: netty-http
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.netty.http.NettyHttpComponent
-    camel-ipfs:
-      groupId: org.apache.camel
-      artifactId: camel-ipfs
-      schemes:
-      - id: ipfs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ipfs.IPFSComponent
-    camel-aws-kms:
-      groupId: org.apache.camel
-      artifactId: camel-aws-kms
-      schemes:
-      - id: aws-kms
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.kms.KMSComponent
-    camel-aws-ec2:
-      groupId: org.apache.camel
-      artifactId: camel-aws-ec2
-      schemes:
-      - id: aws-ec2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ec2.EC2Component
-    camel-sjms:
-      groupId: org.apache.camel
-      artifactId: camel-sjms
-      schemes:
-      - id: sjms
-        http: false
-        passive: false
-      - id: sjms-batch
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sjms.SjmsComponent
-      - org.apache.camel.component.sjms.batch.SjmsBatchComponent
-    camel-irc:
-      groupId: org.apache.camel
-      artifactId: camel-irc
-      schemes:
-      - id: irc
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.irc.IrcComponent
-    camel-jcr:
-      groupId: org.apache.camel
-      artifactId: camel-jcr
-      schemes:
-      - id: jcr
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jcr.JcrComponent
-    camel-dropbox:
-      groupId: org.apache.camel
-      artifactId: camel-dropbox
-      schemes:
-      - id: dropbox
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.dropbox.DropboxComponent
-    camel-activemq:
-      groupId: org.apache.camel
-      artifactId: camel-activemq
-      schemes:
-      - id: activemq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.activemq.ActiveMQComponent
-    camel-scheduler:
-      groupId: org.apache.camel
-      artifactId: camel-scheduler
-      schemes:
-      - id: scheduler
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.scheduler.SchedulerComponent
-    camel-validator:
-      groupId: org.apache.camel
-      artifactId: camel-validator
-      schemes:
-      - id: validator
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.validator.ValidatorComponent
-    camel-k-loader-yaml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-yaml
-    camel-k-loader-groovy:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-groovy
-    camel-k-loader-kotlin:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-kotlin
-    camel-k-loader-js:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-js
-    camel-k-loader-xml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-xml
-    camel-k-loader-java:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-java
-    camel-k-loader-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-knative
-    camel-k-runtime-main:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-main
-    camel-k-runtime-health:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-health
-    camel-k-runtime-servlet:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-servlet
-    camel-k-runtime-webhook:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-webhook
-    camel-k-runtime-cron:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-cron
-    camel-k-runtime-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-knative
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-k-loader-yaml
-      - groupId: org.apache.camel.k
-        artifactId: camel-k-loader-knative
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-api
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-http
-    camel-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-knative
-      schemes:
-      - id: knative
-        http: true
-        passive: false
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-api
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-http
-  loaders:
-    yaml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-yaml
-      languages:
-      - yaml
-    groovy:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-groovy
-      languages:
-      - groovy
-    kts:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-kotlin
-      languages:
-      - kts
-    js:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-js
-      languages:
-      - js
-    xml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-xml
-      languages:
-      - xml
-    java:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-java
-      languages:
-      - java
-    knative-source:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-knative
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-k-runtime-knative
diff --git a/deploy/camel-catalog-1.1.0-quarkus.yaml b/deploy/camel-catalog-1.1.0-quarkus.yaml
deleted file mode 100644
index bfcd0b4..0000000
--- a/deploy/camel-catalog-1.1.0-quarkus.yaml
+++ /dev/null
@@ -1,764 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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/v1
-kind: CamelCatalog
-metadata:
-  name: camel-catalog-1.1.0-quarkus
-  labels:
-    app: camel-k
-    camel.apache.org/catalog.version: 3.0.1
-    camel.apache.org/catalog.loader.version: 3.0.1
-    camel.apache.org/runtime.version: 1.1.0
-    camel.apache.org/runtime.provider: quarkus
-spec:
-  runtime:
-    version: 1.1.0
-    provider: quarkus
-    applicationClass: io.quarkus.runner.GeneratedMain
-    metadata:
-      camel.version: 3.0.1
-      quarkus.version: 1.2.0.Final
-      camel-quarkus.version: 1.0.0-M3
-    dependencies:
-    - groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-quarkus
-  artifacts:
-    camel-quarkus-jdbc:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jdbc
-      schemes:
-      - id: jdbc
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jdbc.JdbcComponent
-    camel-quarkus-file:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-file
-      schemes:
-      - id: file
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.file.FileComponent
-    camel-quarkus-pdf:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pdf
-      schemes:
-      - id: pdf
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pdf.PdfComponent
-    camel-quarkus-tagsoup:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tagsoup
-      dataformats:
-      - tidyMarkup
-      javaTypes:
-      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
-    camel-quarkus-jackson:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jackson
-      dataformats:
-      - json-jackson
-      javaTypes:
-      - org.apache.camel.component.jackson.JacksonDataFormat
-    camel-quarkus-csv:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-csv
-      dataformats:
-      - csv
-      javaTypes:
-      - org.apache.camel.dataformat.csv.CsvDataFormat
-    camel-quarkus-http:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-http
-      schemes:
-      - id: http
-        http: false
-        passive: false
-      - id: https
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.http.HttpComponent
-    camel-quarkus-aws-sns:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sns
-      schemes:
-      - id: aws-sns
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.sns.SnsComponent
-    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-zipfile:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zipfile
-      dataformats:
-      - zipfile
-      javaTypes:
-      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
-    camel-quarkus-netty:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-netty
-      schemes:
-      - id: netty
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.netty.NettyComponent
-    camel-quarkus-salesforce:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-salesforce
-      schemes:
-      - id: salesforce
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.salesforce.SalesforceComponent
-    camel-quarkus-servlet:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-servlet
-      schemes:
-      - id: servlet
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.servlet.ServletComponent
-    camel-quarkus-reactive-streams:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-reactive-streams
-      schemes:
-      - id: reactive-streams
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
-    camel-quarkus-aws-eks:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-eks
-      schemes:
-      - id: aws-eks
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.eks.EKSComponent
-    camel-quarkus-core:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-core
-      languages:
-      - constant
-      - exchangeProperty
-      - file
-      - header
-      - ref
-      - simple
-      - tokenize
-      javaTypes:
-      - org.apache.camel.language.constant.ConstantLanguage
-      - org.apache.camel.language.property.ExchangePropertyLanguage
-      - org.apache.camel.language.simple.FileLanguage
-      - org.apache.camel.language.header.HeaderLanguage
-      - org.apache.camel.language.ref.RefLanguage
-      - org.apache.camel.language.simple.SimpleLanguage
-      - org.apache.camel.language.tokenizer.TokenizeLanguage
-    camel-quarkus-exec:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-exec
-      schemes:
-      - id: exec
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.exec.ExecComponent
-    camel-quarkus-netty-http:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-netty-http
-      schemes:
-      - id: netty-http
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.netty.http.NettyHttpComponent
-    camel-quarkus-consul:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-consul
-      schemes:
-      - id: consul
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.consul.ConsulComponent
-    camel-quarkus-aws-s3:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-s3
-      schemes:
-      - id: aws-s3
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.s3.S3Component
-    camel-quarkus-tarfile:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tarfile
-      dataformats:
-      - tarfile
-      javaTypes:
-      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
-    camel-quarkus-ftp:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ftp
-      schemes:
-      - id: ftp
-        http: false
-        passive: false
-      - id: ftps
-        http: false
-        passive: false
-      - id: sftp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.file.remote.FtpComponent
-      - org.apache.camel.component.file.remote.FtpsComponent
-      - org.apache.camel.component.file.remote.SftpComponent
-    camel-quarkus-slack:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-slack
-      schemes:
-      - id: slack
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.slack.SlackComponent
-    camel-quarkus-sjms2:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sjms2
-      schemes:
-      - id: sjms2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sjms2.Sjms2Component
-    camel-quarkus-aws-lambda:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-lambda
-      schemes:
-      - id: aws-lambda
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.lambda.LambdaComponent
-    camel-quarkus-aws-ecs:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-ecs
-      schemes:
-      - id: aws-ecs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ecs.ECSComponent
-    camel-quarkus-scheduler:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-scheduler
-      schemes:
-      - id: scheduler
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.scheduler.SchedulerComponent
-    camel-quarkus-platform-http:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-platform-http
-      schemes:
-      - id: platform-http
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.platform.http.PlatformHttpComponent
-    camel-quarkus-xslt:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xslt
-      schemes:
-      - id: xslt
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xslt.XsltComponent
-    camel-quarkus-sjms:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sjms
-      schemes:
-      - id: sjms
-        http: false
-        passive: false
-      - id: sjms-batch
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sjms.SjmsComponent
-      - org.apache.camel.component.sjms.batch.SjmsBatchComponent
-    camel-quarkus-paho:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-paho
-      schemes:
-      - id: paho
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.paho.PahoComponent
-    camel-quarkus-dozer:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dozer
-      schemes:
-      - id: dozer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.dozer.DozerComponent
-    camel-quarkus-bean:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bean
-      schemes:
-      - id: bean
-        http: false
-        passive: true
-      - id: class
-        http: false
-        passive: true
-      languages:
-      - bean
-      javaTypes:
-      - org.apache.camel.component.bean.BeanComponent
-      - org.apache.camel.component.beanclass.ClassComponent
-      - org.apache.camel.language.bean.BeanLanguage
-    camel-quarkus-aws-translate:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-translate
-      schemes:
-      - id: aws-translate
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.translate.TranslateComponent
-    camel-quarkus-mail:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mail
-      schemes:
-      - id: imap
-        http: false
-        passive: false
-      - id: imaps
-        http: false
-        passive: false
-      - id: pop3
-        http: false
-        passive: false
-      - id: pop3s
-        http: false
-        passive: false
-      - id: smtp
-        http: false
-        passive: false
-      - id: smtps
-        http: false
-        passive: false
-      dataformats:
-      - mime-multipart
-      javaTypes:
-      - org.apache.camel.component.mail.MailComponent
-      - org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat
-    camel-quarkus-bean-validator:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bean-validator
-      schemes:
-      - id: bean-validator
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.bean.validator.BeanValidatorComponent
-    camel-quarkus-snakeyaml:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-snakeyaml
-      dataformats:
-      - yaml-snakeyaml
-      javaTypes:
-      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
-    camel-quarkus-vm:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vm
-      schemes:
-      - id: vm
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.vm.VmComponent
-    camel-quarkus-kafka:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-kafka
-      schemes:
-      - id: kafka
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.kafka.KafkaComponent
-    camel-quarkus-seda:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-seda
-      schemes:
-      - id: seda
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.seda.SedaComponent
-    camel-quarkus-log:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-log
-      schemes:
-      - id: log
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.log.LogComponent
-    camel-quarkus-twitter:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-twitter
-      schemes:
-      - id: twitter-directmessage
-        http: false
-        passive: false
-      - id: twitter-search
-        http: false
-        passive: false
-      - id: twitter-timeline
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent
-      - org.apache.camel.component.twitter.search.TwitterSearchComponent
-      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
-    camel-quarkus-sql:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sql
-      schemes:
-      - id: sql
-        http: false
-        passive: false
-      - id: sql-stored
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sql.SqlComponent
-      - org.apache.camel.component.sql.stored.SqlStoredComponent
-    camel-quarkus-mongodb:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mongodb
-      schemes:
-      - id: mongodb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mongodb.MongoDbComponent
-    camel-quarkus-microprofile-metrics:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-microprofile-metrics
-      schemes:
-      - id: microprofile-metrics
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
-    camel-quarkus-infinispan:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-infinispan
-      schemes:
-      - id: infinispan
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.infinispan.InfinispanComponent
-    camel-quarkus-rest:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rest
-      schemes:
-      - id: rest
-        http: true
-        passive: false
-      - id: rest-api
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.rest.RestComponent
-      - org.apache.camel.component.rest.RestApiComponent
-    camel-quarkus-ahc-ws:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ahc-ws
-      schemes:
-      - id: ahc-ws
-        http: true
-        passive: false
-      - id: ahc-wss
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ahc.ws.WsComponent
-    camel-quarkus-ahc:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ahc
-      schemes:
-      - id: ahc
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ahc.AhcComponent
-    camel-quarkus-controlbus:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-controlbus
-      schemes:
-      - id: controlbus
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.controlbus.ControlBusComponent
-    camel-quarkus-base64:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-base64
-      dataformats:
-      - base64
-      javaTypes:
-      - org.apache.camel.dataformat.base64.Base64DataFormat
-    camel-quarkus-direct:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-direct
-      schemes:
-      - id: direct
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.direct.DirectComponent
-    camel-quarkus-fhir:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fhir
-      schemes:
-      - id: fhir
-        http: false
-        passive: false
-      dataformats:
-      - fhirJson
-      - fhirXml
-      javaTypes:
-      - org.apache.camel.component.fhir.FhirComponent
-      - org.apache.camel.component.fhir.FhirJsonDataFormat
-      - org.apache.camel.component.fhir.FhirXmlDataFormat
-    camel-quarkus-dataformat:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dataformat
-      schemes:
-      - id: dataformat
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.dataformat.DataFormatComponent
-    camel-quarkus-aws-kinesis:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-kinesis
-      schemes:
-      - id: aws-kinesis
-        http: false
-        passive: false
-      - id: aws-kinesis-firehose
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.kinesis.KinesisComponent
-      - org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
-    camel-quarkus-aws-kms:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-kms
-      schemes:
-      - id: aws-kms
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.kms.KMSComponent
-    camel-quarkus-timer:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-timer
-      schemes:
-      - id: timer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.timer.TimerComponent
-    camel-quarkus-aws-ec2:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-ec2
-      schemes:
-      - id: aws-ec2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ec2.EC2Component
-    camel-quarkus-jsonpath:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsonpath
-      languages:
-      - jsonpath
-      javaTypes:
-      - org.apache.camel.jsonpath.JsonPathLanguage
-    camel-quarkus-aws-sqs:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sqs
-      schemes:
-      - id: aws-sqs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.sqs.SqsComponent
-    camel-quarkus-aws-iam:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-iam
-      schemes:
-      - id: aws-iam
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.iam.IAMComponent
-    camel-k-loader-yaml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-yaml
-    camel-k-loader-groovy:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-groovy
-    camel-k-loader-kotlin:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-kotlin
-    camel-k-loader-js:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-js
-    camel-k-loader-xml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-xml
-    camel-k-loader-java:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-java
-    camel-k-loader-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-knative
-    camel-k-runtime-main:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-main
-    camel-k-runtime-health:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-health
-    camel-k-runtime-servlet:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-servlet
-    camel-k-runtime-webhook:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-webhook
-    camel-k-runtime-cron:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-cron
-    camel-k-runtime-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-knative
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-k-loader-yaml
-      - groupId: org.apache.camel.k
-        artifactId: camel-k-loader-knative
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-api
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-http
-    camel-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-knative
-      schemes:
-      - id: knative
-        http: true
-        passive: false
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-api
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-http
-  loaders:
-    yaml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-quarkus-loader-yaml
-      languages:
-      - yaml
-      metadata:
-        native: "true"
-    groovy:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-quarkus-loader-groovy
-      languages:
-      - groovy
-      metadata:
-        native: "false"
-    kts:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-quarkus-loader-kotlin
-      languages:
-      - kts
-      metadata:
-        native: "false"
-    js:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-quarkus-loader-js
-      languages:
-      - js
-      metadata:
-        native: "true"
-    xml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-quarkus-loader-xml
-      languages:
-      - xml
-      metadata:
-        native: "true"
-    java:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-quarkus-loader-java
-      languages:
-      - java
-      metadata:
-        native: "false"
-    knative-source:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-quarkus-loader-knative
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-k-quarkus-knative
-      metadata:
-        native: "true"
diff --git a/deploy/camel-catalog-1.1.1-SNAPSHOT-main.yaml b/deploy/camel-catalog-1.1.1-SNAPSHOT-main.yaml
deleted file mode 100644
index a4d6dd0..0000000
--- a/deploy/camel-catalog-1.1.1-SNAPSHOT-main.yaml
+++ /dev/null
@@ -1,2949 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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/v1
-kind: CamelCatalog
-metadata:
-  name: camel-catalog-1.1.1-snapshot-main
-  labels:
-    app: camel-k
-    camel.apache.org/catalog.version: 3.0.1
-    camel.apache.org/catalog.loader.version: 3.0.1
-    camel.apache.org/runtime.version: 1.1.1-SNAPSHOT
-    camel.apache.org/runtime.provider: main
-spec:
-  runtime:
-    version: 1.1.1-SNAPSHOT
-    provider: main
-    applicationClass: org.apache.camel.k.main.Application
-    metadata:
-      camel.version: 3.0.1
-      quarkus.version: 1.2.0.Final
-      camel-quarkus.version: 1.0.0-M3
-    dependencies:
-    - groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-main
-    capabilities:
-      health:
-        dependencies:
-        - groupId: org.apache.camel.k
-          artifactId: camel-k-runtime-health
-      rest:
-        dependencies:
-        - groupId: org.apache.camel
-          artifactId: camel-rest
-        - groupId: org.apache.camel
-          artifactId: camel-undertow
-  artifacts:
-    camel-zipfile:
-      groupId: org.apache.camel
-      artifactId: camel-zipfile
-      dataformats:
-      - zipfile
-      javaTypes:
-      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
-    camel-fop:
-      groupId: org.apache.camel
-      artifactId: camel-fop
-      schemes:
-      - id: fop
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.fop.FopComponent
-    camel-azure:
-      groupId: org.apache.camel
-      artifactId: camel-azure
-      schemes:
-      - id: azure-blob
-        http: false
-        passive: false
-      - id: azure-queue
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.azure.blob.BlobServiceComponent
-      - org.apache.camel.component.azure.queue.QueueServiceComponent
-    camel-seda:
-      groupId: org.apache.camel
-      artifactId: camel-seda
-      schemes:
-      - id: seda
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.seda.SedaComponent
-    camel-mina:
-      groupId: org.apache.camel
-      artifactId: camel-mina
-      schemes:
-      - id: mina
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mina.MinaComponent
-    camel-printer:
-      groupId: org.apache.camel
-      artifactId: camel-printer
-      schemes:
-      - id: lpr
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.printer.PrinterComponent
-    camel-wordpress:
-      groupId: org.apache.camel
-      artifactId: camel-wordpress
-      schemes:
-      - id: wordpress
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.wordpress.WordpressComponent
-    camel-websocket:
-      groupId: org.apache.camel
-      artifactId: camel-websocket
-      schemes:
-      - id: websocket
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.websocket.WebsocketComponent
-    camel-slack:
-      groupId: org.apache.camel
-      artifactId: camel-slack
-      schemes:
-      - id: slack
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.slack.SlackComponent
-    camel-influxdb:
-      groupId: org.apache.camel
-      artifactId: camel-influxdb
-      schemes:
-      - id: influxdb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.influxdb.InfluxDbComponent
-    camel-lumberjack:
-      groupId: org.apache.camel
-      artifactId: camel-lumberjack
-      schemes:
-      - id: lumberjack
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.lumberjack.LumberjackComponent
-    camel-stax:
-      groupId: org.apache.camel
-      artifactId: camel-stax
-      schemes:
-      - id: stax
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.stax.StAXComponent
-    camel-sjms2:
-      groupId: org.apache.camel
-      artifactId: camel-sjms2
-      schemes:
-      - id: sjms2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sjms2.Sjms2Component
-    camel-facebook:
-      groupId: org.apache.camel
-      artifactId: camel-facebook
-      schemes:
-      - id: facebook
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.facebook.FacebookComponent
-    camel-docker:
-      groupId: org.apache.camel
-      artifactId: camel-docker
-      schemes:
-      - id: docker
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.docker.DockerComponent
-    camel-apns:
-      groupId: org.apache.camel
-      artifactId: camel-apns
-      schemes:
-      - id: apns
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.apns.ApnsComponent
-    camel-jaxb:
-      groupId: org.apache.camel
-      artifactId: camel-jaxb
-      dataformats:
-      - jaxb
-      javaTypes:
-      - org.apache.camel.converter.jaxb.JaxbDataFormat
-    camel-quartz:
-      groupId: org.apache.camel
-      artifactId: camel-quartz
-      schemes:
-      - id: quartz
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.quartz.QuartzComponent
-    camel-aws-swf:
-      groupId: org.apache.camel
-      artifactId: camel-aws-swf
-      schemes:
-      - id: aws-swf
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.swf.SWFComponent
-    camel-ehcache:
-      groupId: org.apache.camel
-      artifactId: camel-ehcache
-      schemes:
-      - id: ehcache
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ehcache.EhcacheComponent
-    camel-spring-ws:
-      groupId: org.apache.camel
-      artifactId: camel-spring-ws
-      schemes:
-      - id: spring-ws
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.spring.ws.SpringWebserviceComponent
-    camel-nagios:
-      groupId: org.apache.camel
-      artifactId: camel-nagios
-      schemes:
-      - id: nagios
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.nagios.NagiosComponent
-    camel-mongodb:
-      groupId: org.apache.camel
-      artifactId: camel-mongodb
-      schemes:
-      - id: mongodb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mongodb.MongoDbComponent
-    camel-aws-eks:
-      groupId: org.apache.camel
-      artifactId: camel-aws-eks
-      schemes:
-      - id: aws-eks
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.eks.EKSComponent
-    camel-jaxp:
-      groupId: org.apache.camel
-      artifactId: camel-jaxp
-      languages:
-      - xtokenize
-      javaTypes:
-      - org.apache.camel.language.xtokenizer.XMLTokenizeLanguage
-    camel-platform-http:
-      groupId: org.apache.camel
-      artifactId: camel-platform-http
-      schemes:
-      - id: platform-http
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.platform.http.PlatformHttpComponent
-    camel-jetty:
-      groupId: org.apache.camel
-      artifactId: camel-jetty
-      schemes:
-      - id: jetty
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jetty9.JettyHttpComponent9
-    camel-lzf:
-      groupId: org.apache.camel
-      artifactId: camel-lzf
-      dataformats:
-      - lzf
-      javaTypes:
-      - org.apache.camel.dataformat.lzf.LZFDataFormat
-    camel-vm:
-      groupId: org.apache.camel
-      artifactId: camel-vm
-      schemes:
-      - id: vm
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.vm.VmComponent
-    camel-crypto:
-      groupId: org.apache.camel
-      artifactId: camel-crypto
-      schemes:
-      - id: crypto
-        http: false
-        passive: false
-      dataformats:
-      - crypto
-      - pgp
-      javaTypes:
-      - org.apache.camel.component.crypto.DigitalSignatureComponent
-      - org.apache.camel.converter.crypto.CryptoDataFormat
-      - org.apache.camel.converter.crypto.PGPDataFormat
-    camel-cometd:
-      groupId: org.apache.camel
-      artifactId: camel-cometd
-      schemes:
-      - id: cometd
-        http: false
-        passive: false
-      - id: cometds
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cometd.CometdComponent
-    camel-bean-validator:
-      groupId: org.apache.camel
-      artifactId: camel-bean-validator
-      schemes:
-      - id: bean-validator
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.bean.validator.BeanValidatorComponent
-    camel-http:
-      groupId: org.apache.camel
-      artifactId: camel-http
-      schemes:
-      - id: http
-        http: false
-        passive: false
-      - id: https
-        http: false
-        passive: false
-      dependencies:
-      - groupId: org.apache.camel
-        artifactId: camel-file
-      javaTypes:
-      - org.apache.camel.component.http.HttpComponent
-    camel-tika:
-      groupId: org.apache.camel
-      artifactId: camel-tika
-      schemes:
-      - id: tika
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.tika.TikaComponent
-    camel-caffeine:
-      groupId: org.apache.camel
-      artifactId: camel-caffeine
-      schemes:
-      - id: caffeine-cache
-        http: false
-        passive: false
-      - id: caffeine-loadcache
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.caffeine.cache.CaffeineCacheComponent
-      - org.apache.camel.component.caffeine.load.CaffeineLoadCacheComponent
-    camel-vertx:
-      groupId: org.apache.camel
-      artifactId: camel-vertx
-      schemes:
-      - id: vertx
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.vertx.VertxComponent
-    camel-openstack:
-      groupId: org.apache.camel
-      artifactId: camel-openstack
-      schemes:
-      - id: openstack-cinder
-        http: false
-        passive: false
-      - id: openstack-glance
-        http: false
-        passive: false
-      - id: openstack-keystone
-        http: false
-        passive: false
-      - id: openstack-neutron
-        http: false
-        passive: false
-      - id: openstack-nova
-        http: false
-        passive: false
-      - id: openstack-swift
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.openstack.cinder.CinderComponent
-      - org.apache.camel.component.openstack.glance.GlanceComponent
-      - org.apache.camel.component.openstack.keystone.KeystoneComponent
-      - org.apache.camel.component.openstack.neutron.NeutronComponent
-      - org.apache.camel.component.openstack.nova.NovaComponent
-      - org.apache.camel.component.openstack.swift.SwiftComponent
-    camel-google-calendar:
-      groupId: org.apache.camel
-      artifactId: camel-google-calendar
-      schemes:
-      - id: google-calendar
-        http: false
-        passive: false
-      - id: google-calendar-stream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.calendar.GoogleCalendarComponent
-      - org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent
-    camel-browse:
-      groupId: org.apache.camel
-      artifactId: camel-browse
-      schemes:
-      - id: browse
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.browse.BrowseComponent
-    camel-ldif:
-      groupId: org.apache.camel
-      artifactId: camel-ldif
-      schemes:
-      - id: ldif
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ldif.LdifComponent
-    camel-google-sheets:
-      groupId: org.apache.camel
-      artifactId: camel-google-sheets
-      schemes:
-      - id: google-sheets
-        http: false
-        passive: false
-      - id: google-sheets-stream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.sheets.GoogleSheetsComponent
-      - org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent
-    camel-sap-netweaver:
-      groupId: org.apache.camel
-      artifactId: camel-sap-netweaver
-      schemes:
-      - id: sap-netweaver
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sap.netweaver.NetWeaverComponent
-    camel-ganglia:
-      groupId: org.apache.camel
-      artifactId: camel-ganglia
-      schemes:
-      - id: ganglia
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ganglia.GangliaComponent
-    camel-schematron:
-      groupId: org.apache.camel
-      artifactId: camel-schematron
-      schemes:
-      - id: schematron
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.schematron.SchematronComponent
-    camel-yammer:
-      groupId: org.apache.camel
-      artifactId: camel-yammer
-      schemes:
-      - id: yammer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.yammer.YammerComponent
-    camel-direct:
-      groupId: org.apache.camel
-      artifactId: camel-direct
-      schemes:
-      - id: direct
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.direct.DirectComponent
-    camel-chunk:
-      groupId: org.apache.camel
-      artifactId: camel-chunk
-      schemes:
-      - id: chunk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.chunk.ChunkComponent
-    camel-jacksonxml:
-      groupId: org.apache.camel
-      artifactId: camel-jacksonxml
-      dataformats:
-      - jacksonxml
-      javaTypes:
-      - org.apache.camel.component.jacksonxml.JacksonXMLDataFormat
-    camel-spring-batch:
-      groupId: org.apache.camel
-      artifactId: camel-spring-batch
-      schemes:
-      - id: spring-batch
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.spring.batch.SpringBatchComponent
-    camel-stub:
-      groupId: org.apache.camel
-      artifactId: camel-stub
-      schemes:
-      - id: stub
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.stub.StubComponent
-    camel-drill:
-      groupId: org.apache.camel
-      artifactId: camel-drill
-      schemes:
-      - id: drill
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.drill.DrillComponent
-    camel-zookeeper:
-      groupId: org.apache.camel
-      artifactId: camel-zookeeper
-      schemes:
-      - id: zookeeper
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.zookeeper.ZooKeeperComponent
-    camel-aws-cw:
-      groupId: org.apache.camel
-      artifactId: camel-aws-cw
-      schemes:
-      - id: aws-cw
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.cw.CwComponent
-    camel-xstream:
-      groupId: org.apache.camel
-      artifactId: camel-xstream
-      dataformats:
-      - json-xstream
-      - xstream
-      javaTypes:
-      - org.apache.camel.dataformat.xstream.JsonDataFormat
-      - org.apache.camel.dataformat.xstream.XStreamDataFormat
-    camel-weather:
-      groupId: org.apache.camel
-      artifactId: camel-weather
-      schemes:
-      - id: weather
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.weather.WeatherComponent
-    camel-fastjson:
-      groupId: org.apache.camel
-      artifactId: camel-fastjson
-      dataformats:
-      - json-fastjson
-      javaTypes:
-      - org.apache.camel.component.fastjson.FastjsonDataFormat
-    camel-pdf:
-      groupId: org.apache.camel
-      artifactId: camel-pdf
-      schemes:
-      - id: pdf
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pdf.PdfComponent
-    camel-spring-integration:
-      groupId: org.apache.camel
-      artifactId: camel-spring-integration
-      schemes:
-      - id: spring-integration
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.spring.integration.SpringIntegrationComponent
-    camel-paho:
-      groupId: org.apache.camel
-      artifactId: camel-paho
-      schemes:
-      - id: paho
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.paho.PahoComponent
-    camel-netty:
-      groupId: org.apache.camel
-      artifactId: camel-netty
-      schemes:
-      - id: netty
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.netty.NettyComponent
-    camel-mustache:
-      groupId: org.apache.camel
-      artifactId: camel-mustache
-      schemes:
-      - id: mustache
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mustache.MustacheComponent
-    camel-sip:
-      groupId: org.apache.camel
-      artifactId: camel-sip
-      schemes:
-      - id: sip
-        http: false
-        passive: false
-      - id: sips
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sip.SipComponent
-    camel-hbase:
-      groupId: org.apache.camel
-      artifactId: camel-hbase
-      schemes:
-      - id: hbase
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.hbase.HBaseComponent
-    camel-jackson:
-      groupId: org.apache.camel
-      artifactId: camel-jackson
-      dataformats:
-      - json-jackson
-      javaTypes:
-      - org.apache.camel.component.jackson.JacksonDataFormat
-    camel-kafka:
-      groupId: org.apache.camel
-      artifactId: camel-kafka
-      schemes:
-      - id: kafka
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.kafka.KafkaComponent
-    camel-twitter:
-      groupId: org.apache.camel
-      artifactId: camel-twitter
-      schemes:
-      - id: twitter-directmessage
-        http: false
-        passive: false
-      - id: twitter-search
-        http: false
-        passive: false
-      - id: twitter-timeline
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent
-      - org.apache.camel.component.twitter.search.TwitterSearchComponent
-      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
-    camel-salesforce:
-      groupId: org.apache.camel
-      artifactId: camel-salesforce
-      schemes:
-      - id: salesforce
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.salesforce.SalesforceComponent
-    camel-xj:
-      groupId: org.apache.camel
-      artifactId: camel-xj
-      schemes:
-      - id: xj
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xj.XJComponent
-    camel-servicenow:
-      groupId: org.apache.camel
-      artifactId: camel-servicenow
-      schemes:
-      - id: servicenow
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.servicenow.ServiceNowComponent
-    camel-ical:
-      groupId: org.apache.camel
-      artifactId: camel-ical
-      dataformats:
-      - ical
-      javaTypes:
-      - org.apache.camel.component.ical.ICalDataFormat
-    camel-corda:
-      groupId: org.apache.camel
-      artifactId: camel-corda
-      schemes:
-      - id: corda
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.corda.CordaComponent
-    camel-grape:
-      groupId: org.apache.camel
-      artifactId: camel-grape
-      schemes:
-      - id: grape
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.grape.GrapeComponent
-    camel-univocity-parsers:
-      groupId: org.apache.camel
-      artifactId: camel-univocity-parsers
-      dataformats:
-      - univocity-csv
-      - univocity-fixed
-      - univocity-tsv
-      javaTypes:
-      - org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat
-      - org.apache.camel.dataformat.univocity.UniVocityFixedWidthDataFormat
-      - org.apache.camel.dataformat.univocity.UniVocityTsvDataFormat
-    camel-hdfs:
-      groupId: org.apache.camel
-      artifactId: camel-hdfs
-      schemes:
-      - id: hdfs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.hdfs.HdfsComponent
-    camel-jclouds:
-      groupId: org.apache.camel
-      artifactId: camel-jclouds
-      schemes:
-      - id: jclouds
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jclouds.JcloudsComponent
-    camel-quickfix:
-      groupId: org.apache.camel
-      artifactId: camel-quickfix
-      schemes:
-      - id: quickfix
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.quickfixj.QuickfixjComponent
-    camel-nsq:
-      groupId: org.apache.camel
-      artifactId: camel-nsq
-      schemes:
-      - id: nsq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.nsq.NsqComponent
-    camel-hipchat:
-      groupId: org.apache.camel
-      artifactId: camel-hipchat
-      schemes:
-      - id: hipchat
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.hipchat.HipchatComponent
-    camel-hazelcast:
-      groupId: org.apache.camel
-      artifactId: camel-hazelcast
-      schemes:
-      - id: hazelcast-atomicvalue
-        http: false
-        passive: false
-      - id: hazelcast-instance
-        http: false
-        passive: false
-      - id: hazelcast-list
-        http: false
-        passive: false
-      - id: hazelcast-map
-        http: false
-        passive: false
-      - id: hazelcast-multimap
-        http: false
-        passive: false
-      - id: hazelcast-queue
-        http: false
-        passive: false
-      - id: hazelcast-replicatedmap
-        http: false
-        passive: false
-      - id: hazelcast-ringbuffer
-        http: false
-        passive: false
-      - id: hazelcast-seda
-        http: false
-        passive: false
-      - id: hazelcast-set
-        http: false
-        passive: false
-      - id: hazelcast-topic
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberComponent
-      - org.apache.camel.component.hazelcast.instance.HazelcastInstanceComponent
-      - org.apache.camel.component.hazelcast.list.HazelcastListComponent
-      - org.apache.camel.component.hazelcast.map.HazelcastMapComponent
-      - org.apache.camel.component.hazelcast.multimap.HazelcastMultimapComponent
-      - org.apache.camel.component.hazelcast.queue.HazelcastQueueComponent
-      - org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapComponent
-      - org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferComponent
-      - org.apache.camel.component.hazelcast.seda.HazelcastSedaComponent
-      - org.apache.camel.component.hazelcast.set.HazelcastSetComponent
-      - org.apache.camel.component.hazelcast.topic.HazelcastTopicComponent
-    camel-barcode:
-      groupId: org.apache.camel
-      artifactId: camel-barcode
-      dataformats:
-      - barcode
-      javaTypes:
-      - org.apache.camel.dataformat.barcode.BarcodeDataFormat
-    camel-aws-translate:
-      groupId: org.apache.camel
-      artifactId: camel-aws-translate
-      schemes:
-      - id: aws-translate
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.translate.TranslateComponent
-    camel-atmos:
-      groupId: org.apache.camel
-      artifactId: camel-atmos
-      schemes:
-      - id: atmos
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.atmos.AtmosComponent
-    camel-language:
-      groupId: org.apache.camel
-      artifactId: camel-language
-      schemes:
-      - id: language
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.language.LanguageComponent
-    camel-infinispan:
-      groupId: org.apache.camel
-      artifactId: camel-infinispan
-      schemes:
-      - id: infinispan
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.infinispan.InfinispanComponent
-    camel-google-pubsub:
-      groupId: org.apache.camel
-      artifactId: camel-google-pubsub
-      schemes:
-      - id: google-pubsub
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.pubsub.GooglePubsubComponent
-    camel-base64:
-      groupId: org.apache.camel
-      artifactId: camel-base64
-      dataformats:
-      - base64
-      javaTypes:
-      - org.apache.camel.dataformat.base64.Base64DataFormat
-    camel-lucene:
-      groupId: org.apache.camel
-      artifactId: camel-lucene
-      schemes:
-      - id: lucene
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.lucene.LuceneComponent
-    camel-bean:
-      groupId: org.apache.camel
-      artifactId: camel-bean
-      schemes:
-      - id: bean
-        http: false
-        passive: true
-      - id: class
-        http: false
-        passive: true
-      languages:
-      - bean
-      javaTypes:
-      - org.apache.camel.component.bean.BeanComponent
-      - org.apache.camel.component.beanclass.ClassComponent
-      - org.apache.camel.language.bean.BeanLanguage
-    camel-stream:
-      groupId: org.apache.camel
-      artifactId: camel-stream
-      schemes:
-      - id: stream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.stream.StreamComponent
-    camel-solr:
-      groupId: org.apache.camel
-      artifactId: camel-solr
-      schemes:
-      - 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-log:
-      groupId: org.apache.camel
-      artifactId: camel-log
-      schemes:
-      - id: log
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.log.LogComponent
-    camel-iec60870:
-      groupId: org.apache.camel
-      artifactId: camel-iec60870
-      schemes:
-      - id: iec60870-client
-        http: false
-        passive: false
-      - id: iec60870-server
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.iec60870.client.ClientComponent
-      - org.apache.camel.component.iec60870.server.ServerComponent
-    camel-atmosphere-websocket:
-      groupId: org.apache.camel
-      artifactId: camel-atmosphere-websocket
-      schemes:
-      - id: atmosphere-websocket
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.atmosphere.websocket.WebsocketComponent
-    camel-debezium-mongodb:
-      groupId: org.apache.camel
-      artifactId: camel-debezium-mongodb
-      schemes:
-      - id: debezium-mongodb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMongodbComponent
-    camel-spring-ldap:
-      groupId: org.apache.camel
-      artifactId: camel-spring-ldap
-      schemes:
-      - id: spring-ldap
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.springldap.SpringLdapComponent
-    camel-dns:
-      groupId: org.apache.camel
-      artifactId: camel-dns
-      schemes:
-      - id: dns
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.dns.DnsComponent
-    camel-reactive-streams:
-      groupId: org.apache.camel
-      artifactId: camel-reactive-streams
-      schemes:
-      - id: reactive-streams
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
-    camel-graphql:
-      groupId: org.apache.camel
-      artifactId: camel-graphql
-      schemes:
-      - id: graphql
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.graphql.GraphqlComponent
-    camel-coap:
-      groupId: org.apache.camel
-      artifactId: camel-coap
-      schemes:
-      - id: coap
-        http: false
-        passive: false
-      - id: coaps
-        http: false
-        passive: false
-      - id: coap+tcp
-        http: false
-        passive: false
-      - id: coaps+tcp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.coap.CoAPComponent
-    camel-dataset:
-      groupId: org.apache.camel
-      artifactId: camel-dataset
-      schemes:
-      - id: dataset
-        http: false
-        passive: true
-      - id: dataset-test
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.dataset.DataSetComponent
-      - org.apache.camel.component.dataset.DataSetTestComponent
-    camel-jsonapi:
-      groupId: org.apache.camel
-      artifactId: camel-jsonapi
-      dataformats:
-      - jsonApi
-      javaTypes:
-      - org.apache.camel.component.jsonapi.JsonApiDataFormat
-    camel-zendesk:
-      groupId: org.apache.camel
-      artifactId: camel-zendesk
-      schemes:
-      - id: zendesk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.zendesk.ZendeskComponent
-    camel-jdbc:
-      groupId: org.apache.camel
-      artifactId: camel-jdbc
-      schemes:
-      - id: jdbc
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jdbc.JdbcComponent
-    camel-spark:
-      groupId: org.apache.camel
-      artifactId: camel-spark
-      schemes:
-      - id: spark
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.spark.SparkComponent
-    camel-ahc:
-      groupId: org.apache.camel
-      artifactId: camel-ahc
-      schemes:
-      - id: ahc
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ahc.AhcComponent
-    camel-controlbus:
-      groupId: org.apache.camel
-      artifactId: camel-controlbus
-      schemes:
-      - id: controlbus
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.controlbus.ControlBusComponent
-    camel-disruptor:
-      groupId: org.apache.camel
-      artifactId: camel-disruptor
-      schemes:
-      - id: disruptor
-        http: false
-        passive: false
-      - id: disruptor-vm
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.disruptor.DisruptorComponent
-      - org.apache.camel.component.disruptor.vm.DisruptorVmComponent
-    camel-dozer:
-      groupId: org.apache.camel
-      artifactId: camel-dozer
-      schemes:
-      - id: dozer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.dozer.DozerComponent
-    camel-beanio:
-      groupId: org.apache.camel
-      artifactId: camel-beanio
-      dataformats:
-      - beanio
-      javaTypes:
-      - org.apache.camel.dataformat.beanio.BeanIODataFormat
-    camel-bindy:
-      groupId: org.apache.camel
-      artifactId: camel-bindy
-      dataformats:
-      - bindy-csv
-      - bindy-fixed
-      - bindy-kvp
-      javaTypes:
-      - org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat
-      - org.apache.camel.dataformat.bindy.fixed.BindyFixedLengthDataFormat
-      - org.apache.camel.dataformat.bindy.kvp.BindyKeyValuePairDataFormat
-    camel-guava-eventbus:
-      groupId: org.apache.camel
-      artifactId: camel-guava-eventbus
-      schemes:
-      - id: guava-eventbus
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.guava.eventbus.GuavaEventBusComponent
-    camel-msv:
-      groupId: org.apache.camel
-      artifactId: camel-msv
-      schemes:
-      - id: msv
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.validator.msv.MsvComponent
-    camel-jms:
-      groupId: org.apache.camel
-      artifactId: camel-jms
-      schemes:
-      - id: jms
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jms.JmsComponent
-    camel-file-watch:
-      groupId: org.apache.camel
-      artifactId: camel-file-watch
-      schemes:
-      - id: file-watch
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.file.watch.FileWatchComponent
-    camel-aws-sdb:
-      groupId: org.apache.camel
-      artifactId: camel-aws-sdb
-      schemes:
-      - id: aws-sdb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.sdb.SdbComponent
-    camel-file:
-      groupId: org.apache.camel
-      artifactId: camel-file
-      schemes:
-      - id: file
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.file.FileComponent
-    camel-gora:
-      groupId: org.apache.camel
-      artifactId: camel-gora
-      schemes:
-      - id: gora
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.gora.GoraComponent
-    camel-jmx:
-      groupId: org.apache.camel
-      artifactId: camel-jmx
-      schemes:
-      - id: jmx
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jmx.JMXComponent
-    camel-timer:
-      groupId: org.apache.camel
-      artifactId: camel-timer
-      schemes:
-      - id: timer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.timer.TimerComponent
-    camel-jcache:
-      groupId: org.apache.camel
-      artifactId: camel-jcache
-      schemes:
-      - id: jcache
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jcache.JCacheComponent
-    camel-freemarker:
-      groupId: org.apache.camel
-      artifactId: camel-freemarker
-      schemes:
-      - id: freemarker
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.freemarker.FreemarkerComponent
-    camel-ironmq:
-      groupId: org.apache.camel
-      artifactId: camel-ironmq
-      schemes:
-      - id: ironmq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ironmq.IronMQComponent
-    camel-fhir:
-      groupId: org.apache.camel
-      artifactId: camel-fhir
-      schemes:
-      - id: fhir
-        http: false
-        passive: false
-      dataformats:
-      - fhirJson
-      - fhirXml
-      javaTypes:
-      - org.apache.camel.component.fhir.FhirComponent
-      - org.apache.camel.component.fhir.FhirJsonDataFormat
-      - org.apache.camel.component.fhir.FhirXmlDataFormat
-    camel-saxon:
-      groupId: org.apache.camel
-      artifactId: camel-saxon
-      schemes:
-      - id: xquery
-        http: false
-        passive: false
-      languages:
-      - xquery
-      javaTypes:
-      - org.apache.camel.component.xquery.XQueryComponent
-      - org.apache.camel.language.xquery.XQueryLanguage
-    camel-jsonpath:
-      groupId: org.apache.camel
-      artifactId: camel-jsonpath
-      languages:
-      - jsonpath
-      javaTypes:
-      - org.apache.camel.jsonpath.JsonPathLanguage
-    camel-spark-rest:
-      groupId: org.apache.camel
-      artifactId: camel-spark-rest
-      schemes:
-      - id: spark-rest
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sparkrest.SparkComponent
-    camel-jt400:
-      groupId: org.apache.camel
-      artifactId: camel-jt400
-      schemes:
-      - id: jt400
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jt400.Jt400Component
-    camel-rabbitmq:
-      groupId: org.apache.camel
-      artifactId: camel-rabbitmq
-      schemes:
-      - id: rabbitmq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.rabbitmq.RabbitMQComponent
-    camel-jbpm:
-      groupId: org.apache.camel
-      artifactId: camel-jbpm
-      schemes:
-      - id: jbpm
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jbpm.JBPMComponent
-    camel-jing:
-      groupId: org.apache.camel
-      artifactId: camel-jing
-      schemes:
-      - id: jing
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.validator.jing.JingComponent
-    camel-aws-iam:
-      groupId: org.apache.camel
-      artifactId: camel-aws-iam
-      schemes:
-      - id: aws-iam
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.iam.IAMComponent
-    camel-snmp:
-      groupId: org.apache.camel
-      artifactId: camel-snmp
-      schemes:
-      - id: snmp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.snmp.SnmpComponent
-    camel-web3j:
-      groupId: org.apache.camel
-      artifactId: camel-web3j
-      schemes:
-      - id: web3j
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.web3j.Web3jComponent
-    camel-atom:
-      groupId: org.apache.camel
-      artifactId: camel-atom
-      schemes:
-      - id: atom
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.atom.AtomComponent
-    camel-tagsoup:
-      groupId: org.apache.camel
-      artifactId: camel-tagsoup
-      dataformats:
-      - tidyMarkup
-      javaTypes:
-      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
-    camel-etcd:
-      groupId: org.apache.camel
-      artifactId: camel-etcd
-      schemes:
-      - id: etcd
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.etcd.EtcdComponent
-    camel-ftp:
-      groupId: org.apache.camel
-      artifactId: camel-ftp
-      schemes:
-      - id: ftp
-        http: false
-        passive: false
-      - id: ftps
-        http: false
-        passive: false
-      - id: sftp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.file.remote.FtpComponent
-      - org.apache.camel.component.file.remote.FtpsComponent
-      - org.apache.camel.component.file.remote.SftpComponent
-    camel-aws-ses:
-      groupId: org.apache.camel
-      artifactId: camel-aws-ses
-      schemes:
-      - id: aws-ses
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ses.SesComponent
-    camel-jgroups:
-      groupId: org.apache.camel
-      artifactId: camel-jgroups
-      schemes:
-      - id: jgroups
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jgroups.JGroupsComponent
-    camel-master:
-      groupId: org.apache.camel
-      artifactId: camel-master
-      schemes:
-      - id: master
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.master.MasterComponent
-    camel-eventadmin:
-      groupId: org.apache.camel
-      artifactId: camel-eventadmin
-      schemes:
-      - id: eventadmin
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.eventadmin.EventAdminComponent
-    camel-optaplanner:
-      groupId: org.apache.camel
-      artifactId: camel-optaplanner
-      schemes:
-      - id: optaplanner
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.optaplanner.OptaPlannerComponent
-    camel-amqp:
-      groupId: org.apache.camel
-      artifactId: camel-amqp
-      schemes:
-      - id: amqp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.amqp.AMQPComponent
-    camel-github:
-      groupId: org.apache.camel
-      artifactId: camel-github
-      schemes:
-      - id: github
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.github.GitHubComponent
-    camel-atomix:
-      groupId: org.apache.camel
-      artifactId: camel-atomix
-      schemes:
-      - id: atomix-map
-        http: false
-        passive: false
-      - id: atomix-messaging
-        http: false
-        passive: false
-      - id: atomix-multimap
-        http: false
-        passive: false
-      - id: atomix-queue
-        http: false
-        passive: false
-      - id: atomix-set
-        http: false
-        passive: false
-      - id: atomix-value
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.atomix.client.map.AtomixMapComponent
-      - org.apache.camel.component.atomix.client.messaging.AtomixMessagingComponent
-      - org.apache.camel.component.atomix.client.multimap.AtomixMultiMapComponent
-      - org.apache.camel.component.atomix.client.queue.AtomixQueueComponent
-      - org.apache.camel.component.atomix.client.set.AtomixSetComponent
-      - org.apache.camel.component.atomix.client.value.AtomixValueComponent
-    camel-box:
-      groupId: org.apache.camel
-      artifactId: camel-box
-      schemes:
-      - id: box
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.box.BoxComponent
-    camel-sql:
-      groupId: org.apache.camel
-      artifactId: camel-sql
-      schemes:
-      - id: sql
-        http: false
-        passive: false
-      - id: sql-stored
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sql.SqlComponent
-      - org.apache.camel.component.sql.stored.SqlStoredComponent
-    camel-flatpack:
-      groupId: org.apache.camel
-      artifactId: camel-flatpack
-      schemes:
-      - id: flatpack
-        http: false
-        passive: false
-      dataformats:
-      - flatpack
-      javaTypes:
-      - org.apache.camel.component.flatpack.FlatpackComponent
-      - org.apache.camel.dataformat.flatpack.FlatpackDataFormat
-    camel-git:
-      groupId: org.apache.camel
-      artifactId: camel-git
-      schemes:
-      - id: git
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.git.GitComponent
-    camel-chatscript:
-      groupId: org.apache.camel
-      artifactId: camel-chatscript
-      schemes:
-      - id: chatscript
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.chatscript.ChatScriptComponent
-    camel-telegram:
-      groupId: org.apache.camel
-      artifactId: camel-telegram
-      schemes:
-      - id: telegram
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.telegram.TelegramComponent
-    camel-asn1:
-      groupId: org.apache.camel
-      artifactId: camel-asn1
-      dataformats:
-      - asn1
-      javaTypes:
-      - org.apache.camel.dataformat.asn1.ASN1DataFormat
-    camel-nitrite:
-      groupId: org.apache.camel
-      artifactId: camel-nitrite
-      schemes:
-      - id: nitrite
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.nitrite.NitriteComponent
-    camel-aws-sns:
-      groupId: org.apache.camel
-      artifactId: camel-aws-sns
-      schemes:
-      - id: aws-sns
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.sns.SnsComponent
-    camel-avro:
-      groupId: org.apache.camel
-      artifactId: camel-avro
-      schemes:
-      - id: avro
-        http: false
-        passive: false
-      dataformats:
-      - avro
-      javaTypes:
-      - org.apache.camel.component.avro.AvroComponent
-      - org.apache.camel.dataformat.avro.AvroDataFormat
-    camel-mllp:
-      groupId: org.apache.camel
-      artifactId: camel-mllp
-      schemes:
-      - id: mllp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mllp.MllpComponent
-    camel-pg-replication-slot:
-      groupId: org.apache.camel
-      artifactId: camel-pg-replication-slot
-      schemes:
-      - id: pg-replication-slot
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent
-    camel-elsql:
-      groupId: org.apache.camel
-      artifactId: camel-elsql
-      schemes:
-      - id: elsql
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.elsql.ElsqlComponent
-    camel-aws-msk:
-      groupId: org.apache.camel
-      artifactId: camel-aws-msk
-      schemes:
-      - id: aws-msk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.msk.MSKComponent
-    camel-stringtemplate:
-      groupId: org.apache.camel
-      artifactId: camel-stringtemplate
-      schemes:
-      - id: string-template
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.stringtemplate.StringTemplateComponent
-    camel-debezium-mysql:
-      groupId: org.apache.camel
-      artifactId: camel-debezium-mysql
-      schemes:
-      - id: debezium-mysql
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMySqlComponent
-    camel-servlet:
-      groupId: org.apache.camel
-      artifactId: camel-servlet
-      schemes:
-      - id: servlet
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.servlet.ServletComponent
-    camel-spring-redis:
-      groupId: org.apache.camel
-      artifactId: camel-spring-redis
-      schemes:
-      - id: spring-redis
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.redis.RedisComponent
-    camel-soroush:
-      groupId: org.apache.camel
-      artifactId: camel-soroush
-      schemes:
-      - id: soroush
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.soroushbot.component.SoroushBotComponent
-    camel-jsch:
-      groupId: org.apache.camel
-      artifactId: camel-jsch
-      schemes:
-      - id: scp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.scp.ScpComponent
-    camel-kubernetes:
-      groupId: org.apache.camel
-      artifactId: camel-kubernetes
-      schemes:
-      - id: kubernetes-config-maps
-        http: false
-        passive: false
-      - id: kubernetes-deployments
-        http: false
-        passive: false
-      - id: kubernetes-hpa
-        http: false
-        passive: false
-      - id: kubernetes-job
-        http: false
-        passive: false
-      - id: kubernetes-namespaces
-        http: false
-        passive: false
-      - id: kubernetes-nodes
-        http: false
-        passive: false
-      - id: kubernetes-persistent-volumes
-        http: false
-        passive: false
-      - id: kubernetes-persistent-volumes-claims
-        http: false
-        passive: false
-      - id: kubernetes-pods
-        http: false
-        passive: false
-      - id: kubernetes-replication-controllers
-        http: false
-        passive: false
-      - id: kubernetes-resources-quota
-        http: false
-        passive: false
-      - id: kubernetes-secrets
-        http: false
-        passive: false
-      - id: kubernetes-service-accounts
-        http: false
-        passive: false
-      - id: kubernetes-services
-        http: false
-        passive: false
-      - id: openshift-build-configs
-        http: false
-        passive: false
-      - id: openshift-builds
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsComponent
-      - org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsComponent
-      - org.apache.camel.component.kubernetes.hpa.KubernetesHPAComponent
-      - org.apache.camel.component.kubernetes.job.KubernetesJobComponent
-      - org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesComponent
-      - org.apache.camel.component.kubernetes.nodes.KubernetesNodesComponent
-      - org.apache.camel.component.kubernetes.persistent_volumes.KubernetesPersistentVolumesComponent
-      - org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsComponent
-      - org.apache.camel.component.kubernetes.pods.KubernetesPodsComponent
-      - org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersComponent
-      - org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaComponent
-      - org.apache.camel.component.kubernetes.secrets.KubernetesSecretsComponent
-      - org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsComponent
-      - org.apache.camel.component.kubernetes.services.KubernetesServicesComponent
-      - org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsComponent
-      - org.apache.camel.component.openshift.builds.OpenshiftBuildsComponent
-    camel-digitalocean:
-      groupId: org.apache.camel
-      artifactId: camel-digitalocean
-      schemes:
-      - id: digitalocean
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.digitalocean.DigitalOceanComponent
-    camel-google-bigquery:
-      groupId: org.apache.camel
-      artifactId: camel-google-bigquery
-      schemes:
-      - id: google-bigquery
-        http: false
-        passive: false
-      - id: google-bigquery-sql
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.bigquery.GoogleBigQueryComponent
-      - org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent
-    camel-consul:
-      groupId: org.apache.camel
-      artifactId: camel-consul
-      schemes:
-      - id: consul
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.consul.ConsulComponent
-    camel-nats:
-      groupId: org.apache.camel
-      artifactId: camel-nats
-      schemes:
-      - id: nats
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.nats.NatsComponent
-    camel-debezium-postgres:
-      groupId: org.apache.camel
-      artifactId: camel-debezium-postgres
-      schemes:
-      - id: debezium-postgres
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.debezium.DebeziumPostgresComponent
-    camel-hl7:
-      groupId: org.apache.camel
-      artifactId: camel-hl7
-      languages:
-      - hl7terser
-      dataformats:
-      - hl7
-      javaTypes:
-      - org.apache.camel.component.hl7.Hl7TerserLanguage
-      - org.apache.camel.component.hl7.HL7DataFormat
-    camel-aws-ecs:
-      groupId: org.apache.camel
-      artifactId: camel-aws-ecs
-      schemes:
-      - id: aws-ecs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ecs.ECSComponent
-    camel-zip-deflater:
-      groupId: org.apache.camel
-      artifactId: camel-zip-deflater
-      dataformats:
-      - gzipdeflater
-      - zipdeflater
-      javaTypes:
-      - org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat
-      - org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat
-    camel-kudu:
-      groupId: org.apache.camel
-      artifactId: camel-kudu
-      schemes:
-      - id: kudu
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.kudu.KuduComponent
-    camel-jgroups-raft:
-      groupId: org.apache.camel
-      artifactId: camel-jgroups-raft
-      schemes:
-      - id: jgroups-raft
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jgroups.raft.JGroupsRaftComponent
-    camel-cmis:
-      groupId: org.apache.camel
-      artifactId: camel-cmis
-      schemes:
-      - id: cmis
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cmis.CMISComponent
-    camel-beanstalk:
-      groupId: org.apache.camel
-      artifactId: camel-beanstalk
-      schemes:
-      - id: beanstalk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.beanstalk.BeanstalkComponent
-    camel-aws-mq:
-      groupId: org.apache.camel
-      artifactId: camel-aws-mq
-      schemes:
-      - id: aws-mq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.mq.MQComponent
-    camel-mongodb-gridfs:
-      groupId: org.apache.camel
-      artifactId: camel-mongodb-gridfs
-      schemes:
-      - id: mongodb-gridfs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mongodb.gridfs.GridFsComponent
-    camel-undertow:
-      groupId: org.apache.camel
-      artifactId: camel-undertow
-      schemes:
-      - id: undertow
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.undertow.UndertowComponent
-    camel-robotframework:
-      groupId: org.apache.camel
-      artifactId: camel-robotframework
-      schemes:
-      - id: robotframework
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.robotframework.RobotFrameworkComponent
-    camel-xpath:
-      groupId: org.apache.camel
-      artifactId: camel-xpath
-      languages:
-      - xpath
-      javaTypes:
-      - org.apache.camel.language.xpath.XPathLanguage
-    camel-ssh:
-      groupId: org.apache.camel
-      artifactId: camel-ssh
-      schemes:
-      - id: ssh
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ssh.SshComponent
-    camel-mock:
-      groupId: org.apache.camel
-      artifactId: camel-mock
-      schemes:
-      - id: mock
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.mock.MockComponent
-    camel-websocket-jsr356:
-      groupId: org.apache.camel
-      artifactId: camel-websocket-jsr356
-      schemes:
-      - id: websocket-jsr356
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
-    camel-twilio:
-      groupId: org.apache.camel
-      artifactId: camel-twilio
-      schemes:
-      - id: twilio
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.twilio.TwilioComponent
-    camel-jolt:
-      groupId: org.apache.camel
-      artifactId: camel-jolt
-      schemes:
-      - id: jolt
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jolt.JoltComponent
-    camel-soap:
-      groupId: org.apache.camel
-      artifactId: camel-soap
-      dataformats:
-      - soapjaxb
-      javaTypes:
-      - org.apache.camel.dataformat.soap.SoapJaxbDataFormat
-    camel-thrift:
-      groupId: org.apache.camel
-      artifactId: camel-thrift
-      schemes:
-      - id: thrift
-        http: false
-        passive: false
-      dataformats:
-      - thrift
-      javaTypes:
-      - org.apache.camel.component.thrift.ThriftComponent
-      - org.apache.camel.dataformat.thrift.ThriftDataFormat
-    camel-crypto-cms:
-      groupId: org.apache.camel
-      artifactId: camel-crypto-cms
-      schemes:
-      - id: crypto-cms
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.crypto.cms.CryptoCmsComponent
-    camel-ognl:
-      groupId: org.apache.camel
-      artifactId: camel-ognl
-      languages:
-      - ognl
-      javaTypes:
-      - org.apache.camel.language.ognl.OgnlLanguage
-    camel-couchdb:
-      groupId: org.apache.camel
-      artifactId: camel-couchdb
-      schemes:
-      - id: couchdb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.couchdb.CouchDbComponent
-    camel-groovy:
-      groupId: org.apache.camel
-      artifactId: camel-groovy
-      languages:
-      - groovy
-      javaTypes:
-      - org.apache.camel.language.groovy.GroovyLanguage
-    camel-saga:
-      groupId: org.apache.camel
-      artifactId: camel-saga
-      schemes:
-      - id: saga
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.saga.SagaComponent
-    camel-elasticsearch-rest:
-      groupId: org.apache.camel
-      artifactId: camel-elasticsearch-rest
-      schemes:
-      - id: elasticsearch-rest
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.elasticsearch.ElasticsearchComponent
-    camel-ldap:
-      groupId: org.apache.camel
-      artifactId: camel-ldap
-      schemes:
-      - id: ldap
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ldap.LdapComponent
-    camel-csv:
-      groupId: org.apache.camel
-      artifactId: camel-csv
-      dataformats:
-      - csv
-      javaTypes:
-      - org.apache.camel.dataformat.csv.CsvDataFormat
-    camel-geocoder:
-      groupId: org.apache.camel
-      artifactId: camel-geocoder
-      schemes:
-      - id: geocoder
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.geocoder.GeoCoderComponent
-    camel-mybatis:
-      groupId: org.apache.camel
-      artifactId: camel-mybatis
-      schemes:
-      - id: mybatis
-        http: false
-        passive: false
-      - id: mybatis-bean
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mybatis.MyBatisComponent
-      - org.apache.camel.component.mybatis.MyBatisBeanComponent
-    camel-directvm:
-      groupId: org.apache.camel
-      artifactId: camel-directvm
-      schemes:
-      - id: direct-vm
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.directvm.DirectVmComponent
-    camel-xmpp:
-      groupId: org.apache.camel
-      artifactId: camel-xmpp
-      schemes:
-      - id: xmpp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xmpp.XmppComponent
-    camel-jira:
-      groupId: org.apache.camel
-      artifactId: camel-jira
-      schemes:
-      - id: jira
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jira.JiraComponent
-    camel-asterisk:
-      groupId: org.apache.camel
-      artifactId: camel-asterisk
-      schemes:
-      - id: asterisk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.asterisk.AsteriskComponent
-    camel-splunk:
-      groupId: org.apache.camel
-      artifactId: camel-splunk
-      schemes:
-      - id: splunk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.splunk.SplunkComponent
-    camel-mail:
-      groupId: org.apache.camel
-      artifactId: camel-mail
-      schemes:
-      - id: imap
-        http: false
-        passive: false
-      - id: imaps
-        http: false
-        passive: false
-      - id: pop3
-        http: false
-        passive: false
-      - id: pop3s
-        http: false
-        passive: false
-      - id: smtp
-        http: false
-        passive: false
-      - id: smtps
-        http: false
-        passive: false
-      dataformats:
-      - mime-multipart
-      javaTypes:
-      - org.apache.camel.component.mail.MailComponent
-      - org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat
-    camel-metrics:
-      groupId: org.apache.camel
-      artifactId: camel-metrics
-      schemes:
-      - id: metrics
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.metrics.MetricsComponent
-    camel-aws-sqs:
-      groupId: org.apache.camel
-      artifactId: camel-aws-sqs
-      schemes:
-      - id: aws-sqs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.sqs.SqsComponent
-    camel-cm-sms:
-      groupId: org.apache.camel
-      artifactId: camel-cm-sms
-      schemes:
-      - id: cm-sms
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cm.CMComponent
-    camel-xslt:
-      groupId: org.apache.camel
-      artifactId: camel-xslt
-      schemes:
-      - id: xslt
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xslt.XsltComponent
-    camel-flink:
-      groupId: org.apache.camel
-      artifactId: camel-flink
-      schemes:
-      - id: flink
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.flink.FlinkComponent
-    camel-braintree:
-      groupId: org.apache.camel
-      artifactId: camel-braintree
-      schemes:
-      - id: braintree
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.braintree.BraintreeComponent
-    camel-base:
-      groupId: org.apache.camel
-      artifactId: camel-base
-      languages:
-      - constant
-      - exchangeProperty
-      - file
-      - header
-      - ref
-      - simple
-      - tokenize
-      javaTypes:
-      - org.apache.camel.language.constant.ConstantLanguage
-      - org.apache.camel.language.property.ExchangePropertyLanguage
-      - org.apache.camel.language.simple.FileLanguage
-      - org.apache.camel.language.header.HeaderLanguage
-      - org.apache.camel.language.ref.RefLanguage
-      - org.apache.camel.language.simple.SimpleLanguage
-      - org.apache.camel.language.tokenizer.TokenizeLanguage
-    camel-jpa:
-      groupId: org.apache.camel
-      artifactId: camel-jpa
-      schemes:
-      - id: jpa
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jpa.JpaComponent
-    camel-cassandraql:
-      groupId: org.apache.camel
-      artifactId: camel-cassandraql
-      schemes:
-      - id: cql
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cassandra.CassandraComponent
-    camel-couchbase:
-      groupId: org.apache.camel
-      artifactId: camel-couchbase
-      schemes:
-      - id: couchbase
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.couchbase.CouchbaseComponent
-    camel-aws-ddb:
-      groupId: org.apache.camel
-      artifactId: camel-aws-ddb
-      schemes:
-      - id: aws-ddb
-        http: false
-        passive: false
-      - id: aws-ddbstream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ddb.DdbComponent
-      - org.apache.camel.component.aws.ddbstream.DdbStreamComponent
-    camel-syslog:
-      groupId: org.apache.camel
-      artifactId: camel-syslog
-      dataformats:
-      - syslog
-      javaTypes:
-      - org.apache.camel.component.syslog.SyslogDataFormat
-    camel-pubnub:
-      groupId: org.apache.camel
-      artifactId: camel-pubnub
-      schemes:
-      - id: pubnub
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pubnub.PubNubComponent
-    camel-gson:
-      groupId: org.apache.camel
-      artifactId: camel-gson
-      dataformats:
-      - json-gson
-      javaTypes:
-      - org.apache.camel.component.gson.GsonDataFormat
-    camel-json-validator:
-      groupId: org.apache.camel
-      artifactId: camel-json-validator
-      schemes:
-      - id: json-validator
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jsonvalidator.JsonValidatorComponent
-    camel-rss:
-      groupId: org.apache.camel
-      artifactId: camel-rss
-      schemes:
-      - id: rss
-        http: false
-        passive: false
-      dataformats:
-      - rss
-      javaTypes:
-      - org.apache.camel.component.rss.RssComponent
-      - org.apache.camel.dataformat.rss.RssDataFormat
-    camel-dataformat:
-      groupId: org.apache.camel
-      artifactId: camel-dataformat
-      schemes:
-      - id: dataformat
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.dataformat.DataFormatComponent
-    camel-xmlsecurity:
-      groupId: org.apache.camel
-      artifactId: camel-xmlsecurity
-      schemes:
-      - id: xmlsecurity
-        http: false
-        passive: false
-      dataformats:
-      - secureXML
-      javaTypes:
-      - org.apache.camel.component.xmlsecurity.XmlSignatureComponent
-      - org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat
-    camel-bonita:
-      groupId: org.apache.camel
-      artifactId: camel-bonita
-      schemes:
-      - id: bonita
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.bonita.BonitaComponent
-    camel-rest:
-      groupId: org.apache.camel
-      artifactId: camel-rest
-      schemes:
-      - id: rest
-        http: true
-        passive: false
-      - id: rest-api
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.rest.RestComponent
-      - org.apache.camel.component.rest.RestApiComponent
-    camel-service:
-      groupId: org.apache.camel
-      artifactId: camel-service
-      schemes:
-      - id: service
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.service.ServiceComponent
-    camel-protobuf:
-      groupId: org.apache.camel
-      artifactId: camel-protobuf
-      dataformats:
-      - protobuf
-      javaTypes:
-      - org.apache.camel.dataformat.protobuf.ProtobufDataFormat
-    camel-smpp:
-      groupId: org.apache.camel
-      artifactId: camel-smpp
-      schemes:
-      - id: smpp
-        http: false
-        passive: false
-      - id: smpps
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.smpp.SmppComponent
-    camel-velocity:
-      groupId: org.apache.camel
-      artifactId: camel-velocity
-      schemes:
-      - id: velocity
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.velocity.VelocityComponent
-    camel-google-mail:
-      groupId: org.apache.camel
-      artifactId: camel-google-mail
-      schemes:
-      - id: google-mail
-        http: false
-        passive: false
-      - id: google-mail-stream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.mail.GoogleMailComponent
-      - org.apache.camel.component.google.mail.stream.GoogleMailStreamComponent
-    camel-as2:
-      groupId: org.apache.camel
-      artifactId: camel-as2
-      schemes:
-      - id: as2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.as2.AS2Component
-    camel-xchange:
-      groupId: org.apache.camel
-      artifactId: camel-xchange
-      schemes:
-      - id: xchange
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xchange.XChangeComponent
-    camel-paxlogging:
-      groupId: org.apache.camel
-      artifactId: camel-paxlogging
-      schemes:
-      - id: paxlogging
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.paxlogging.PaxLoggingComponent
-    camel-tarfile:
-      groupId: org.apache.camel
-      artifactId: camel-tarfile
-      dataformats:
-      - tarfile
-      javaTypes:
-      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
-    camel-jooq:
-      groupId: org.apache.camel
-      artifactId: camel-jooq
-      schemes:
-      - id: jooq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jooq.JooqComponent
-    camel-ahc-ws:
-      groupId: org.apache.camel
-      artifactId: camel-ahc-ws
-      schemes:
-      - id: ahc-ws
-        http: true
-        passive: false
-      - id: ahc-wss
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ahc.ws.WsComponent
-    camel-johnzon:
-      groupId: org.apache.camel
-      artifactId: camel-johnzon
-      dataformats:
-      - json-johnzon
-      javaTypes:
-      - org.apache.camel.component.johnzon.JohnzonDataFormat
-    camel-ignite:
-      groupId: org.apache.camel
-      artifactId: camel-ignite
-      schemes:
-      - id: ignite-cache
-        http: false
-        passive: false
-      - id: ignite-compute
-        http: false
-        passive: false
-      - id: ignite-events
-        http: false
-        passive: false
-      - id: ignite-idgen
-        http: false
-        passive: false
-      - id: ignite-messaging
-        http: false
-        passive: false
-      - id: ignite-queue
-        http: false
-        passive: false
-      - id: ignite-set
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ignite.cache.IgniteCacheComponent
-      - org.apache.camel.component.ignite.compute.IgniteComputeComponent
-      - org.apache.camel.component.ignite.events.IgniteEventsComponent
-      - org.apache.camel.component.ignite.idgen.IgniteIdGenComponent
-      - org.apache.camel.component.ignite.messaging.IgniteMessagingComponent
-      - org.apache.camel.component.ignite.queue.IgniteQueueComponent
-      - org.apache.camel.component.ignite.set.IgniteSetComponent
-    camel-xslt-saxon:
-      groupId: org.apache.camel
-      artifactId: camel-xslt-saxon
-      schemes:
-      - id: xslt-saxon
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xslt.saxon.XsltSaxonComponent
-    camel-pulsar:
-      groupId: org.apache.camel
-      artifactId: camel-pulsar
-      schemes:
-      - id: pulsar
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pulsar.PulsarComponent
-    camel-rest-swagger:
-      groupId: org.apache.camel
-      artifactId: camel-rest-swagger
-      schemes:
-      - id: rest-swagger
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.rest.swagger.RestSwaggerComponent
-    camel-spring:
-      groupId: org.apache.camel
-      artifactId: camel-spring
-      schemes:
-      - id: spring-event
-        http: false
-        passive: false
-      languages:
-      - spel
-      javaTypes:
-      - org.apache.camel.component.event.EventComponent
-      - org.apache.camel.language.spel.SpelLanguage
-    camel-exec:
-      groupId: org.apache.camel
-      artifactId: camel-exec
-      schemes:
-      - id: exec
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.exec.ExecComponent
-    camel-microprofile-metrics:
-      groupId: org.apache.camel
-      artifactId: camel-microprofile-metrics
-      schemes:
-      - id: microprofile-metrics
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
-    camel-aws-s3:
-      groupId: org.apache.camel
-      artifactId: camel-aws-s3
-      schemes:
-      - id: aws-s3
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.s3.S3Component
-    camel-zookeeper-master:
-      groupId: org.apache.camel
-      artifactId: camel-zookeeper-master
-      schemes:
-      - id: zookeeper-master
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.zookeepermaster.MasterComponent
-    camel-grok:
-      groupId: org.apache.camel
-      artifactId: camel-grok
-      dataformats:
-      - grok
-      javaTypes:
-      - org.apache.camel.component.grok.GrokDataFormat
-    camel-mvel:
-      groupId: org.apache.camel
-      artifactId: camel-mvel
-      schemes:
-      - id: mvel
-        http: false
-        passive: false
-      languages:
-      - mvel
-      javaTypes:
-      - org.apache.camel.component.mvel.MvelComponent
-      - org.apache.camel.language.mvel.MvelLanguage
-    camel-debezium-sqlserver:
-      groupId: org.apache.camel
-      artifactId: camel-debezium-sqlserver
-      schemes:
-      - id: debezium-sqlserver
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.debezium.DebeziumSqlserverComponent
-    camel-cbor:
-      groupId: org.apache.camel
-      artifactId: camel-cbor
-      dataformats:
-      - cbor
-      javaTypes:
-      - org.apache.camel.component.cbor.CBORDataFormat
-    camel-google-drive:
-      groupId: org.apache.camel
-      artifactId: camel-google-drive
-      schemes:
-      - id: google-drive
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.drive.GoogleDriveComponent
-    camel-iota:
-      groupId: org.apache.camel
-      artifactId: camel-iota
-      schemes:
-      - id: iota
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.iota.IOTAComponent
-    camel-cxf:
-      groupId: org.apache.camel
-      artifactId: camel-cxf
-      schemes:
-      - id: cxf
-        http: true
-        passive: false
-      - id: cxfrs
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cxf.CxfComponent
-      - org.apache.camel.component.cxf.jaxrs.CxfRsComponent
-    camel-ref:
-      groupId: org.apache.camel
-      artifactId: camel-ref
-      schemes:
-      - id: ref
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.ref.RefComponent
-    camel-stomp:
-      groupId: org.apache.camel
-      artifactId: camel-stomp
-      schemes:
-      - id: stomp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.stomp.StompComponent
-    camel-snakeyaml:
-      groupId: org.apache.camel
-      artifactId: camel-snakeyaml
-      dataformats:
-      - yaml-snakeyaml
-      javaTypes:
-      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
-    camel-olingo4:
-      groupId: org.apache.camel
-      artifactId: camel-olingo4
-      schemes:
-      - id: olingo4
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.olingo4.Olingo4Component
-    camel-olingo2:
-      groupId: org.apache.camel
-      artifactId: camel-olingo2
-      schemes:
-      - id: olingo2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.olingo2.Olingo2Component
-    camel-milo:
-      groupId: org.apache.camel
-      artifactId: camel-milo
-      schemes:
-      - id: milo-client
-        http: false
-        passive: false
-      - id: milo-server
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.milo.client.MiloClientComponent
-      - org.apache.camel.component.milo.server.MiloServerComponent
-    camel-grpc:
-      groupId: org.apache.camel
-      artifactId: camel-grpc
-      schemes:
-      - id: grpc
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.grpc.GrpcComponent
-    camel-webhook:
-      groupId: org.apache.camel
-      artifactId: camel-webhook
-      schemes:
-      - id: webhook
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.webhook.WebhookComponent
-    camel-pgevent:
-      groupId: org.apache.camel
-      artifactId: camel-pgevent
-      schemes:
-      - id: pgevent
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pgevent.PgEventComponent
-    camel-micrometer:
-      groupId: org.apache.camel
-      artifactId: camel-micrometer
-      schemes:
-      - id: micrometer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.micrometer.MicrometerComponent
-    camel-any23:
-      groupId: org.apache.camel
-      artifactId: camel-any23
-      dataformats:
-      - any23
-      javaTypes:
-      - org.apache.camel.dataformat.any23.Any23DataFormat
-    camel-aws-lambda:
-      groupId: org.apache.camel
-      artifactId: camel-aws-lambda
-      schemes:
-      - id: aws-lambda
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.lambda.LambdaComponent
-    camel-aws-kinesis:
-      groupId: org.apache.camel
-      artifactId: camel-aws-kinesis
-      schemes:
-      - id: aws-kinesis
-        http: false
-        passive: false
-      - id: aws-kinesis-firehose
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.kinesis.KinesisComponent
-      - org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
-    camel-netty-http:
-      groupId: org.apache.camel
-      artifactId: camel-netty-http
-      schemes:
-      - id: netty-http
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.netty.http.NettyHttpComponent
-    camel-ipfs:
-      groupId: org.apache.camel
-      artifactId: camel-ipfs
-      schemes:
-      - id: ipfs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ipfs.IPFSComponent
-    camel-aws-kms:
-      groupId: org.apache.camel
-      artifactId: camel-aws-kms
-      schemes:
-      - id: aws-kms
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.kms.KMSComponent
-    camel-aws-ec2:
-      groupId: org.apache.camel
-      artifactId: camel-aws-ec2
-      schemes:
-      - id: aws-ec2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ec2.EC2Component
-    camel-sjms:
-      groupId: org.apache.camel
-      artifactId: camel-sjms
-      schemes:
-      - id: sjms
-        http: false
-        passive: false
-      - id: sjms-batch
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sjms.SjmsComponent
-      - org.apache.camel.component.sjms.batch.SjmsBatchComponent
-    camel-irc:
-      groupId: org.apache.camel
-      artifactId: camel-irc
-      schemes:
-      - id: irc
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.irc.IrcComponent
-    camel-jcr:
-      groupId: org.apache.camel
-      artifactId: camel-jcr
-      schemes:
-      - id: jcr
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jcr.JcrComponent
-    camel-dropbox:
-      groupId: org.apache.camel
-      artifactId: camel-dropbox
-      schemes:
-      - id: dropbox
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.dropbox.DropboxComponent
-    camel-activemq:
-      groupId: org.apache.camel
-      artifactId: camel-activemq
-      schemes:
-      - id: activemq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.activemq.ActiveMQComponent
-    camel-scheduler:
-      groupId: org.apache.camel
-      artifactId: camel-scheduler
-      schemes:
-      - id: scheduler
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.scheduler.SchedulerComponent
-    camel-validator:
-      groupId: org.apache.camel
-      artifactId: camel-validator
-      schemes:
-      - id: validator
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.validator.ValidatorComponent
-    camel-k-loader-yaml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-yaml
-    camel-k-loader-groovy:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-groovy
-    camel-k-loader-kotlin:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-kotlin
-    camel-k-loader-js:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-js
-    camel-k-loader-xml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-xml
-    camel-k-loader-java:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-java
-    camel-k-loader-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-knative
-    camel-k-runtime-main:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-main
-    camel-k-runtime-health:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-health
-    camel-k-runtime-inspector:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-inspector
-    camel-k-runtime-webhook:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-webhook
-    camel-k-runtime-cron:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-cron
-    camel-k-runtime-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-knative
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-k-loader-yaml
-      - groupId: org.apache.camel.k
-        artifactId: camel-k-loader-knative
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-api
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-http
-    camel-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-knative
-      schemes:
-      - id: knative
-        http: true
-        passive: false
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-api
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-http
-  loaders:
-    yaml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-yaml
-      languages:
-      - yaml
-    groovy:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-groovy
-      languages:
-      - groovy
-    kts:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-kotlin
-      languages:
-      - kts
-    js:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-js
-      languages:
-      - js
-    xml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-xml
-      languages:
-      - xml
-    java:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-java
-      languages:
-      - java
-    knative-source:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-knative
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-k-runtime-knative
diff --git a/deploy/camel-catalog-1.1.1-SNAPSHOT-quarkus.yaml b/deploy/camel-catalog-1.1.1-SNAPSHOT-quarkus.yaml
deleted file mode 100644
index 602f5f2..0000000
--- a/deploy/camel-catalog-1.1.1-SNAPSHOT-quarkus.yaml
+++ /dev/null
@@ -1,775 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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/v1
-kind: CamelCatalog
-metadata:
-  name: camel-catalog-1.1.1-snapshot-quarkus
-  labels:
-    app: camel-k
-    camel.apache.org/catalog.version: 3.0.1
-    camel.apache.org/catalog.loader.version: 3.0.1
-    camel.apache.org/runtime.version: 1.1.1-SNAPSHOT
-    camel.apache.org/runtime.provider: quarkus
-spec:
-  runtime:
-    version: 1.1.1-SNAPSHOT
-    provider: quarkus
-    applicationClass: io.quarkus.runner.GeneratedMain
-    metadata:
-      camel.version: 3.0.1
-      quarkus.version: 1.2.0.Final
-      camel-quarkus.version: 1.0.0-M3
-    dependencies:
-    - groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-quarkus
-    capabilities:
-      health:
-        dependencies:
-        - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-microprofile-health
-      rest:
-        dependencies:
-        - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-rest
-        - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-platform-http
-  artifacts:
-    camel-quarkus-jdbc:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jdbc
-      schemes:
-      - id: jdbc
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jdbc.JdbcComponent
-    camel-quarkus-file:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-file
-      schemes:
-      - id: file
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.file.FileComponent
-    camel-quarkus-pdf:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pdf
-      schemes:
-      - id: pdf
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pdf.PdfComponent
-    camel-quarkus-tagsoup:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tagsoup
-      dataformats:
-      - tidyMarkup
-      javaTypes:
-      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
-    camel-quarkus-jackson:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jackson
-      dataformats:
-      - json-jackson
-      javaTypes:
-      - org.apache.camel.component.jackson.JacksonDataFormat
-    camel-quarkus-csv:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-csv
-      dataformats:
-      - csv
-      javaTypes:
-      - org.apache.camel.dataformat.csv.CsvDataFormat
-    camel-quarkus-http:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-http
-      schemes:
-      - id: http
-        http: false
-        passive: false
-      - id: https
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.http.HttpComponent
-    camel-quarkus-aws-sns:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sns
-      schemes:
-      - id: aws-sns
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.sns.SnsComponent
-    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-zipfile:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zipfile
-      dataformats:
-      - zipfile
-      javaTypes:
-      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
-    camel-quarkus-netty:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-netty
-      schemes:
-      - id: netty
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.netty.NettyComponent
-    camel-quarkus-salesforce:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-salesforce
-      schemes:
-      - id: salesforce
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.salesforce.SalesforceComponent
-    camel-quarkus-servlet:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-servlet
-      schemes:
-      - id: servlet
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.servlet.ServletComponent
-    camel-quarkus-reactive-streams:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-reactive-streams
-      schemes:
-      - id: reactive-streams
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
-    camel-quarkus-aws-eks:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-eks
-      schemes:
-      - id: aws-eks
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.eks.EKSComponent
-    camel-quarkus-core:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-core
-      languages:
-      - constant
-      - exchangeProperty
-      - file
-      - header
-      - ref
-      - simple
-      - tokenize
-      javaTypes:
-      - org.apache.camel.language.constant.ConstantLanguage
-      - org.apache.camel.language.property.ExchangePropertyLanguage
-      - org.apache.camel.language.simple.FileLanguage
-      - org.apache.camel.language.header.HeaderLanguage
-      - org.apache.camel.language.ref.RefLanguage
-      - org.apache.camel.language.simple.SimpleLanguage
-      - org.apache.camel.language.tokenizer.TokenizeLanguage
-    camel-quarkus-exec:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-exec
-      schemes:
-      - id: exec
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.exec.ExecComponent
-    camel-quarkus-netty-http:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-netty-http
-      schemes:
-      - id: netty-http
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.netty.http.NettyHttpComponent
-    camel-quarkus-consul:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-consul
-      schemes:
-      - id: consul
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.consul.ConsulComponent
-    camel-quarkus-aws-s3:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-s3
-      schemes:
-      - id: aws-s3
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.s3.S3Component
-    camel-quarkus-tarfile:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tarfile
-      dataformats:
-      - tarfile
-      javaTypes:
-      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
-    camel-quarkus-ftp:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ftp
-      schemes:
-      - id: ftp
-        http: false
-        passive: false
-      - id: ftps
-        http: false
-        passive: false
-      - id: sftp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.file.remote.FtpComponent
-      - org.apache.camel.component.file.remote.FtpsComponent
-      - org.apache.camel.component.file.remote.SftpComponent
-    camel-quarkus-slack:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-slack
-      schemes:
-      - id: slack
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.slack.SlackComponent
-    camel-quarkus-sjms2:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sjms2
-      schemes:
-      - id: sjms2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sjms2.Sjms2Component
-    camel-quarkus-aws-lambda:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-lambda
-      schemes:
-      - id: aws-lambda
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.lambda.LambdaComponent
-    camel-quarkus-aws-ecs:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-ecs
-      schemes:
-      - id: aws-ecs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ecs.ECSComponent
-    camel-quarkus-scheduler:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-scheduler
-      schemes:
-      - id: scheduler
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.scheduler.SchedulerComponent
-    camel-quarkus-platform-http:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-platform-http
-      schemes:
-      - id: platform-http
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.platform.http.PlatformHttpComponent
-    camel-quarkus-xslt:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xslt
-      schemes:
-      - id: xslt
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xslt.XsltComponent
-    camel-quarkus-sjms:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sjms
-      schemes:
-      - id: sjms
-        http: false
-        passive: false
-      - id: sjms-batch
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sjms.SjmsComponent
-      - org.apache.camel.component.sjms.batch.SjmsBatchComponent
-    camel-quarkus-paho:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-paho
-      schemes:
-      - id: paho
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.paho.PahoComponent
-    camel-quarkus-dozer:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dozer
-      schemes:
-      - id: dozer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.dozer.DozerComponent
-    camel-quarkus-bean:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bean
-      schemes:
-      - id: bean
-        http: false
-        passive: true
-      - id: class
-        http: false
-        passive: true
-      languages:
-      - bean
-      javaTypes:
-      - org.apache.camel.component.bean.BeanComponent
-      - org.apache.camel.component.beanclass.ClassComponent
-      - org.apache.camel.language.bean.BeanLanguage
-    camel-quarkus-aws-translate:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-translate
-      schemes:
-      - id: aws-translate
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.translate.TranslateComponent
-    camel-quarkus-mail:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mail
-      schemes:
-      - id: imap
-        http: false
-        passive: false
-      - id: imaps
-        http: false
-        passive: false
-      - id: pop3
-        http: false
-        passive: false
-      - id: pop3s
-        http: false
-        passive: false
-      - id: smtp
-        http: false
-        passive: false
-      - id: smtps
-        http: false
-        passive: false
-      dataformats:
-      - mime-multipart
-      javaTypes:
-      - org.apache.camel.component.mail.MailComponent
-      - org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat
-    camel-quarkus-bean-validator:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bean-validator
-      schemes:
-      - id: bean-validator
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.bean.validator.BeanValidatorComponent
-    camel-quarkus-snakeyaml:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-snakeyaml
-      dataformats:
-      - yaml-snakeyaml
-      javaTypes:
-      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
-    camel-quarkus-vm:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vm
-      schemes:
-      - id: vm
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.vm.VmComponent
-    camel-quarkus-kafka:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-kafka
-      schemes:
-      - id: kafka
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.kafka.KafkaComponent
-    camel-quarkus-seda:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-seda
-      schemes:
-      - id: seda
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.seda.SedaComponent
-    camel-quarkus-log:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-log
-      schemes:
-      - id: log
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.log.LogComponent
-    camel-quarkus-twitter:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-twitter
-      schemes:
-      - id: twitter-directmessage
-        http: false
-        passive: false
-      - id: twitter-search
-        http: false
-        passive: false
-      - id: twitter-timeline
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent
-      - org.apache.camel.component.twitter.search.TwitterSearchComponent
-      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
-    camel-quarkus-sql:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sql
-      schemes:
-      - id: sql
-        http: false
-        passive: false
-      - id: sql-stored
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sql.SqlComponent
-      - org.apache.camel.component.sql.stored.SqlStoredComponent
-    camel-quarkus-mongodb:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mongodb
-      schemes:
-      - id: mongodb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mongodb.MongoDbComponent
-    camel-quarkus-microprofile-metrics:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-microprofile-metrics
-      schemes:
-      - id: microprofile-metrics
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
-    camel-quarkus-infinispan:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-infinispan
-      schemes:
-      - id: infinispan
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.infinispan.InfinispanComponent
-    camel-quarkus-rest:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rest
-      schemes:
-      - id: rest
-        http: true
-        passive: false
-      - id: rest-api
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.rest.RestComponent
-      - org.apache.camel.component.rest.RestApiComponent
-    camel-quarkus-ahc-ws:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ahc-ws
-      schemes:
-      - id: ahc-ws
-        http: true
-        passive: false
-      - id: ahc-wss
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ahc.ws.WsComponent
-    camel-quarkus-ahc:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ahc
-      schemes:
-      - id: ahc
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ahc.AhcComponent
-    camel-quarkus-controlbus:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-controlbus
-      schemes:
-      - id: controlbus
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.controlbus.ControlBusComponent
-    camel-quarkus-base64:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-base64
-      dataformats:
-      - base64
-      javaTypes:
-      - org.apache.camel.dataformat.base64.Base64DataFormat
-    camel-quarkus-direct:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-direct
-      schemes:
-      - id: direct
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.direct.DirectComponent
-    camel-quarkus-fhir:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fhir
-      schemes:
-      - id: fhir
-        http: false
-        passive: false
-      dataformats:
-      - fhirJson
-      - fhirXml
-      javaTypes:
-      - org.apache.camel.component.fhir.FhirComponent
-      - org.apache.camel.component.fhir.FhirJsonDataFormat
-      - org.apache.camel.component.fhir.FhirXmlDataFormat
-    camel-quarkus-dataformat:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dataformat
-      schemes:
-      - id: dataformat
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.dataformat.DataFormatComponent
-    camel-quarkus-aws-kinesis:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-kinesis
-      schemes:
-      - id: aws-kinesis
-        http: false
-        passive: false
-      - id: aws-kinesis-firehose
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.kinesis.KinesisComponent
-      - org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
-    camel-quarkus-aws-kms:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-kms
-      schemes:
-      - id: aws-kms
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.kms.KMSComponent
-    camel-quarkus-timer:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-timer
-      schemes:
-      - id: timer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.timer.TimerComponent
-    camel-quarkus-aws-ec2:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-ec2
-      schemes:
-      - id: aws-ec2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ec2.EC2Component
-    camel-quarkus-jsonpath:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsonpath
-      languages:
-      - jsonpath
-      javaTypes:
-      - org.apache.camel.jsonpath.JsonPathLanguage
-    camel-quarkus-aws-sqs:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sqs
-      schemes:
-      - id: aws-sqs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.sqs.SqsComponent
-    camel-quarkus-aws-iam:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-iam
-      schemes:
-      - id: aws-iam
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.iam.IAMComponent
-    camel-k-loader-yaml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-yaml
-    camel-k-loader-groovy:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-groovy
-    camel-k-loader-kotlin:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-kotlin
-    camel-k-loader-js:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-js
-    camel-k-loader-xml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-xml
-    camel-k-loader-java:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-java
-    camel-k-loader-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-knative
-    camel-k-runtime-main:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-main
-    camel-k-runtime-health:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-health
-    camel-k-runtime-inspector:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-inspector
-    camel-k-runtime-webhook:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-webhook
-    camel-k-runtime-cron:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-cron
-    camel-k-runtime-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-knative
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-k-loader-yaml
-      - groupId: org.apache.camel.k
-        artifactId: camel-k-loader-knative
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-api
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-http
-    camel-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-knative
-      schemes:
-      - id: knative
-        http: true
-        passive: false
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-api
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-http
-  loaders:
-    yaml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-quarkus-loader-yaml
-      languages:
-      - yaml
-      metadata:
-        native: "true"
-    groovy:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-quarkus-loader-groovy
-      languages:
-      - groovy
-      metadata:
-        native: "false"
-    kts:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-quarkus-loader-kotlin
-      languages:
-      - kts
-      metadata:
-        native: "false"
-    js:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-quarkus-loader-js
-      languages:
-      - js
-      metadata:
-        native: "true"
-    xml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-quarkus-loader-xml
-      languages:
-      - xml
-      metadata:
-        native: "true"
-    java:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-quarkus-loader-java
-      languages:
-      - java
-      metadata:
-        native: "false"
-    knative-source:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-quarkus-loader-knative
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-k-quarkus-knative
-      metadata:
-        native: "true"
diff --git a/deploy/camel-catalog-1.2.0-SNAPSHOT-main.yaml b/deploy/camel-catalog-1.2.0-SNAPSHOT-main.yaml
index 9f82592..50d1907 100644
--- a/deploy/camel-catalog-1.2.0-SNAPSHOT-main.yaml
+++ b/deploy/camel-catalog-1.2.0-SNAPSHOT-main.yaml
@@ -38,6 +38,10 @@ spec:
     - groupId: org.apache.camel.k
       artifactId: camel-k-runtime-main
     capabilities:
+      cron:
+        dependencies:
+        - groupId: org.apache.camel.k
+          artifactId: camel-k-runtime-cron
       health:
         dependencies:
         - groupId: org.apache.camel.k
@@ -3053,9 +3057,6 @@ spec:
     camel-k-loader-java:
       groupId: org.apache.camel.k
       artifactId: camel-k-loader-java
-    camel-k-loader-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-knative
     camel-k-runtime-main:
       groupId: org.apache.camel.k
       artifactId: camel-k-runtime-main
@@ -3078,8 +3079,6 @@ spec:
       - groupId: org.apache.camel.k
         artifactId: camel-k-loader-yaml
       - groupId: org.apache.camel.k
-        artifactId: camel-k-loader-knative
-      - groupId: org.apache.camel.k
         artifactId: camel-knative-api
       - groupId: org.apache.camel.k
         artifactId: camel-knative
@@ -3128,9 +3127,3 @@ spec:
       artifactId: camel-k-loader-java
       languages:
       - java
-    knative-source:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-knative
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-k-runtime-knative
diff --git a/deploy/camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml b/deploy/camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml
index 01b62ce..e1f820f 100644
--- a/deploy/camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml
+++ b/deploy/camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml
@@ -38,6 +38,10 @@ spec:
     - groupId: org.apache.camel.k
       artifactId: camel-k-runtime-quarkus
     capabilities:
+      cron:
+        dependencies:
+        - groupId: org.apache.camel.k
+          artifactId: camel-k-runtime-cron
       health:
         dependencies:
         - groupId: org.apache.camel.quarkus
@@ -795,9 +799,6 @@ spec:
     camel-k-loader-java:
       groupId: org.apache.camel.k
       artifactId: camel-k-loader-java
-    camel-k-loader-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-knative
     camel-k-runtime-main:
       groupId: org.apache.camel.k
       artifactId: camel-k-runtime-main
@@ -820,8 +821,6 @@ spec:
       - groupId: org.apache.camel.k
         artifactId: camel-k-loader-yaml
       - groupId: org.apache.camel.k
-        artifactId: camel-k-loader-knative
-      - groupId: org.apache.camel.k
         artifactId: camel-knative-api
       - groupId: org.apache.camel.k
         artifactId: camel-knative
@@ -882,11 +881,3 @@ spec:
       - java
       metadata:
         native: "false"
-    knative-source:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-quarkus-loader-knative
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-k-quarkus-knative
-      metadata:
-        native: "true"
diff --git a/deploy/resources.go b/deploy/resources.go
index 4ae5e6f..4f68dc8 100644
--- a/deploy/resources.go
+++ b/deploy/resources.go
@@ -88,47 +88,19 @@ var assets = func() http.FileSystem {
 
 			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x3d\x6f\xdb\x30\x14\xdc\xf9\x2b\x0e\xd6\x92\x00\xfe\x68\x3b\xba\x93\x9a\xd8\xa8\xd0\xc0\x06\x22\xa7\x41\xc6\x67\xf1\x59\x7a\x08\x45\xaa\x24\x15\xc5\xff\xbe\xa0\x6c\x37\x09\xba\x86\x9b\xa0\xd3\x7d\xf0\x4e\x19\x66\x9f\x77\x54\x86\x3b\xa9\xd8\x06\xd6\x88\x0e\xb1\x61\xe4\x1d\x55\x0d\xa3\x74\x87\x38\x90\x67\xac\x5d\x6f\x35\x45\x71\x16\x57\x79\xb9\xbe\x46\x6f\x35\x7b\x38\xcb\x70\x1e\xad\xf3\xac\x32\x54\xce\x46\x2f\x [...]
 		},
-		"/camel-catalog-1.1.0-main.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "camel-catalog-1.1.0-main.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 81994,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x7d\x4f\x77\xdb\x38\xb2\xef\x3e\x9f\x82\x67\xb2\xb9\xf7\xbc\x51\x4d\x77\x67\xee\xf4\xbb\xfd\x56\xb6\x1c\x27\x76\x6c\xc7\x1d\x7a\x3a\x99\xde\xf4\x81\x48\x48\x82\x4c\x12\x34\x00\xca\xb2\x3f\xfd\x3b\xf8\xc3\xbf\x82\x60\x91\x30\xec\x85\x49\x11\x55\xbf\x62\x11\x20\x08\x14\x0a\x55\xef\xa3\xd9\xeb\xfd\xbd\x7b\x1f\x5d\x91\x04\x17\x1c\xa7\x91\xa0\x91\x58\xe3\xe8\xa4\x44\xc9\x1a\x47\x31\x5d\x8a\x47\xc4\x70\x74\x4e\xab\x22\x [...]
-		},
-		"/camel-catalog-1.1.0-quarkus.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "camel-catalog-1.1.0-quarkus.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 22766,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5c\x4b\x77\x9b\xba\x16\x9e\xfb\x57\x68\x35\x93\x73\xd6\x2a\xea\x23\x77\xdd\x41\xee\x28\x4d\x93\x7b\xdc\xd6\x69\x57\xf1\x79\xdd\x99\x0c\x1b\xa3\x18\x24\x2c\xc9\x76\x72\x7e\xfd\x5d\x12\xc2\x80\x43\x05\x38\xa2\x19\xc4\x18\xed\xfd\xed\x97\x5e\x7b\x23\x7c\x81\x02\x7f\x7f\xb3\x0b\xf4\x85\x46\xc0\x24\xc4\x48\x71\xa4\x52\x40\xd7\x05\x89\x52\x40\x21\x4f\xd4\x81\x08\x40\x77\x7c\xc7\x62\xa2\x28\x67\xe8\x97\xeb\xf0\xee\x57\x [...]
-		},
-		"/camel-catalog-1.1.1-SNAPSHOT-main.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "camel-catalog-1.1.1-SNAPSHOT-main.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 82338,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x7d\x5b\x77\xdb\x38\xb2\xee\x7b\x7e\x05\xd7\xe4\x65\xef\x75\x46\x35\xdd\x9d\xd9\xd3\x67\xf7\x79\xb2\xe5\x38\xb1\x63\x3b\xee\xd0\xd3\xc9\xf4\x4b\x2f\x88\x84\x24\xc8\x24\x41\x03\xd0\xc5\xfe\xf5\x67\xe1\xc2\xab\x20\x48\x24\x0c\xfb\xc1\xa4\x88\xaa\xaf\x58\x00\x88\x6b\xa1\xea\x7d\x34\x79\xbd\xbf\x77\xef\xa3\x1b\x92\xe0\x82\xe3\x34\x12\x34\x12\x4b\x1c\x9d\x95\x28\x59\xe2\x28\xa6\x73\xb1\x45\x0c\x47\x97\x74\x5d\xa4\x48\x [...]
-		},
-		"/camel-catalog-1.1.1-SNAPSHOT-quarkus.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "camel-catalog-1.1.1-SNAPSHOT-quarkus.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 23164,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5c\xcb\x77\x9b\x3c\x16\xdf\xfb\xaf\xd0\x69\x36\xdf\x77\x4e\x51\x1f\x99\x33\x8b\xcc\x2a\x4d\x93\xa9\xdb\x3a\xc9\x29\xfe\x5e\xb3\x93\xe1\x62\x14\x83\x84\x25\xd9\x4e\xfa\xd7\xcf\x11\x88\x97\x43\x04\x38\xa2\x59\xc4\x80\xee\xfd\xdd\x97\x9e\x57\x82\x33\xe4\xb9\xfb\x9b\x9d\xa1\xef\x34\x00\x26\x21\x44\x8a\x23\x15\x03\xba\xcc\x48\x10\x03\xf2\x79\xa4\x0e\x44\x00\xba\xe1\x3b\x16\x12\x45\x39\x43\xbf\x5d\xfa\x37\xbf\xa3\x1d\x [...]
-		},
 		"/camel-catalog-1.2.0-SNAPSHOT-main.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "camel-catalog-1.2.0-SNAPSHOT-main.yaml",
 			modTime:          time.Time{},
-			uncompressedSize: 87430,
+			uncompressedSize: 87168,
 
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x7d\x5b\x77\xdb\x38\xb2\xee\x7b\x7e\x05\xd7\xe4\x65\xef\x75\x46\x98\x6e\x67\xf6\xf4\xd9\x7d\x9e\x6c\x39\x4e\xec\xd8\x8e\x3b\xf4\x24\x99\x7e\xe9\x05\x91\x90\x04\x8b\x24\x68\x00\x92\x65\xff\xfa\xb3\x70\xe1\x55\x10\x24\xb2\x0c\xfb\xc1\xa4\x88\xaa\xaf\x58\x00\x88\x6b\xa1\xea\x7d\x34\x79\xbd\xbf\x77\xef\xa3\x6b\x9a\x90\x42\x90\x34\x92\x2c\x92\x4b\x12\x9d\x96\x38\x59\x92\x28\x66\x73\xf9\x84\x39\x89\x2e\xd8\xba\x48\xb1\x [...]
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x7d\x5b\x77\xdb\x38\xb2\xee\x7b\x7e\x05\xd7\xe4\x65\xef\x75\x46\x98\x6e\x67\xf6\xf4\xd9\x7d\x9e\x6c\x39\x4e\xec\xd8\x8e\x3b\xf4\x24\x99\x7e\xe9\x05\x91\x90\x04\x8b\x24\x68\x00\x92\x65\xff\xfa\xb3\x70\xe1\x55\x10\x24\xb2\x0c\xfb\xc1\xa4\x88\xaa\xaf\x58\x00\x88\x6b\xa1\xea\x7d\x34\x79\xbd\xbf\x77\xef\xa3\x6b\x9a\x90\x42\x90\x34\x92\x2c\x92\x4b\x12\x9d\x96\x38\x59\x92\x28\x66\x73\xf9\x84\x39\x89\x2e\xd8\xba\x48\xb1\x [...]
 		},
 		"/camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml",
 			modTime:          time.Time{},
-			uncompressedSize: 26766,
+			uncompressedSize: 26457,
 
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5c\xc9\x76\xdc\xa8\xd7\xdf\xd7\x53\x70\xe2\x4d\xf7\x39\x11\x49\xc7\xdd\xbd\xf0\xb7\xf2\xd8\x71\xe2\xe9\xb3\xaa\x93\x74\x76\x94\x44\x49\xb8\x24\x90\x81\x1a\xec\xa7\xff\x1f\x10\x1a\x2d\x23\xa9\x8c\xe2\x85\x4b\x25\x2e\xbf\x3b\x21\xb8\x5c\x6e\xe9\x00\x78\xee\xfe\x66\x07\xe0\x8a\x04\x98\x0a\x1c\x02\xc9\x80\x8c\x31\x38\xce\x50\x10\x63\xe0\xb3\xa5\xdc\x22\x8e\xc1\x05\x5b\xd3\x10\x49\xc2\x28\xf8\xed\xd8\xbf\xf8\x1d\xac\x [...]
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5c\x5b\x77\xdb\xa8\xf6\x7f\xf7\xa7\x60\x35\x2f\xe7\xac\x55\xd1\x4e\x33\x33\x0f\xf9\x3f\x25\x69\x32\x4d\x9b\xdb\x3f\xf2\xb4\x9d\x79\xc3\x12\x96\x88\x25\x50\x00\x5f\x92\x4f\x7f\x16\x08\x5d\xa3\x20\xc9\x46\xcd\x43\x2c\x8b\xbd\x7f\xfb\x86\x60\xb3\x85\x39\x02\x9e\xbb\xbf\xd9\x11\xb8\x26\x01\xa6\x02\x87\x40\x32\x20\x63\x0c\x4e\x33\x14\xc4\x18\xf8\x6c\x29\xb7\x88\x63\x70\xc9\xd6\x34\x44\x92\x30\x0a\xfe\x73\xea\x5f\xfe\x [...]
 		},
 		"/cr-example.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "cr-example.yaml",
@@ -372,10 +344,6 @@ var assets = func() http.FileSystem {
 		fs["/builder-role-kubernetes.yaml"].(os.FileInfo),
 		fs["/builder-role-openshift.yaml"].(os.FileInfo),
 		fs["/builder-service-account.yaml"].(os.FileInfo),
-		fs["/camel-catalog-1.1.0-main.yaml"].(os.FileInfo),
-		fs["/camel-catalog-1.1.0-quarkus.yaml"].(os.FileInfo),
-		fs["/camel-catalog-1.1.1-SNAPSHOT-main.yaml"].(os.FileInfo),
-		fs["/camel-catalog-1.1.1-SNAPSHOT-quarkus.yaml"].(os.FileInfo),
 		fs["/camel-catalog-1.2.0-SNAPSHOT-main.yaml"].(os.FileInfo),
 		fs["/camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml"].(os.FileInfo),
 		fs["/cr-example.yaml"].(os.FileInfo),
diff --git a/pkg/apis/camel/v1/integration_types.go b/pkg/apis/camel/v1/integration_types.go
index 742c296..c1d5efd 100644
--- a/pkg/apis/camel/v1/integration_types.go
+++ b/pkg/apis/camel/v1/integration_types.go
@@ -113,6 +113,9 @@ type SourceSpec struct {
 	// Loader is an optional id of the org.apache.camel.k.RoutesLoader that will
 	// interpret this source at runtime
 	Loader string `json:"loader,omitempty"`
+	// Interceptors are optional identifiers the org.apache.camel.k.RoutesLoader
+	// uses to pre/post process sources
+	Interceptors []string `json:"interceptors,omitempty"`
 }
 
 // Language --
diff --git a/pkg/apis/camel/v1/zz_generated.deepcopy.go b/pkg/apis/camel/v1/zz_generated.deepcopy.go
index b4cc23d..ca39df9 100644
--- a/pkg/apis/camel/v1/zz_generated.deepcopy.go
+++ b/pkg/apis/camel/v1/zz_generated.deepcopy.go
@@ -206,7 +206,9 @@ func (in *BuilderTask) DeepCopyInto(out *BuilderTask) {
 	if in.Sources != nil {
 		in, out := &in.Sources, &out.Sources
 		*out = make([]SourceSpec, len(*in))
-		copy(*out, *in)
+		for i := range *in {
+			(*in)[i].DeepCopyInto(&(*out)[i])
+		}
 	}
 	if in.Resources != nil {
 		in, out := &in.Resources, &out.Resources
@@ -486,6 +488,13 @@ func (in *Capability) DeepCopyInto(out *Capability) {
 		*out = make([]MavenArtifact, len(*in))
 		copy(*out, *in)
 	}
+	if in.Metadata != nil {
+		in, out := &in.Metadata, &out.Metadata
+		*out = make(map[string]string, len(*in))
+		for key, val := range *in {
+			(*out)[key] = val
+		}
+	}
 	return
 }
 
@@ -1067,7 +1076,9 @@ func (in *IntegrationSpec) DeepCopyInto(out *IntegrationSpec) {
 	if in.Sources != nil {
 		in, out := &in.Sources, &out.Sources
 		*out = make([]SourceSpec, len(*in))
-		copy(*out, *in)
+		for i := range *in {
+			(*in)[i].DeepCopyInto(&(*out)[i])
+		}
 	}
 	if in.Resources != nil {
 		in, out := &in.Resources, &out.Resources
@@ -1120,7 +1131,9 @@ func (in *IntegrationStatus) DeepCopyInto(out *IntegrationStatus) {
 	if in.GeneratedSources != nil {
 		in, out := &in.GeneratedSources, &out.GeneratedSources
 		*out = make([]SourceSpec, len(*in))
-		copy(*out, *in)
+		for i := range *in {
+			(*in)[i].DeepCopyInto(&(*out)[i])
+		}
 	}
 	if in.GeneratedResources != nil {
 		in, out := &in.GeneratedResources, &out.GeneratedResources
@@ -1256,6 +1269,11 @@ func (in *RuntimeSpec) DeepCopy() *RuntimeSpec {
 func (in *SourceSpec) DeepCopyInto(out *SourceSpec) {
 	*out = *in
 	out.DataSpec = in.DataSpec
+	if in.Interceptors != nil {
+		in, out := &in.Interceptors, &out.Interceptors
+		*out = make([]string, len(*in))
+		copy(*out, *in)
+	}
 	return
 }
 
diff --git a/pkg/trait/dependencies.go b/pkg/trait/dependencies.go
index 39aa2b2..79d5ecc 100644
--- a/pkg/trait/dependencies.go
+++ b/pkg/trait/dependencies.go
@@ -78,13 +78,14 @@ func (t *dependenciesTrait) Apply(e *Environment) error {
 				for _, d := range v.Dependencies {
 					dependencies.Add(fmt.Sprintf("mvn:%s/%s", d.GroupID, d.ArtifactID))
 				}
-			}
-			// add language specific dependencies
-			if util.StringSliceExists(v.Languages, string(lang)) {
-				dependencies.Add(fmt.Sprintf("mvn:%s/%s", v.GroupID, v.ArtifactID))
-
-				for _, d := range v.Dependencies {
-					dependencies.Add(fmt.Sprintf("mvn:%s/%s", d.GroupID, d.ArtifactID))
+			} else if s.Loader == "" {
+				// add language specific dependencies
+				if util.StringSliceExists(v.Languages, string(lang)) {
+					dependencies.Add(fmt.Sprintf("mvn:%s/%s", v.GroupID, v.ArtifactID))
+
+					for _, d := range v.Dependencies {
+						dependencies.Add(fmt.Sprintf("mvn:%s/%s", d.GroupID, d.ArtifactID))
+					}
 				}
 			}
 		}
diff --git a/pkg/trait/dependencies_test.go b/pkg/trait/dependencies_test.go
index b1e524d..8a376e2 100644
--- a/pkg/trait/dependencies_test.go
+++ b/pkg/trait/dependencies_test.go
@@ -193,6 +193,9 @@ func TestIntegrationAutoGeneratedDeps(t *testing.T) {
 	)
 }
 
+// in this test the language of the source is something unrelated to the
+// loader to test the order in which loader and language are taken into
+// account when dependencies are computed
 func TestIntegrationCustomLoader(t *testing.T) {
 	catalog, err := camel.DefaultCatalog()
 	assert.Nil(t, err)
@@ -205,11 +208,11 @@ func TestIntegrationCustomLoader(t *testing.T) {
 				Sources: []v1.SourceSpec{
 					{
 						DataSpec: v1.DataSpec{
-							Name:    "flow.yaml",
-							Content: "- from:\n    uri: direct:foo\n    steps:\n    - to: log:bar",
+							Name:    "flow.java",
+							Content: `from("direct:foo").to("log:bar");`,
 						},
-						Language: v1.LanguageYaml,
-						Loader:   "knative-source",
+						Language: v1.LanguageJavaSource,
+						Loader:   "yaml",
 					},
 				},
 			},
@@ -230,9 +233,7 @@ func TestIntegrationCustomLoader(t *testing.T) {
 		[]string{
 			"camel:direct",
 			"camel:log",
-			"mvn:org.apache.camel.k/camel-k-loader-knative",
 			"mvn:org.apache.camel.k/camel-k-loader-yaml",
-			"mvn:org.apache.camel.k/camel-k-runtime-knative",
 			"mvn:org.apache.camel.k/camel-k-runtime-main"},
 		e.Integration.Status.Dependencies,
 	)
diff --git a/pkg/trait/trait_types.go b/pkg/trait/trait_types.go
index 40045b2..c3a50e3 100644
--- a/pkg/trait/trait_types.go
+++ b/pkg/trait/trait_types.go
@@ -494,6 +494,9 @@ func (e *Environment) ComputeSourcesURI() []string {
 		if s.Compression {
 			params = append(params, "compression=true")
 		}
+		if s.Interceptors != nil {
+			params = append(params, "interceptors="+strings.Join(s.Interceptors, ","))
+		}
 
 		if len(params) > 0 {
 			src = fmt.Sprintf("%s?%s", src, strings.Join(params, "&"))


[camel-k] 08/09: Fix project generation for quarkus

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 2dc57b7189310ecd04fdc9997c83d171cab6a1da
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Tue Mar 10 09:03:04 2020 +0100

    Fix project generation for quarkus
---
 pkg/builder/runtime/quarkus.go | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/pkg/builder/runtime/quarkus.go b/pkg/builder/runtime/quarkus.go
index ab920a5..538474f 100644
--- a/pkg/builder/runtime/quarkus.go
+++ b/pkg/builder/runtime/quarkus.go
@@ -20,6 +20,7 @@ package runtime
 import (
 	"fmt"
 	"io/ioutil"
+	"os"
 	"path"
 
 	yaml2 "gopkg.in/yaml.v2"
@@ -118,6 +119,21 @@ func buildQuarkusRunner(ctx *builder.Context) error {
 	mc.LocalRepository = ctx.Build.Maven.LocalRepository
 	mc.Timeout = ctx.Build.Maven.GetTimeout().Duration
 
+	resourcesPath := path.Join(mc.Path, "src", "main", "resources")
+	if err := os.MkdirAll(resourcesPath, os.ModePerm); err != nil {
+		return errors.Wrap(err, "failure while creating resource folder")
+	}
+
+	// generate an empty application.properties so that there will be something in
+	// target/classes as if such directory does not exist, the quarkus maven plugin
+	// mai fail the build
+	//
+	// in the future there should be a way to provide build information from secrets,
+	// configmap, etc.
+	if _, err := os.Create(path.Join(resourcesPath, "application.properties")); err != nil {
+		return errors.Wrap(err, "failure while creating application.properties")
+	}
+
 	// Build the project
 	mc.AddArgument("package")
 	if err := maven.Run(mc); err != nil {


[camel-k] 05/09: Adapt cron trait to latest camel-k-runtime #1329

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 61fc9335c0b5fb10daea1e109a334b97982242a4
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Mon Mar 9 16:57:03 2020 +0100

    Adapt cron trait to latest camel-k-runtime #1329
---
 e2e/cron_test.go         |   9 ++
 pkg/trait/cron.go        |  79 ++++++++----
 pkg/trait/cron_test.go   | 328 ++++++++++++++++++++++++++++++++++++++++++++++-
 pkg/trait/trait_types.go |  11 +-
 4 files changed, 398 insertions(+), 29 deletions(-)

diff --git a/e2e/cron_test.go b/e2e/cron_test.go
index a64936a..857f7f9 100644
--- a/e2e/cron_test.go
+++ b/e2e/cron_test.go
@@ -58,5 +58,14 @@ func TestRunCronExample(t *testing.T) {
 			Eventually(integrationLogs(ns, "cron-fallback"), testTimeoutShort).Should(ContainSubstring("Magicstring!"))
 			Expect(kamel("delete", "--all", "-n", ns).Execute()).Should(BeNil())
 		})
+
+		t.Run("cron-fallback-quarkus", func(t *testing.T) {
+			RegisterTestingT(t)
+
+			Expect(kamel("run", "-n", ns, "files/cron.groovy").Execute()).Should(BeNil())
+			Eventually(integrationPodPhase(ns, "cron"), testTimeoutMedium).Should(Equal(v1.PodRunning))
+			Eventually(integrationLogs(ns, "cron"), testTimeoutShort).Should(ContainSubstring("Magicstring!"))
+			Expect(kamel("delete", "--all", "-n", ns).Execute()).Should(BeNil())
+		})
 	})
 }
diff --git a/pkg/trait/cron.go b/pkg/trait/cron.go
index 4445438..6b6ac85 100644
--- a/pkg/trait/cron.go
+++ b/pkg/trait/cron.go
@@ -20,6 +20,7 @@ package trait
 import (
 	"fmt"
 	"regexp"
+	"sort"
 	"strconv"
 	"strings"
 
@@ -31,7 +32,6 @@ import (
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
 	"github.com/apache/camel-k/pkg/metadata"
 	"github.com/apache/camel-k/pkg/util"
-	"github.com/apache/camel-k/pkg/util/envvar"
 	"github.com/apache/camel-k/pkg/util/kubernetes"
 	"github.com/apache/camel-k/pkg/util/uri"
 )
@@ -125,7 +125,18 @@ func (t *cronTrait) Configure(e *Environment) (bool, error) {
 		return false, nil
 	}
 
-	if !e.IntegrationInPhase(v1.IntegrationPhaseInitialization) && !e.InPhase(v1.IntegrationKitPhaseReady, v1.IntegrationPhaseDeploying) {
+	if !e.IntegrationInPhase(v1.IntegrationPhaseInitialization, v1.IntegrationPhaseDeploying) {
+		return false, nil
+	}
+
+	if _, ok := e.CamelCatalog.Runtime.Capabilities["cron"]; !ok {
+		e.Integration.Status.SetCondition(
+			v1.IntegrationConditionCronJobAvailable,
+			corev1.ConditionFalse,
+			v1.IntegrationConditionCronJobNotAvailableReason,
+			"the runtime provider %s does not declare 'cron' capability",
+		)
+
 		return false, nil
 	}
 
@@ -156,7 +167,14 @@ func (t *cronTrait) Configure(e *Environment) (bool, error) {
 			t.ConcurrencyPolicy = string(v1beta1.ForbidConcurrent)
 		}
 
-		if t.Schedule == "" && t.Components == "" && t.Fallback == nil {
+		hasQuarkus := false
+
+		qt := e.GetTrait("quarkus")
+		if qt != nil {
+			hasQuarkus = qt.(*quarkusTrait).Enabled != nil && *(qt.(*quarkusTrait).Enabled)
+		}
+
+		if (hasQuarkus || (t.Schedule == "" && t.Components == "")) && t.Fallback == nil {
 			// If there's at least a `cron` endpoint, add a fallback implementation
 			fromURIs, err := t.getSourcesFromURIs(e)
 			if err != nil {
@@ -169,10 +187,8 @@ func (t *cronTrait) Configure(e *Environment) (bool, error) {
 					break
 				}
 			}
-
 		}
 	}
-
 	dt := e.Catalog.GetTrait("deployer")
 	if dt != nil {
 		t.deployer = *dt.(*deployerTrait)
@@ -180,7 +196,7 @@ func (t *cronTrait) Configure(e *Environment) (bool, error) {
 
 	// Fallback strategy can be implemented in any other controller
 	if t.Fallback != nil && *t.Fallback {
-		if e.InPhase(v1.IntegrationKitPhaseReady, v1.IntegrationPhaseDeploying) {
+		if e.IntegrationInPhase(v1.IntegrationPhaseDeploying) {
 			e.Integration.Status.SetCondition(
 				v1.IntegrationConditionCronJobAvailable,
 				corev1.ConditionFalse,
@@ -202,7 +218,7 @@ func (t *cronTrait) Configure(e *Environment) (bool, error) {
 		return false, err
 	}
 	if strategy != ControllerStrategyCronJob {
-		if e.InPhase(v1.IntegrationKitPhaseReady, v1.IntegrationPhaseDeploying) {
+		if e.IntegrationInPhase(v1.IntegrationPhaseDeploying) {
 			e.Integration.Status.SetCondition(
 				v1.IntegrationConditionCronJobAvailable,
 				corev1.ConditionFalse,
@@ -217,30 +233,43 @@ func (t *cronTrait) Configure(e *Environment) (bool, error) {
 }
 
 func (t *cronTrait) Apply(e *Environment) error {
-	if t.Fallback != nil && *t.Fallback {
-		if e.IntegrationInPhase(v1.IntegrationPhaseInitialization) {
+	if e.IntegrationInPhase(v1.IntegrationPhaseInitialization) {
+		if capability, ok := e.CamelCatalog.Runtime.Capabilities["cron"]; ok {
+			for _, dependency := range capability.Dependencies {
+				util.StringSliceUniqueAdd(&e.Integration.Status.Dependencies, fmt.Sprintf("mvn:%s/%s", dependency.GroupID, dependency.ArtifactID))
+			}
+
+			// sort the dependencies to get always the same list if they don't change
+			sort.Strings(e.Integration.Status.Dependencies)
+		}
+
+		if t.Fallback != nil && *t.Fallback {
 			util.StringSliceUniqueAdd(&e.Integration.Status.Dependencies, genericCronComponentFallback)
 		}
-	} else {
-		if e.IntegrationInPhase(v1.IntegrationPhaseInitialization) {
-			util.StringSliceUniqueAdd(&e.Integration.Status.Dependencies, "mvn:org.apache.camel.k/camel-k-runtime-cron")
-		} else if e.InPhase(v1.IntegrationKitPhaseReady, v1.IntegrationPhaseDeploying) {
-			cronJob := t.getCronJobFor(e)
-			maps := e.ComputeConfigMaps()
+	}
 
-			e.Resources.AddAll(maps)
-			e.Resources.Add(cronJob)
+	if e.IntegrationInPhase(v1.IntegrationPhaseDeploying) {
+		if e.ApplicationProperties == nil {
+			e.ApplicationProperties = make(map[string]string)
+		}
 
-			e.Integration.Status.SetCondition(
-				v1.IntegrationConditionCronJobAvailable,
-				corev1.ConditionTrue,
-				v1.IntegrationConditionCronJobAvailableReason,
-				fmt.Sprintf("CronJob name is %s", cronJob.Name),
-			)
+		e.ApplicationProperties["camel.main.duration-max-messages"] = "1"
+		e.ApplicationProperties["loader.interceptor.cron.overridable-components"] = t.Components
+		e.Interceptors = append(e.Interceptors, "cron")
 
-			envvar.SetVal(&e.EnvVars, "CAMEL_K_CRON_OVERRIDE", t.Components)
-		}
+		cronJob := t.getCronJobFor(e)
+		maps := e.ComputeConfigMaps()
+
+		e.Resources.AddAll(maps)
+		e.Resources.Add(cronJob)
+
+		e.Integration.Status.SetCondition(
+			v1.IntegrationConditionCronJobAvailable,
+			corev1.ConditionTrue,
+			v1.IntegrationConditionCronJobAvailableReason,
+			fmt.Sprintf("CronJob name is %s", cronJob.Name))
 	}
+
 	return nil
 }
 
diff --git a/pkg/trait/cron_test.go b/pkg/trait/cron_test.go
index f36791b..c077fe2 100644
--- a/pkg/trait/cron_test.go
+++ b/pkg/trait/cron_test.go
@@ -18,10 +18,21 @@ limitations under the License.
 package trait
 
 import (
+	"context"
+	"fmt"
 	"strings"
 	"testing"
 
-	"github.com/magiconair/properties/assert"
+	"github.com/apache/camel-k/pkg/util"
+
+	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+	"github.com/apache/camel-k/pkg/util/camel"
+	k8sutils "github.com/apache/camel-k/pkg/util/kubernetes"
+	corev1 "k8s.io/api/core/v1"
+	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+
+	passert "github.com/magiconair/properties/assert"
+	"github.com/stretchr/testify/assert"
 )
 
 func TestCronFromURI(t *testing.T) {
@@ -198,13 +209,324 @@ func TestCronFromURI(t *testing.T) {
 			if res != nil {
 				gotCron = res.schedule
 			}
-			assert.Equal(t, gotCron, thetest.cron)
+			passert.Equal(t, gotCron, thetest.cron)
 
 			gotComponents := ""
 			if res != nil {
 				gotComponents = strings.Join(res.components, ",")
 			}
-			assert.Equal(t, gotComponents, thetest.components)
+			passert.Equal(t, gotComponents, thetest.components)
 		})
 	}
 }
+
+func TestCronDeps(t *testing.T) {
+	catalog, err := camel.DefaultCatalog()
+	assert.Nil(t, err)
+
+	traitCatalog := NewCatalog(context.TODO(), nil)
+
+	environment := Environment{
+		CamelCatalog: catalog,
+		Catalog:      traitCatalog,
+		Integration: &v1.Integration{
+			ObjectMeta: metav1.ObjectMeta{
+				Name:      "test",
+				Namespace: "ns",
+			},
+			Status: v1.IntegrationStatus{
+				Phase: v1.IntegrationPhaseInitialization,
+			},
+			Spec: v1.IntegrationSpec{
+				Profile: v1.TraitProfileKnative,
+				Sources: []v1.SourceSpec{
+					{
+						DataSpec: v1.DataSpec{
+							Name:    "routes.java",
+							Content: `from("cron:tab?schedule=0 0/2 * * ?").to("log:test")`,
+						},
+						Language: v1.LanguageJavaSource,
+					},
+				},
+				Resources: []v1.ResourceSpec{},
+				Traits:    map[string]v1.TraitSpec{},
+			},
+		},
+		IntegrationKit: &v1.IntegrationKit{
+			Status: v1.IntegrationKitStatus{
+				Phase: v1.IntegrationKitPhaseReady,
+			},
+		},
+		Platform: &v1.IntegrationPlatform{
+			Spec: v1.IntegrationPlatformSpec{
+				Cluster: v1.IntegrationPlatformClusterOpenShift,
+				Build: v1.IntegrationPlatformBuildSpec{
+					PublishStrategy: v1.IntegrationPlatformBuildPublishStrategyS2I,
+					Registry:        v1.IntegrationPlatformRegistrySpec{Address: "registry"},
+				},
+				Profile: v1.TraitProfileKnative,
+			},
+		},
+		EnvVars:        make([]corev1.EnvVar, 0),
+		ExecutedTraits: make([]Trait, 0),
+		Resources:      k8sutils.NewCollection(),
+	}
+	environment.Platform.ResyncStatusFullConfig()
+
+	c, err := NewFakeClient("ns")
+	assert.Nil(t, err)
+
+	tc := NewCatalog(context.TODO(), c)
+
+	err = tc.apply(&environment)
+
+	assert.Nil(t, err)
+	assert.NotEmpty(t, environment.ExecutedTraits)
+
+	ct := environment.GetTrait("cron").(*cronTrait)
+	assert.NotNil(t, ct)
+	assert.Nil(t, ct.Fallback)
+
+	capability, ok := environment.CamelCatalog.Runtime.Capabilities["cron"]
+	assert.True(t, ok)
+
+	for _, dependency := range capability.Dependencies {
+		assert.True(t, util.StringSliceExists(environment.Integration.Status.Dependencies, fmt.Sprintf("mvn:%s/%s", dependency.GroupID, dependency.ArtifactID)))
+	}
+}
+
+func TestCronDepsFallback(t *testing.T) {
+	catalog, err := camel.DefaultCatalog()
+	assert.Nil(t, err)
+
+	traitCatalog := NewCatalog(context.TODO(), nil)
+
+	environment := Environment{
+		CamelCatalog: catalog,
+		Catalog:      traitCatalog,
+		Integration: &v1.Integration{
+			ObjectMeta: metav1.ObjectMeta{
+				Name:      "test",
+				Namespace: "ns",
+			},
+			Status: v1.IntegrationStatus{
+				Phase: v1.IntegrationPhaseInitialization,
+			},
+			Spec: v1.IntegrationSpec{
+				Profile: v1.TraitProfileKnative,
+				Sources: []v1.SourceSpec{
+					{
+						DataSpec: v1.DataSpec{
+							Name:    "routes.java",
+							Content: `from("cron:tab?schedule=0 0/2 * * ?").to("log:test")`,
+						},
+						Language: v1.LanguageJavaSource,
+					},
+				},
+				Resources: []v1.ResourceSpec{},
+				Traits: map[string]v1.TraitSpec{
+					"cron": {
+						Configuration: map[string]string{
+							"fallback": "true",
+						},
+					},
+				},
+			},
+		},
+		IntegrationKit: &v1.IntegrationKit{
+			Status: v1.IntegrationKitStatus{
+				Phase: v1.IntegrationKitPhaseReady,
+			},
+		},
+		Platform: &v1.IntegrationPlatform{
+			Spec: v1.IntegrationPlatformSpec{
+				Cluster: v1.IntegrationPlatformClusterOpenShift,
+				Build: v1.IntegrationPlatformBuildSpec{
+					PublishStrategy: v1.IntegrationPlatformBuildPublishStrategyS2I,
+					Registry:        v1.IntegrationPlatformRegistrySpec{Address: "registry"},
+				},
+				Profile: v1.TraitProfileKnative,
+			},
+		},
+		EnvVars:        make([]corev1.EnvVar, 0),
+		ExecutedTraits: make([]Trait, 0),
+		Resources:      k8sutils.NewCollection(),
+	}
+	environment.Platform.ResyncStatusFullConfig()
+
+	c, err := NewFakeClient("ns")
+	assert.Nil(t, err)
+
+	tc := NewCatalog(context.TODO(), c)
+
+	err = tc.apply(&environment)
+
+	assert.Nil(t, err)
+	assert.NotEmpty(t, environment.ExecutedTraits)
+
+	ct := environment.GetTrait("cron").(*cronTrait)
+	assert.NotNil(t, ct)
+	assert.NotNil(t, ct.Fallback)
+
+	capability, ok := environment.CamelCatalog.Runtime.Capabilities["cron"]
+	assert.True(t, ok)
+
+	for _, dependency := range capability.Dependencies {
+		assert.True(t, util.StringSliceExists(environment.Integration.Status.Dependencies, fmt.Sprintf("mvn:%s/%s", dependency.GroupID, dependency.ArtifactID)))
+	}
+
+	assert.True(t, util.StringSliceExists(environment.Integration.Status.Dependencies, genericCronComponentFallback))
+}
+
+func TestCronWithMain(t *testing.T) {
+	catalog, err := camel.DefaultCatalog()
+	assert.Nil(t, err)
+
+	traitCatalog := NewCatalog(context.TODO(), nil)
+
+	environment := Environment{
+		CamelCatalog: catalog,
+		Catalog:      traitCatalog,
+		Integration: &v1.Integration{
+			ObjectMeta: metav1.ObjectMeta{
+				Name:      "test",
+				Namespace: "ns",
+			},
+			Status: v1.IntegrationStatus{
+				Phase: v1.IntegrationPhaseDeploying,
+			},
+			Spec: v1.IntegrationSpec{
+				Profile: v1.TraitProfileKnative,
+				Sources: []v1.SourceSpec{
+					{
+						DataSpec: v1.DataSpec{
+							Name:    "routes.java",
+							Content: `from("cron:tab?schedule=0 0/2 * * ?").to("log:test")`,
+						},
+						Language: v1.LanguageJavaSource,
+					},
+				},
+				Resources: []v1.ResourceSpec{},
+				Traits: map[string]v1.TraitSpec{
+					"quarkus": {
+						Configuration: map[string]string{
+							"enabled": "false",
+						},
+					},
+				},
+			},
+		},
+		IntegrationKit: &v1.IntegrationKit{
+			Status: v1.IntegrationKitStatus{
+				Phase: v1.IntegrationKitPhaseReady,
+			},
+		},
+		Platform: &v1.IntegrationPlatform{
+			Spec: v1.IntegrationPlatformSpec{
+				Cluster: v1.IntegrationPlatformClusterOpenShift,
+				Build: v1.IntegrationPlatformBuildSpec{
+					PublishStrategy: v1.IntegrationPlatformBuildPublishStrategyS2I,
+					Registry:        v1.IntegrationPlatformRegistrySpec{Address: "registry"},
+				},
+				Profile: v1.TraitProfileKnative,
+			},
+		},
+		EnvVars:        make([]corev1.EnvVar, 0),
+		ExecutedTraits: make([]Trait, 0),
+		Resources:      k8sutils.NewCollection(),
+	}
+	environment.Platform.ResyncStatusFullConfig()
+
+	c, err := NewFakeClient("ns")
+	assert.Nil(t, err)
+
+	tc := NewCatalog(context.TODO(), c)
+
+	err = tc.apply(&environment)
+
+	assert.Nil(t, err)
+	assert.NotEmpty(t, environment.ExecutedTraits)
+	assert.Nil(t, environment.GetTrait("quarkus"))
+
+	ct := environment.GetTrait("cron").(*cronTrait)
+	assert.NotNil(t, ct)
+	assert.Nil(t, ct.Fallback)
+	assert.True(t, util.StringSliceExists(environment.Interceptors, "cron"))
+}
+
+func TestCronWithQuarkus(t *testing.T) {
+	catalog, err := camel.DefaultCatalog()
+	assert.Nil(t, err)
+
+	traitCatalog := NewCatalog(context.TODO(), nil)
+
+	environment := Environment{
+		CamelCatalog: catalog,
+		Catalog:      traitCatalog,
+		Integration: &v1.Integration{
+			ObjectMeta: metav1.ObjectMeta{
+				Name:      "test",
+				Namespace: "ns",
+			},
+			Status: v1.IntegrationStatus{
+				Phase: v1.IntegrationPhaseDeploying,
+			},
+			Spec: v1.IntegrationSpec{
+				Profile: v1.TraitProfileKnative,
+				Sources: []v1.SourceSpec{
+					{
+						DataSpec: v1.DataSpec{
+							Name:    "routes.java",
+							Content: `from("cron:tab?schedule=0 0/2 * * ?").to("log:test")`,
+						},
+						Language: v1.LanguageJavaSource,
+					},
+				},
+				Resources: []v1.ResourceSpec{},
+				Traits: map[string]v1.TraitSpec{
+					"quarkus": {
+						Configuration: map[string]string{
+							"enabled": "true",
+						},
+					},
+				},
+			},
+		},
+		IntegrationKit: &v1.IntegrationKit{
+			Status: v1.IntegrationKitStatus{
+				Phase: v1.IntegrationKitPhaseReady,
+			},
+		},
+		Platform: &v1.IntegrationPlatform{
+			Spec: v1.IntegrationPlatformSpec{
+				Cluster: v1.IntegrationPlatformClusterOpenShift,
+				Build: v1.IntegrationPlatformBuildSpec{
+					PublishStrategy: v1.IntegrationPlatformBuildPublishStrategyS2I,
+					Registry:        v1.IntegrationPlatformRegistrySpec{Address: "registry"},
+				},
+				Profile: v1.TraitProfileKnative,
+			},
+		},
+		EnvVars:        make([]corev1.EnvVar, 0),
+		ExecutedTraits: make([]Trait, 0),
+		Resources:      k8sutils.NewCollection(),
+	}
+	environment.Platform.ResyncStatusFullConfig()
+
+	c, err := NewFakeClient("ns")
+	assert.Nil(t, err)
+
+	tc := NewCatalog(context.TODO(), c)
+
+	err = tc.apply(&environment)
+
+	assert.Nil(t, err)
+	assert.NotEmpty(t, environment.ExecutedTraits)
+	assert.NotNil(t, environment.GetTrait("quarkus"))
+
+	ct := environment.GetTrait("cron").(*cronTrait)
+	assert.NotNil(t, ct)
+	assert.NotNil(t, ct.Fallback)
+	assert.True(t, *ct.Fallback)
+	assert.True(t, util.StringSliceExists(environment.Interceptors, "cron"))
+}
diff --git a/pkg/trait/trait_types.go b/pkg/trait/trait_types.go
index c3a50e3..e6d751e 100644
--- a/pkg/trait/trait_types.go
+++ b/pkg/trait/trait_types.go
@@ -209,6 +209,7 @@ type Environment struct {
 	ExecutedTraits        []Trait
 	EnvVars               []corev1.EnvVar
 	ApplicationProperties map[string]string
+	Interceptors          []string
 }
 
 // ControllerStrategy is used to determine the kind of controller that needs to be created for the integration
@@ -483,6 +484,7 @@ func (e *Environment) ComputeSourcesURI() []string {
 		srcName := strings.TrimPrefix(s.Name, "/")
 		src := path.Join(root, srcName)
 		src = "file:" + src
+		interceptors := make([]string, 0, len(s.Interceptors))
 
 		params := make([]string, 0)
 		if s.InferLanguage() != "" {
@@ -494,8 +496,15 @@ func (e *Environment) ComputeSourcesURI() []string {
 		if s.Compression {
 			params = append(params, "compression=true")
 		}
+
 		if s.Interceptors != nil {
-			params = append(params, "interceptors="+strings.Join(s.Interceptors, ","))
+			interceptors = append(interceptors, s.Interceptors...)
+		}
+		if e.Interceptors != nil {
+			interceptors = append(interceptors, e.Interceptors...)
+		}
+		if len(interceptors) > 0 {
+			params = append(params, "interceptors="+strings.Join(interceptors, ","))
 		}
 
 		if len(params) > 0 {


[camel-k] 01/09: Add some sugar to rest APIs #1316

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 6e6da79c8aa530444a0b75772c263c1f30e9b94b
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Fri Mar 6 17:38:36 2020 +0100

    Add some sugar to rest APIs #1316
---
 deploy/camel-catalog-1.2.0-SNAPSHOT-main.yaml      | 3136 ++++++++++++++++++++
 deploy/camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml   |  892 ++++++
 deploy/resources.go                                |   16 +
 e2e/files/petstore-api.yaml                        |  111 +
 .../greetings.groovy => e2e/files/petstore.groovy  |   13 +-
 e2e/openapi_test.go                                |   85 +
 e2e/test_support.go                                |   81 +-
 examples/greetings.groovy                          |    2 +-
 examples/petstore-api.yaml                         |  111 +
 examples/{greetings.groovy => petstore.groovy}     |   13 +-
 pkg/metadata/metadata_dependencies_test.go         |   30 +-
 pkg/trait/deployment_test.go                       |   15 +-
 pkg/trait/knative_service_test.go                  |   72 +-
 pkg/trait/rest-dsl.go                              |   39 +-
 pkg/trait/trait.go                                 |   17 +-
 pkg/trait/trait_test.go                            |   38 +-
 pkg/trait/trait_types.go                           |  160 +-
 pkg/util/defaults/defaults.go                      |    2 +-
 script/Makefile                                    |    2 +-
 19 files changed, 4712 insertions(+), 123 deletions(-)

diff --git a/deploy/camel-catalog-1.2.0-SNAPSHOT-main.yaml b/deploy/camel-catalog-1.2.0-SNAPSHOT-main.yaml
new file mode 100644
index 0000000..9f82592
--- /dev/null
+++ b/deploy/camel-catalog-1.2.0-SNAPSHOT-main.yaml
@@ -0,0 +1,3136 @@
+# ---------------------------------------------------------------------------
+# 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/v1
+kind: CamelCatalog
+metadata:
+  name: camel-catalog-1.2.0-snapshot-main
+  labels:
+    app: camel-k
+    camel.apache.org/catalog.version: 3.1.0
+    camel.apache.org/catalog.loader.version: 3.1.0
+    camel.apache.org/runtime.version: 1.2.0-SNAPSHOT
+    camel.apache.org/runtime.provider: main
+spec:
+  runtime:
+    version: 1.2.0-SNAPSHOT
+    provider: main
+    applicationClass: org.apache.camel.k.main.Application
+    metadata:
+      camel.version: 3.1.0
+      quarkus.version: 1.3.0.Alpha2
+      camel-quarkus.version: 1.0.0-M4
+    dependencies:
+    - groupId: org.apache.camel.k
+      artifactId: camel-k-runtime-main
+    capabilities:
+      health:
+        dependencies:
+        - groupId: org.apache.camel.k
+          artifactId: camel-k-runtime-health
+      rest:
+        dependencies:
+        - groupId: org.apache.camel
+          artifactId: camel-rest
+        - groupId: org.apache.camel
+          artifactId: camel-undertow
+  artifacts:
+    camel-zipfile:
+      groupId: org.apache.camel
+      artifactId: camel-zipfile
+      dataformats:
+      - zipfile
+      javaTypes:
+      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
+    camel-fop:
+      groupId: org.apache.camel
+      artifactId: camel-fop
+      schemes:
+      - id: fop
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.fop.FopComponent
+    camel-azure:
+      groupId: org.apache.camel
+      artifactId: camel-azure
+      schemes:
+      - id: azure-blob
+        http: false
+        passive: false
+      - id: azure-queue
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.azure.blob.BlobServiceComponent
+      - org.apache.camel.component.azure.queue.QueueServiceComponent
+    camel-seda:
+      groupId: org.apache.camel
+      artifactId: camel-seda
+      schemes:
+      - id: seda
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.seda.SedaComponent
+    camel-mina:
+      groupId: org.apache.camel
+      artifactId: camel-mina
+      schemes:
+      - id: mina
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.mina.MinaComponent
+    camel-aws2-mq:
+      groupId: org.apache.camel
+      artifactId: camel-aws2-mq
+      schemes:
+      - id: aws2-mq
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws2.mq.MQ2Component
+    camel-printer:
+      groupId: org.apache.camel
+      artifactId: camel-printer
+      schemes:
+      - id: lpr
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.printer.PrinterComponent
+    camel-wordpress:
+      groupId: org.apache.camel
+      artifactId: camel-wordpress
+      schemes:
+      - id: wordpress
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.wordpress.WordpressComponent
+    camel-websocket:
+      groupId: org.apache.camel
+      artifactId: camel-websocket
+      schemes:
+      - id: websocket
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.websocket.WebsocketComponent
+    camel-slack:
+      groupId: org.apache.camel
+      artifactId: camel-slack
+      schemes:
+      - id: slack
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.slack.SlackComponent
+    camel-influxdb:
+      groupId: org.apache.camel
+      artifactId: camel-influxdb
+      schemes:
+      - id: influxdb
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.influxdb.InfluxDbComponent
+    camel-lumberjack:
+      groupId: org.apache.camel
+      artifactId: camel-lumberjack
+      schemes:
+      - id: lumberjack
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.lumberjack.LumberjackComponent
+    camel-stax:
+      groupId: org.apache.camel
+      artifactId: camel-stax
+      schemes:
+      - id: stax
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.stax.StAXComponent
+    camel-sjms2:
+      groupId: org.apache.camel
+      artifactId: camel-sjms2
+      schemes:
+      - id: sjms2
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.sjms2.Sjms2Component
+    camel-facebook:
+      groupId: org.apache.camel
+      artifactId: camel-facebook
+      schemes:
+      - id: facebook
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.facebook.FacebookComponent
+    camel-docker:
+      groupId: org.apache.camel
+      artifactId: camel-docker
+      schemes:
+      - id: docker
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.docker.DockerComponent
+    camel-apns:
+      groupId: org.apache.camel
+      artifactId: camel-apns
+      schemes:
+      - id: apns
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.apns.ApnsComponent
+    camel-aws2-ses:
+      groupId: org.apache.camel
+      artifactId: camel-aws2-ses
+      schemes:
+      - id: aws2-ses
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws2.ses.Ses2Component
+    camel-jaxb:
+      groupId: org.apache.camel
+      artifactId: camel-jaxb
+      dataformats:
+      - jaxb
+      javaTypes:
+      - org.apache.camel.converter.jaxb.JaxbDataFormat
+    camel-quartz:
+      groupId: org.apache.camel
+      artifactId: camel-quartz
+      schemes:
+      - id: quartz
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.quartz.QuartzComponent
+    camel-aws-swf:
+      groupId: org.apache.camel
+      artifactId: camel-aws-swf
+      schemes:
+      - id: aws-swf
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.swf.SWFComponent
+    camel-ehcache:
+      groupId: org.apache.camel
+      artifactId: camel-ehcache
+      schemes:
+      - id: ehcache
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.ehcache.EhcacheComponent
+    camel-spring-ws:
+      groupId: org.apache.camel
+      artifactId: camel-spring-ws
+      schemes:
+      - id: spring-ws
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.spring.ws.SpringWebserviceComponent
+    camel-nagios:
+      groupId: org.apache.camel
+      artifactId: camel-nagios
+      schemes:
+      - id: nagios
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.nagios.NagiosComponent
+    camel-mongodb:
+      groupId: org.apache.camel
+      artifactId: camel-mongodb
+      schemes:
+      - id: mongodb
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.mongodb.MongoDbComponent
+    camel-aws2-iam:
+      groupId: org.apache.camel
+      artifactId: camel-aws2-iam
+      schemes:
+      - id: aws2-iam
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws2.iam.IAM2Component
+    camel-aws-eks:
+      groupId: org.apache.camel
+      artifactId: camel-aws-eks
+      schemes:
+      - id: aws-eks
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.eks.EKSComponent
+    camel-platform-http:
+      groupId: org.apache.camel
+      artifactId: camel-platform-http
+      schemes:
+      - id: platform-http
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.platform.http.PlatformHttpComponent
+    camel-jetty:
+      groupId: org.apache.camel
+      artifactId: camel-jetty
+      schemes:
+      - id: jetty
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jetty9.JettyHttpComponent9
+    camel-lzf:
+      groupId: org.apache.camel
+      artifactId: camel-lzf
+      dataformats:
+      - lzf
+      javaTypes:
+      - org.apache.camel.dataformat.lzf.LZFDataFormat
+    camel-aws2-translate:
+      groupId: org.apache.camel
+      artifactId: camel-aws2-translate
+      schemes:
+      - id: aws2-translate
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws2.translate.Translate2Component
+    camel-vm:
+      groupId: org.apache.camel
+      artifactId: camel-vm
+      schemes:
+      - id: vm
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.vm.VmComponent
+    camel-crypto:
+      groupId: org.apache.camel
+      artifactId: camel-crypto
+      schemes:
+      - id: crypto
+        http: false
+        passive: false
+      dataformats:
+      - crypto
+      - pgp
+      javaTypes:
+      - org.apache.camel.component.crypto.DigitalSignatureComponent
+      - org.apache.camel.converter.crypto.CryptoDataFormat
+      - org.apache.camel.converter.crypto.PGPDataFormat
+    camel-cometd:
+      groupId: org.apache.camel
+      artifactId: camel-cometd
+      schemes:
+      - id: cometd
+        http: false
+        passive: false
+      - id: cometds
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.cometd.CometdComponent
+    camel-bean-validator:
+      groupId: org.apache.camel
+      artifactId: camel-bean-validator
+      schemes:
+      - id: bean-validator
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.bean.validator.BeanValidatorComponent
+    camel-http:
+      groupId: org.apache.camel
+      artifactId: camel-http
+      schemes:
+      - id: http
+        http: false
+        passive: false
+      - id: https
+        http: false
+        passive: false
+      dependencies:
+      - groupId: org.apache.camel
+        artifactId: camel-file
+      javaTypes:
+      - org.apache.camel.component.http.HttpComponent
+    camel-tika:
+      groupId: org.apache.camel
+      artifactId: camel-tika
+      schemes:
+      - id: tika
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.tika.TikaComponent
+    camel-caffeine:
+      groupId: org.apache.camel
+      artifactId: camel-caffeine
+      schemes:
+      - id: caffeine-cache
+        http: false
+        passive: false
+      - id: caffeine-loadcache
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.caffeine.cache.CaffeineCacheComponent
+      - org.apache.camel.component.caffeine.load.CaffeineLoadCacheComponent
+    camel-vertx:
+      groupId: org.apache.camel
+      artifactId: camel-vertx
+      schemes:
+      - id: vertx
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.vertx.VertxComponent
+    camel-jslt:
+      groupId: org.apache.camel
+      artifactId: camel-jslt
+      schemes:
+      - id: jslt
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jslt.JsltComponent
+    camel-openstack:
+      groupId: org.apache.camel
+      artifactId: camel-openstack
+      schemes:
+      - id: openstack-cinder
+        http: false
+        passive: false
+      - id: openstack-glance
+        http: false
+        passive: false
+      - id: openstack-keystone
+        http: false
+        passive: false
+      - id: openstack-neutron
+        http: false
+        passive: false
+      - id: openstack-nova
+        http: false
+        passive: false
+      - id: openstack-swift
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.openstack.cinder.CinderComponent
+      - org.apache.camel.component.openstack.glance.GlanceComponent
+      - org.apache.camel.component.openstack.keystone.KeystoneComponent
+      - org.apache.camel.component.openstack.neutron.NeutronComponent
+      - org.apache.camel.component.openstack.nova.NovaComponent
+      - org.apache.camel.component.openstack.swift.SwiftComponent
+    camel-google-calendar:
+      groupId: org.apache.camel
+      artifactId: camel-google-calendar
+      schemes:
+      - id: google-calendar
+        http: false
+        passive: false
+      - id: google-calendar-stream
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.google.calendar.GoogleCalendarComponent
+      - org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent
+    camel-browse:
+      groupId: org.apache.camel
+      artifactId: camel-browse
+      schemes:
+      - id: browse
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.browse.BrowseComponent
+    camel-ldif:
+      groupId: org.apache.camel
+      artifactId: camel-ldif
+      schemes:
+      - id: ldif
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.ldif.LdifComponent
+    camel-google-sheets:
+      groupId: org.apache.camel
+      artifactId: camel-google-sheets
+      schemes:
+      - id: google-sheets
+        http: false
+        passive: false
+      - id: google-sheets-stream
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.google.sheets.GoogleSheetsComponent
+      - org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent
+    camel-sap-netweaver:
+      groupId: org.apache.camel
+      artifactId: camel-sap-netweaver
+      schemes:
+      - id: sap-netweaver
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.sap.netweaver.NetWeaverComponent
+    camel-ganglia:
+      groupId: org.apache.camel
+      artifactId: camel-ganglia
+      schemes:
+      - id: ganglia
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.ganglia.GangliaComponent
+    camel-schematron:
+      groupId: org.apache.camel
+      artifactId: camel-schematron
+      schemes:
+      - id: schematron
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.schematron.SchematronComponent
+    camel-yammer:
+      groupId: org.apache.camel
+      artifactId: camel-yammer
+      schemes:
+      - id: yammer
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.yammer.YammerComponent
+    camel-direct:
+      groupId: org.apache.camel
+      artifactId: camel-direct
+      schemes:
+      - id: direct
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.direct.DirectComponent
+    camel-chunk:
+      groupId: org.apache.camel
+      artifactId: camel-chunk
+      schemes:
+      - id: chunk
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.chunk.ChunkComponent
+    camel-weka:
+      groupId: org.apache.camel
+      artifactId: camel-weka
+      schemes:
+      - id: weka
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.weka.WekaComponent
+    camel-jacksonxml:
+      groupId: org.apache.camel
+      artifactId: camel-jacksonxml
+      dataformats:
+      - jacksonxml
+      javaTypes:
+      - org.apache.camel.component.jacksonxml.JacksonXMLDataFormat
+    camel-spring-batch:
+      groupId: org.apache.camel
+      artifactId: camel-spring-batch
+      schemes:
+      - id: spring-batch
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.spring.batch.SpringBatchComponent
+    camel-stub:
+      groupId: org.apache.camel
+      artifactId: camel-stub
+      schemes:
+      - id: stub
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.stub.StubComponent
+    camel-drill:
+      groupId: org.apache.camel
+      artifactId: camel-drill
+      schemes:
+      - id: drill
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.drill.DrillComponent
+    camel-zookeeper:
+      groupId: org.apache.camel
+      artifactId: camel-zookeeper
+      schemes:
+      - id: zookeeper
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.zookeeper.ZooKeeperComponent
+    camel-aws-cw:
+      groupId: org.apache.camel
+      artifactId: camel-aws-cw
+      schemes:
+      - id: aws-cw
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.cw.CwComponent
+    camel-xstream:
+      groupId: org.apache.camel
+      artifactId: camel-xstream
+      dataformats:
+      - json-xstream
+      - xstream
+      javaTypes:
+      - org.apache.camel.dataformat.xstream.JsonDataFormat
+      - org.apache.camel.dataformat.xstream.XStreamDataFormat
+    camel-weather:
+      groupId: org.apache.camel
+      artifactId: camel-weather
+      schemes:
+      - id: weather
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.weather.WeatherComponent
+    camel-fastjson:
+      groupId: org.apache.camel
+      artifactId: camel-fastjson
+      dataformats:
+      - json-fastjson
+      javaTypes:
+      - org.apache.camel.component.fastjson.FastjsonDataFormat
+    camel-pdf:
+      groupId: org.apache.camel
+      artifactId: camel-pdf
+      schemes:
+      - id: pdf
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.pdf.PdfComponent
+    camel-spring-integration:
+      groupId: org.apache.camel
+      artifactId: camel-spring-integration
+      schemes:
+      - id: spring-integration
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.spring.integration.SpringIntegrationComponent
+    camel-paho:
+      groupId: org.apache.camel
+      artifactId: camel-paho
+      schemes:
+      - id: paho
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.paho.PahoComponent
+    camel-netty:
+      groupId: org.apache.camel
+      artifactId: camel-netty
+      schemes:
+      - id: netty
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.netty.NettyComponent
+    camel-mustache:
+      groupId: org.apache.camel
+      artifactId: camel-mustache
+      schemes:
+      - id: mustache
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.mustache.MustacheComponent
+    camel-sip:
+      groupId: org.apache.camel
+      artifactId: camel-sip
+      schemes:
+      - id: sip
+        http: false
+        passive: false
+      - id: sips
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.sip.SipComponent
+    camel-hbase:
+      groupId: org.apache.camel
+      artifactId: camel-hbase
+      schemes:
+      - id: hbase
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.hbase.HBaseComponent
+    camel-jackson:
+      groupId: org.apache.camel
+      artifactId: camel-jackson
+      dataformats:
+      - json-jackson
+      javaTypes:
+      - org.apache.camel.component.jackson.JacksonDataFormat
+    camel-kafka:
+      groupId: org.apache.camel
+      artifactId: camel-kafka
+      schemes:
+      - id: kafka
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.kafka.KafkaComponent
+    camel-twitter:
+      groupId: org.apache.camel
+      artifactId: camel-twitter
+      schemes:
+      - id: twitter-directmessage
+        http: false
+        passive: false
+      - id: twitter-search
+        http: false
+        passive: false
+      - id: twitter-timeline
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent
+      - org.apache.camel.component.twitter.search.TwitterSearchComponent
+      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
+    camel-salesforce:
+      groupId: org.apache.camel
+      artifactId: camel-salesforce
+      schemes:
+      - id: salesforce
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.salesforce.SalesforceComponent
+    camel-xj:
+      groupId: org.apache.camel
+      artifactId: camel-xj
+      schemes:
+      - id: xj
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.xj.XJComponent
+    camel-aws2-eks:
+      groupId: org.apache.camel
+      artifactId: camel-aws2-eks
+      schemes:
+      - id: aws2-eks
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws2.eks.EKS2Component
+    camel-servicenow:
+      groupId: org.apache.camel
+      artifactId: camel-servicenow
+      schemes:
+      - id: servicenow
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.servicenow.ServiceNowComponent
+    camel-ical:
+      groupId: org.apache.camel
+      artifactId: camel-ical
+      dataformats:
+      - ical
+      javaTypes:
+      - org.apache.camel.component.ical.ICalDataFormat
+    camel-corda:
+      groupId: org.apache.camel
+      artifactId: camel-corda
+      schemes:
+      - id: corda
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.corda.CordaComponent
+    camel-grape:
+      groupId: org.apache.camel
+      artifactId: camel-grape
+      schemes:
+      - id: grape
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.grape.GrapeComponent
+    camel-univocity-parsers:
+      groupId: org.apache.camel
+      artifactId: camel-univocity-parsers
+      dataformats:
+      - univocity-csv
+      - univocity-fixed
+      - univocity-tsv
+      javaTypes:
+      - org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat
+      - org.apache.camel.dataformat.univocity.UniVocityFixedWidthDataFormat
+      - org.apache.camel.dataformat.univocity.UniVocityTsvDataFormat
+    camel-hdfs:
+      groupId: org.apache.camel
+      artifactId: camel-hdfs
+      schemes:
+      - id: hdfs
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.hdfs.HdfsComponent
+    camel-jclouds:
+      groupId: org.apache.camel
+      artifactId: camel-jclouds
+      schemes:
+      - id: jclouds
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jclouds.JcloudsComponent
+    camel-quickfix:
+      groupId: org.apache.camel
+      artifactId: camel-quickfix
+      schemes:
+      - id: quickfix
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.quickfixj.QuickfixjComponent
+    camel-nsq:
+      groupId: org.apache.camel
+      artifactId: camel-nsq
+      schemes:
+      - id: nsq
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.nsq.NsqComponent
+    camel-hipchat:
+      groupId: org.apache.camel
+      artifactId: camel-hipchat
+      schemes:
+      - id: hipchat
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.hipchat.HipchatComponent
+    camel-hazelcast:
+      groupId: org.apache.camel
+      artifactId: camel-hazelcast
+      schemes:
+      - id: hazelcast-atomicvalue
+        http: false
+        passive: false
+      - id: hazelcast-instance
+        http: false
+        passive: false
+      - id: hazelcast-list
+        http: false
+        passive: false
+      - id: hazelcast-map
+        http: false
+        passive: false
+      - id: hazelcast-multimap
+        http: false
+        passive: false
+      - id: hazelcast-queue
+        http: false
+        passive: false
+      - id: hazelcast-replicatedmap
+        http: false
+        passive: false
+      - id: hazelcast-ringbuffer
+        http: false
+        passive: false
+      - id: hazelcast-seda
+        http: false
+        passive: false
+      - id: hazelcast-set
+        http: false
+        passive: false
+      - id: hazelcast-topic
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberComponent
+      - org.apache.camel.component.hazelcast.instance.HazelcastInstanceComponent
+      - org.apache.camel.component.hazelcast.list.HazelcastListComponent
+      - org.apache.camel.component.hazelcast.map.HazelcastMapComponent
+      - org.apache.camel.component.hazelcast.multimap.HazelcastMultimapComponent
+      - org.apache.camel.component.hazelcast.queue.HazelcastQueueComponent
+      - org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapComponent
+      - org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferComponent
+      - org.apache.camel.component.hazelcast.seda.HazelcastSedaComponent
+      - org.apache.camel.component.hazelcast.set.HazelcastSetComponent
+      - org.apache.camel.component.hazelcast.topic.HazelcastTopicComponent
+    camel-barcode:
+      groupId: org.apache.camel
+      artifactId: camel-barcode
+      dataformats:
+      - barcode
+      javaTypes:
+      - org.apache.camel.dataformat.barcode.BarcodeDataFormat
+    camel-aws-translate:
+      groupId: org.apache.camel
+      artifactId: camel-aws-translate
+      schemes:
+      - id: aws-translate
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.translate.TranslateComponent
+    camel-atmos:
+      groupId: org.apache.camel
+      artifactId: camel-atmos
+      schemes:
+      - id: atmos
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.atmos.AtmosComponent
+    camel-language:
+      groupId: org.apache.camel
+      artifactId: camel-language
+      schemes:
+      - id: language
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.language.LanguageComponent
+    camel-infinispan:
+      groupId: org.apache.camel
+      artifactId: camel-infinispan
+      schemes:
+      - id: infinispan
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.infinispan.InfinispanComponent
+    camel-aws2-ddb:
+      groupId: org.apache.camel
+      artifactId: camel-aws2-ddb
+      schemes:
+      - id: aws2-ddb
+        http: false
+        passive: false
+      - id: aws2-ddbstream
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws2.ddb.Ddb2Component
+      - org.apache.camel.component.aws2.ddbstream.Ddb2StreamComponent
+    camel-google-pubsub:
+      groupId: org.apache.camel
+      artifactId: camel-google-pubsub
+      schemes:
+      - id: google-pubsub
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.google.pubsub.GooglePubsubComponent
+    camel-base64:
+      groupId: org.apache.camel
+      artifactId: camel-base64
+      dataformats:
+      - base64
+      javaTypes:
+      - org.apache.camel.dataformat.base64.Base64DataFormat
+    camel-lucene:
+      groupId: org.apache.camel
+      artifactId: camel-lucene
+      schemes:
+      - id: lucene
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.lucene.LuceneComponent
+    camel-bean:
+      groupId: org.apache.camel
+      artifactId: camel-bean
+      schemes:
+      - id: bean
+        http: false
+        passive: true
+      - id: class
+        http: false
+        passive: true
+      languages:
+      - bean
+      javaTypes:
+      - org.apache.camel.component.bean.BeanComponent
+      - org.apache.camel.component.beanclass.ClassComponent
+      - org.apache.camel.language.bean.BeanLanguage
+    camel-stream:
+      groupId: org.apache.camel
+      artifactId: camel-stream
+      schemes:
+      - id: stream
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.stream.StreamComponent
+    camel-solr:
+      groupId: org.apache.camel
+      artifactId: camel-solr
+      schemes:
+      - 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-log:
+      groupId: org.apache.camel
+      artifactId: camel-log
+      schemes:
+      - id: log
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.log.LogComponent
+    camel-iec60870:
+      groupId: org.apache.camel
+      artifactId: camel-iec60870
+      schemes:
+      - id: iec60870-client
+        http: false
+        passive: false
+      - id: iec60870-server
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.iec60870.client.ClientComponent
+      - org.apache.camel.component.iec60870.server.ServerComponent
+    camel-atmosphere-websocket:
+      groupId: org.apache.camel
+      artifactId: camel-atmosphere-websocket
+      schemes:
+      - id: atmosphere-websocket
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.atmosphere.websocket.WebsocketComponent
+    camel-debezium-mongodb:
+      groupId: org.apache.camel
+      artifactId: camel-debezium-mongodb
+      schemes:
+      - id: debezium-mongodb
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.debezium.DebeziumMongodbComponent
+    camel-spring-ldap:
+      groupId: org.apache.camel
+      artifactId: camel-spring-ldap
+      schemes:
+      - id: spring-ldap
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.springldap.SpringLdapComponent
+    camel-dns:
+      groupId: org.apache.camel
+      artifactId: camel-dns
+      schemes:
+      - id: dns
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.dns.DnsComponent
+    camel-aws2-sqs:
+      groupId: org.apache.camel
+      artifactId: camel-aws2-sqs
+      schemes:
+      - id: aws2-sqs
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws2.sqs.Sqs2Component
+    camel-reactive-streams:
+      groupId: org.apache.camel
+      artifactId: camel-reactive-streams
+      schemes:
+      - id: reactive-streams
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
+    camel-graphql:
+      groupId: org.apache.camel
+      artifactId: camel-graphql
+      schemes:
+      - id: graphql
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.graphql.GraphqlComponent
+    camel-coap:
+      groupId: org.apache.camel
+      artifactId: camel-coap
+      schemes:
+      - id: coap
+        http: false
+        passive: false
+      - id: coaps
+        http: false
+        passive: false
+      - id: coap+tcp
+        http: false
+        passive: false
+      - id: coaps+tcp
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.coap.CoAPComponent
+    camel-dataset:
+      groupId: org.apache.camel
+      artifactId: camel-dataset
+      schemes:
+      - id: dataset
+        http: false
+        passive: true
+      - id: dataset-test
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.dataset.DataSetComponent
+      - org.apache.camel.component.dataset.DataSetTestComponent
+    camel-elytron:
+      groupId: org.apache.camel
+      artifactId: camel-elytron
+      schemes:
+      - id: elytron
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.elytron.ElytronComponent
+    camel-jsonapi:
+      groupId: org.apache.camel
+      artifactId: camel-jsonapi
+      dataformats:
+      - jsonApi
+      javaTypes:
+      - org.apache.camel.component.jsonapi.JsonApiDataFormat
+    camel-zendesk:
+      groupId: org.apache.camel
+      artifactId: camel-zendesk
+      schemes:
+      - id: zendesk
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.zendesk.ZendeskComponent
+    camel-jdbc:
+      groupId: org.apache.camel
+      artifactId: camel-jdbc
+      schemes:
+      - id: jdbc
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jdbc.JdbcComponent
+    camel-spark:
+      groupId: org.apache.camel
+      artifactId: camel-spark
+      schemes:
+      - id: spark
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.spark.SparkComponent
+    camel-ahc:
+      groupId: org.apache.camel
+      artifactId: camel-ahc
+      schemes:
+      - id: ahc
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.ahc.AhcComponent
+    camel-controlbus:
+      groupId: org.apache.camel
+      artifactId: camel-controlbus
+      schemes:
+      - id: controlbus
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.controlbus.ControlBusComponent
+    camel-disruptor:
+      groupId: org.apache.camel
+      artifactId: camel-disruptor
+      schemes:
+      - id: disruptor
+        http: false
+        passive: false
+      - id: disruptor-vm
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.disruptor.DisruptorComponent
+      - org.apache.camel.component.disruptor.vm.DisruptorVmComponent
+    camel-dozer:
+      groupId: org.apache.camel
+      artifactId: camel-dozer
+      schemes:
+      - id: dozer
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.dozer.DozerComponent
+    camel-beanio:
+      groupId: org.apache.camel
+      artifactId: camel-beanio
+      dataformats:
+      - beanio
+      javaTypes:
+      - org.apache.camel.dataformat.beanio.BeanIODataFormat
+    camel-bindy:
+      groupId: org.apache.camel
+      artifactId: camel-bindy
+      dataformats:
+      - bindy-csv
+      - bindy-fixed
+      - bindy-kvp
+      javaTypes:
+      - org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat
+      - org.apache.camel.dataformat.bindy.fixed.BindyFixedLengthDataFormat
+      - org.apache.camel.dataformat.bindy.kvp.BindyKeyValuePairDataFormat
+    camel-guava-eventbus:
+      groupId: org.apache.camel
+      artifactId: camel-guava-eventbus
+      schemes:
+      - id: guava-eventbus
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.guava.eventbus.GuavaEventBusComponent
+    camel-msv:
+      groupId: org.apache.camel
+      artifactId: camel-msv
+      schemes:
+      - id: msv
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.validator.msv.MsvComponent
+    camel-jms:
+      groupId: org.apache.camel
+      artifactId: camel-jms
+      schemes:
+      - id: jms
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jms.JmsComponent
+    camel-file-watch:
+      groupId: org.apache.camel
+      artifactId: camel-file-watch
+      schemes:
+      - id: file-watch
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.file.watch.FileWatchComponent
+    camel-aws-sdb:
+      groupId: org.apache.camel
+      artifactId: camel-aws-sdb
+      schemes:
+      - id: aws-sdb
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.sdb.SdbComponent
+    camel-file:
+      groupId: org.apache.camel
+      artifactId: camel-file
+      schemes:
+      - id: file
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.file.FileComponent
+    camel-gora:
+      groupId: org.apache.camel
+      artifactId: camel-gora
+      schemes:
+      - id: gora
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.gora.GoraComponent
+    camel-jmx:
+      groupId: org.apache.camel
+      artifactId: camel-jmx
+      schemes:
+      - id: jmx
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jmx.JMXComponent
+    camel-timer:
+      groupId: org.apache.camel
+      artifactId: camel-timer
+      schemes:
+      - id: timer
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.timer.TimerComponent
+    camel-jcache:
+      groupId: org.apache.camel
+      artifactId: camel-jcache
+      schemes:
+      - id: jcache
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jcache.JCacheComponent
+    camel-freemarker:
+      groupId: org.apache.camel
+      artifactId: camel-freemarker
+      schemes:
+      - id: freemarker
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.freemarker.FreemarkerComponent
+    camel-ironmq:
+      groupId: org.apache.camel
+      artifactId: camel-ironmq
+      schemes:
+      - id: ironmq
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.ironmq.IronMQComponent
+    camel-fhir:
+      groupId: org.apache.camel
+      artifactId: camel-fhir
+      schemes:
+      - id: fhir
+        http: false
+        passive: false
+      dataformats:
+      - fhirJson
+      - fhirXml
+      javaTypes:
+      - org.apache.camel.component.fhir.FhirComponent
+      - org.apache.camel.component.fhir.FhirJsonDataFormat
+      - org.apache.camel.component.fhir.FhirXmlDataFormat
+    camel-saxon:
+      groupId: org.apache.camel
+      artifactId: camel-saxon
+      schemes:
+      - id: xquery
+        http: false
+        passive: false
+      languages:
+      - xquery
+      javaTypes:
+      - org.apache.camel.component.xquery.XQueryComponent
+      - org.apache.camel.language.xquery.XQueryLanguage
+    camel-rest-openapi:
+      groupId: org.apache.camel
+      artifactId: camel-rest-openapi
+      schemes:
+      - id: rest-openapi
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.rest.openapi.RestOpenApiComponent
+    camel-jsonpath:
+      groupId: org.apache.camel
+      artifactId: camel-jsonpath
+      languages:
+      - jsonpath
+      javaTypes:
+      - org.apache.camel.jsonpath.JsonPathLanguage
+    camel-spark-rest:
+      groupId: org.apache.camel
+      artifactId: camel-spark-rest
+      schemes:
+      - id: spark-rest
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.sparkrest.SparkComponent
+    camel-jt400:
+      groupId: org.apache.camel
+      artifactId: camel-jt400
+      schemes:
+      - id: jt400
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jt400.Jt400Component
+    camel-rabbitmq:
+      groupId: org.apache.camel
+      artifactId: camel-rabbitmq
+      schemes:
+      - id: rabbitmq
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.rabbitmq.RabbitMQComponent
+    camel-jbpm:
+      groupId: org.apache.camel
+      artifactId: camel-jbpm
+      schemes:
+      - id: jbpm
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jbpm.JBPMComponent
+    camel-jing:
+      groupId: org.apache.camel
+      artifactId: camel-jing
+      schemes:
+      - id: jing
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.validator.jing.JingComponent
+    camel-aws-iam:
+      groupId: org.apache.camel
+      artifactId: camel-aws-iam
+      schemes:
+      - id: aws-iam
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.iam.IAMComponent
+    camel-snmp:
+      groupId: org.apache.camel
+      artifactId: camel-snmp
+      schemes:
+      - id: snmp
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.snmp.SnmpComponent
+    camel-web3j:
+      groupId: org.apache.camel
+      artifactId: camel-web3j
+      schemes:
+      - id: web3j
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.web3j.Web3jComponent
+    camel-atom:
+      groupId: org.apache.camel
+      artifactId: camel-atom
+      schemes:
+      - id: atom
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.atom.AtomComponent
+    camel-tagsoup:
+      groupId: org.apache.camel
+      artifactId: camel-tagsoup
+      dataformats:
+      - tidyMarkup
+      javaTypes:
+      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
+    camel-etcd:
+      groupId: org.apache.camel
+      artifactId: camel-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.component.etcd.EtcdKeysComponent
+      - org.apache.camel.component.etcd.EtcdStatsComponent
+      - org.apache.camel.component.etcd.EtcdWatchComponent
+    camel-ftp:
+      groupId: org.apache.camel
+      artifactId: camel-ftp
+      schemes:
+      - id: ftp
+        http: false
+        passive: false
+      - id: ftps
+        http: false
+        passive: false
+      - id: sftp
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.file.remote.FtpComponent
+      - org.apache.camel.component.file.remote.FtpsComponent
+      - org.apache.camel.component.file.remote.SftpComponent
+    camel-aws-ses:
+      groupId: org.apache.camel
+      artifactId: camel-aws-ses
+      schemes:
+      - id: aws-ses
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.ses.SesComponent
+    camel-jgroups:
+      groupId: org.apache.camel
+      artifactId: camel-jgroups
+      schemes:
+      - id: jgroups
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jgroups.JGroupsComponent
+    camel-master:
+      groupId: org.apache.camel
+      artifactId: camel-master
+      schemes:
+      - id: master
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.master.MasterComponent
+    camel-eventadmin:
+      groupId: org.apache.camel
+      artifactId: camel-eventadmin
+      schemes:
+      - id: eventadmin
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.eventadmin.EventAdminComponent
+    camel-optaplanner:
+      groupId: org.apache.camel
+      artifactId: camel-optaplanner
+      schemes:
+      - id: optaplanner
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.optaplanner.OptaPlannerComponent
+    camel-amqp:
+      groupId: org.apache.camel
+      artifactId: camel-amqp
+      schemes:
+      - id: amqp
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.amqp.AMQPComponent
+    camel-aws2-sns:
+      groupId: org.apache.camel
+      artifactId: camel-aws2-sns
+      schemes:
+      - id: aws2-sns
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws2.sns.Sns2Component
+    camel-github:
+      groupId: org.apache.camel
+      artifactId: camel-github
+      schemes:
+      - id: github
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.github.GitHubComponent
+    camel-atomix:
+      groupId: org.apache.camel
+      artifactId: camel-atomix
+      schemes:
+      - id: atomix-map
+        http: false
+        passive: false
+      - id: atomix-messaging
+        http: false
+        passive: false
+      - id: atomix-multimap
+        http: false
+        passive: false
+      - id: atomix-queue
+        http: false
+        passive: false
+      - id: atomix-set
+        http: false
+        passive: false
+      - id: atomix-value
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.atomix.client.map.AtomixMapComponent
+      - org.apache.camel.component.atomix.client.messaging.AtomixMessagingComponent
+      - org.apache.camel.component.atomix.client.multimap.AtomixMultiMapComponent
+      - org.apache.camel.component.atomix.client.queue.AtomixQueueComponent
+      - org.apache.camel.component.atomix.client.set.AtomixSetComponent
+      - org.apache.camel.component.atomix.client.value.AtomixValueComponent
+    camel-box:
+      groupId: org.apache.camel
+      artifactId: camel-box
+      schemes:
+      - id: box
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.box.BoxComponent
+    camel-sql:
+      groupId: org.apache.camel
+      artifactId: camel-sql
+      schemes:
+      - id: sql
+        http: false
+        passive: false
+      - id: sql-stored
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.sql.SqlComponent
+      - org.apache.camel.component.sql.stored.SqlStoredComponent
+    camel-flatpack:
+      groupId: org.apache.camel
+      artifactId: camel-flatpack
+      schemes:
+      - id: flatpack
+        http: false
+        passive: false
+      dataformats:
+      - flatpack
+      javaTypes:
+      - org.apache.camel.component.flatpack.FlatpackComponent
+      - org.apache.camel.dataformat.flatpack.FlatpackDataFormat
+    camel-git:
+      groupId: org.apache.camel
+      artifactId: camel-git
+      schemes:
+      - id: git
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.git.GitComponent
+    camel-chatscript:
+      groupId: org.apache.camel
+      artifactId: camel-chatscript
+      schemes:
+      - id: chatscript
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.chatscript.ChatScriptComponent
+    camel-telegram:
+      groupId: org.apache.camel
+      artifactId: camel-telegram
+      schemes:
+      - id: telegram
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.telegram.TelegramComponent
+    camel-asn1:
+      groupId: org.apache.camel
+      artifactId: camel-asn1
+      dataformats:
+      - asn1
+      javaTypes:
+      - org.apache.camel.dataformat.asn1.ASN1DataFormat
+    camel-nitrite:
+      groupId: org.apache.camel
+      artifactId: camel-nitrite
+      schemes:
+      - id: nitrite
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.nitrite.NitriteComponent
+    camel-aws-sns:
+      groupId: org.apache.camel
+      artifactId: camel-aws-sns
+      schemes:
+      - id: aws-sns
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.sns.SnsComponent
+    camel-avro:
+      groupId: org.apache.camel
+      artifactId: camel-avro
+      schemes:
+      - id: avro
+        http: false
+        passive: false
+      dataformats:
+      - avro
+      javaTypes:
+      - org.apache.camel.component.avro.AvroComponent
+      - org.apache.camel.dataformat.avro.AvroDataFormat
+    camel-mllp:
+      groupId: org.apache.camel
+      artifactId: camel-mllp
+      schemes:
+      - id: mllp
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.mllp.MllpComponent
+    camel-pg-replication-slot:
+      groupId: org.apache.camel
+      artifactId: camel-pg-replication-slot
+      schemes:
+      - id: pg-replication-slot
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent
+    camel-elsql:
+      groupId: org.apache.camel
+      artifactId: camel-elsql
+      schemes:
+      - id: elsql
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.elsql.ElsqlComponent
+    camel-aws-msk:
+      groupId: org.apache.camel
+      artifactId: camel-aws-msk
+      schemes:
+      - id: aws-msk
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.msk.MSKComponent
+    camel-stringtemplate:
+      groupId: org.apache.camel
+      artifactId: camel-stringtemplate
+      schemes:
+      - id: string-template
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.stringtemplate.StringTemplateComponent
+    camel-debezium-mysql:
+      groupId: org.apache.camel
+      artifactId: camel-debezium-mysql
+      schemes:
+      - id: debezium-mysql
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.debezium.DebeziumMySqlComponent
+    camel-servlet:
+      groupId: org.apache.camel
+      artifactId: camel-servlet
+      schemes:
+      - id: servlet
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.servlet.ServletComponent
+    camel-spring-redis:
+      groupId: org.apache.camel
+      artifactId: camel-spring-redis
+      schemes:
+      - id: spring-redis
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.redis.RedisComponent
+    camel-soroush:
+      groupId: org.apache.camel
+      artifactId: camel-soroush
+      schemes:
+      - id: soroush
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.soroushbot.component.SoroushBotComponent
+    camel-jsch:
+      groupId: org.apache.camel
+      artifactId: camel-jsch
+      schemes:
+      - id: scp
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.scp.ScpComponent
+    camel-kubernetes:
+      groupId: org.apache.camel
+      artifactId: camel-kubernetes
+      schemes:
+      - id: kubernetes-config-maps
+        http: false
+        passive: false
+      - id: kubernetes-deployments
+        http: false
+        passive: false
+      - id: kubernetes-hpa
+        http: false
+        passive: false
+      - id: kubernetes-job
+        http: false
+        passive: false
+      - id: kubernetes-namespaces
+        http: false
+        passive: false
+      - id: kubernetes-nodes
+        http: false
+        passive: false
+      - id: kubernetes-persistent-volumes
+        http: false
+        passive: false
+      - id: kubernetes-persistent-volumes-claims
+        http: false
+        passive: false
+      - id: kubernetes-pods
+        http: false
+        passive: false
+      - id: kubernetes-replication-controllers
+        http: false
+        passive: false
+      - id: kubernetes-resources-quota
+        http: false
+        passive: false
+      - id: kubernetes-secrets
+        http: false
+        passive: false
+      - id: kubernetes-service-accounts
+        http: false
+        passive: false
+      - id: kubernetes-services
+        http: false
+        passive: false
+      - id: openshift-build-configs
+        http: false
+        passive: false
+      - id: openshift-builds
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsComponent
+      - org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsComponent
+      - org.apache.camel.component.kubernetes.hpa.KubernetesHPAComponent
+      - org.apache.camel.component.kubernetes.job.KubernetesJobComponent
+      - org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesComponent
+      - org.apache.camel.component.kubernetes.nodes.KubernetesNodesComponent
+      - org.apache.camel.component.kubernetes.persistent_volumes.KubernetesPersistentVolumesComponent
+      - org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsComponent
+      - org.apache.camel.component.kubernetes.pods.KubernetesPodsComponent
+      - org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersComponent
+      - org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaComponent
+      - org.apache.camel.component.kubernetes.secrets.KubernetesSecretsComponent
+      - org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsComponent
+      - org.apache.camel.component.kubernetes.services.KubernetesServicesComponent
+      - org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsComponent
+      - org.apache.camel.component.openshift.builds.OpenshiftBuildsComponent
+    camel-aws2-ec2:
+      groupId: org.apache.camel
+      artifactId: camel-aws2-ec2
+      schemes:
+      - id: aws2-ec2
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws2.ec2.AWS2EC2Component
+    camel-digitalocean:
+      groupId: org.apache.camel
+      artifactId: camel-digitalocean
+      schemes:
+      - id: digitalocean
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.digitalocean.DigitalOceanComponent
+    camel-aws2-kms:
+      groupId: org.apache.camel
+      artifactId: camel-aws2-kms
+      schemes:
+      - id: aws2-kms
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws2.kms.KMS2Component
+    camel-google-bigquery:
+      groupId: org.apache.camel
+      artifactId: camel-google-bigquery
+      schemes:
+      - id: google-bigquery
+        http: false
+        passive: false
+      - id: google-bigquery-sql
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.google.bigquery.GoogleBigQueryComponent
+      - org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent
+    camel-consul:
+      groupId: org.apache.camel
+      artifactId: camel-consul
+      schemes:
+      - id: consul
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.consul.ConsulComponent
+    camel-nats:
+      groupId: org.apache.camel
+      artifactId: camel-nats
+      schemes:
+      - id: nats
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.nats.NatsComponent
+    camel-debezium-postgres:
+      groupId: org.apache.camel
+      artifactId: camel-debezium-postgres
+      schemes:
+      - id: debezium-postgres
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.debezium.DebeziumPostgresComponent
+    camel-hl7:
+      groupId: org.apache.camel
+      artifactId: camel-hl7
+      languages:
+      - hl7terser
+      dataformats:
+      - hl7
+      javaTypes:
+      - org.apache.camel.component.hl7.Hl7TerserLanguage
+      - org.apache.camel.component.hl7.HL7DataFormat
+    camel-aws-ecs:
+      groupId: org.apache.camel
+      artifactId: camel-aws-ecs
+      schemes:
+      - id: aws-ecs
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.ecs.ECSComponent
+    camel-zip-deflater:
+      groupId: org.apache.camel
+      artifactId: camel-zip-deflater
+      dataformats:
+      - gzipdeflater
+      - zipdeflater
+      javaTypes:
+      - org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat
+      - org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat
+    camel-kudu:
+      groupId: org.apache.camel
+      artifactId: camel-kudu
+      schemes:
+      - id: kudu
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.kudu.KuduComponent
+    camel-jgroups-raft:
+      groupId: org.apache.camel
+      artifactId: camel-jgroups-raft
+      schemes:
+      - id: jgroups-raft
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jgroups.raft.JGroupsRaftComponent
+    camel-cmis:
+      groupId: org.apache.camel
+      artifactId: camel-cmis
+      schemes:
+      - id: cmis
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.cmis.CMISComponent
+    camel-beanstalk:
+      groupId: org.apache.camel
+      artifactId: camel-beanstalk
+      schemes:
+      - id: beanstalk
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.beanstalk.BeanstalkComponent
+    camel-aws-mq:
+      groupId: org.apache.camel
+      artifactId: camel-aws-mq
+      schemes:
+      - id: aws-mq
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.mq.MQComponent
+    camel-mongodb-gridfs:
+      groupId: org.apache.camel
+      artifactId: camel-mongodb-gridfs
+      schemes:
+      - id: mongodb-gridfs
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.mongodb.gridfs.GridFsComponent
+    camel-undertow:
+      groupId: org.apache.camel
+      artifactId: camel-undertow
+      schemes:
+      - id: undertow
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.undertow.UndertowComponent
+    camel-robotframework:
+      groupId: org.apache.camel
+      artifactId: camel-robotframework
+      schemes:
+      - id: robotframework
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.robotframework.RobotFrameworkComponent
+    camel-xpath:
+      groupId: org.apache.camel
+      artifactId: camel-xpath
+      languages:
+      - xpath
+      javaTypes:
+      - org.apache.camel.language.xpath.XPathLanguage
+    camel-ssh:
+      groupId: org.apache.camel
+      artifactId: camel-ssh
+      schemes:
+      - id: ssh
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.ssh.SshComponent
+    camel-mock:
+      groupId: org.apache.camel
+      artifactId: camel-mock
+      schemes:
+      - id: mock
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.mock.MockComponent
+    camel-websocket-jsr356:
+      groupId: org.apache.camel
+      artifactId: camel-websocket-jsr356
+      schemes:
+      - id: websocket-jsr356
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
+    camel-twilio:
+      groupId: org.apache.camel
+      artifactId: camel-twilio
+      schemes:
+      - id: twilio
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.twilio.TwilioComponent
+    camel-jolt:
+      groupId: org.apache.camel
+      artifactId: camel-jolt
+      schemes:
+      - id: jolt
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jolt.JoltComponent
+    camel-soap:
+      groupId: org.apache.camel
+      artifactId: camel-soap
+      dataformats:
+      - soapjaxb
+      javaTypes:
+      - org.apache.camel.dataformat.soap.SoapJaxbDataFormat
+    camel-thrift:
+      groupId: org.apache.camel
+      artifactId: camel-thrift
+      schemes:
+      - id: thrift
+        http: false
+        passive: false
+      dataformats:
+      - thrift
+      javaTypes:
+      - org.apache.camel.component.thrift.ThriftComponent
+      - org.apache.camel.dataformat.thrift.ThriftDataFormat
+    camel-crypto-cms:
+      groupId: org.apache.camel
+      artifactId: camel-crypto-cms
+      schemes:
+      - id: crypto-cms
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.crypto.cms.CryptoCmsComponent
+    camel-xml-jaxp:
+      groupId: org.apache.camel
+      artifactId: camel-xml-jaxp
+      languages:
+      - xtokenize
+      javaTypes:
+      - org.apache.camel.language.xtokenizer.XMLTokenizeLanguage
+    camel-ognl:
+      groupId: org.apache.camel
+      artifactId: camel-ognl
+      languages:
+      - ognl
+      javaTypes:
+      - org.apache.camel.language.ognl.OgnlLanguage
+    camel-couchdb:
+      groupId: org.apache.camel
+      artifactId: camel-couchdb
+      schemes:
+      - id: couchdb
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.couchdb.CouchDbComponent
+    camel-groovy:
+      groupId: org.apache.camel
+      artifactId: camel-groovy
+      languages:
+      - groovy
+      javaTypes:
+      - org.apache.camel.language.groovy.GroovyLanguage
+    camel-saga:
+      groupId: org.apache.camel
+      artifactId: camel-saga
+      schemes:
+      - id: saga
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.saga.SagaComponent
+    camel-elasticsearch-rest:
+      groupId: org.apache.camel
+      artifactId: camel-elasticsearch-rest
+      schemes:
+      - id: elasticsearch-rest
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.elasticsearch.ElasticsearchComponent
+    camel-ldap:
+      groupId: org.apache.camel
+      artifactId: camel-ldap
+      schemes:
+      - id: ldap
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.ldap.LdapComponent
+    camel-csv:
+      groupId: org.apache.camel
+      artifactId: camel-csv
+      dataformats:
+      - csv
+      javaTypes:
+      - org.apache.camel.dataformat.csv.CsvDataFormat
+    camel-geocoder:
+      groupId: org.apache.camel
+      artifactId: camel-geocoder
+      schemes:
+      - id: geocoder
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.geocoder.GeoCoderComponent
+    camel-mybatis:
+      groupId: org.apache.camel
+      artifactId: camel-mybatis
+      schemes:
+      - id: mybatis
+        http: false
+        passive: false
+      - id: mybatis-bean
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.mybatis.MyBatisComponent
+      - org.apache.camel.component.mybatis.MyBatisBeanComponent
+    camel-directvm:
+      groupId: org.apache.camel
+      artifactId: camel-directvm
+      schemes:
+      - id: direct-vm
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.directvm.DirectVmComponent
+    camel-aws2-ecs:
+      groupId: org.apache.camel
+      artifactId: camel-aws2-ecs
+      schemes:
+      - id: aws2-ecs
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws2.ecs.ECS2Component
+    camel-xmpp:
+      groupId: org.apache.camel
+      artifactId: camel-xmpp
+      schemes:
+      - id: xmpp
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.xmpp.XmppComponent
+    camel-workday:
+      groupId: org.apache.camel
+      artifactId: camel-workday
+      schemes:
+      - id: workday
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.workday.WorkdayComponent
+    camel-jira:
+      groupId: org.apache.camel
+      artifactId: camel-jira
+      schemes:
+      - id: jira
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jira.JiraComponent
+    camel-asterisk:
+      groupId: org.apache.camel
+      artifactId: camel-asterisk
+      schemes:
+      - id: asterisk
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.asterisk.AsteriskComponent
+    camel-splunk:
+      groupId: org.apache.camel
+      artifactId: camel-splunk
+      schemes:
+      - id: splunk
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.splunk.SplunkComponent
+    camel-mail:
+      groupId: org.apache.camel
+      artifactId: camel-mail
+      schemes:
+      - id: imap
+        http: false
+        passive: false
+      - id: imaps
+        http: false
+        passive: false
+      - id: pop3
+        http: false
+        passive: false
+      - id: pop3s
+        http: false
+        passive: false
+      - id: smtp
+        http: false
+        passive: false
+      - id: smtps
+        http: false
+        passive: false
+      dataformats:
+      - mime-multipart
+      javaTypes:
+      - org.apache.camel.component.mail.MailComponent
+      - org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat
+    camel-metrics:
+      groupId: org.apache.camel
+      artifactId: camel-metrics
+      schemes:
+      - id: metrics
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.metrics.MetricsComponent
+    camel-aws-sqs:
+      groupId: org.apache.camel
+      artifactId: camel-aws-sqs
+      schemes:
+      - id: aws-sqs
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.sqs.SqsComponent
+    camel-cm-sms:
+      groupId: org.apache.camel
+      artifactId: camel-cm-sms
+      schemes:
+      - id: cm-sms
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.cm.CMComponent
+    camel-xslt:
+      groupId: org.apache.camel
+      artifactId: camel-xslt
+      schemes:
+      - id: xslt
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.xslt.XsltComponent
+    camel-flink:
+      groupId: org.apache.camel
+      artifactId: camel-flink
+      schemes:
+      - id: flink
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.flink.FlinkComponent
+    camel-braintree:
+      groupId: org.apache.camel
+      artifactId: camel-braintree
+      schemes:
+      - id: braintree
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.braintree.BraintreeComponent
+    camel-aws2-msk:
+      groupId: org.apache.camel
+      artifactId: camel-aws2-msk
+      schemes:
+      - id: aws2-msk
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws2.msk.MSK2Component
+    camel-base:
+      groupId: org.apache.camel
+      artifactId: camel-base
+      languages:
+      - constant
+      - exchangeProperty
+      - file
+      - header
+      - ref
+      - simple
+      - tokenize
+      javaTypes:
+      - org.apache.camel.language.constant.ConstantLanguage
+      - org.apache.camel.language.property.ExchangePropertyLanguage
+      - org.apache.camel.language.simple.FileLanguage
+      - org.apache.camel.language.header.HeaderLanguage
+      - org.apache.camel.language.ref.RefLanguage
+      - org.apache.camel.language.simple.SimpleLanguage
+      - org.apache.camel.language.tokenizer.TokenizeLanguage
+    camel-jpa:
+      groupId: org.apache.camel
+      artifactId: camel-jpa
+      schemes:
+      - id: jpa
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jpa.JpaComponent
+    camel-cassandraql:
+      groupId: org.apache.camel
+      artifactId: camel-cassandraql
+      schemes:
+      - id: cql
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.cassandra.CassandraComponent
+    camel-couchbase:
+      groupId: org.apache.camel
+      artifactId: camel-couchbase
+      schemes:
+      - id: couchbase
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.couchbase.CouchbaseComponent
+    camel-aws-ddb:
+      groupId: org.apache.camel
+      artifactId: camel-aws-ddb
+      schemes:
+      - id: aws-ddb
+        http: false
+        passive: false
+      - id: aws-ddbstream
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.ddb.DdbComponent
+      - org.apache.camel.component.aws.ddbstream.DdbStreamComponent
+    camel-syslog:
+      groupId: org.apache.camel
+      artifactId: camel-syslog
+      dataformats:
+      - syslog
+      javaTypes:
+      - org.apache.camel.component.syslog.SyslogDataFormat
+    camel-pubnub:
+      groupId: org.apache.camel
+      artifactId: camel-pubnub
+      schemes:
+      - id: pubnub
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.pubnub.PubNubComponent
+    camel-gson:
+      groupId: org.apache.camel
+      artifactId: camel-gson
+      dataformats:
+      - json-gson
+      javaTypes:
+      - org.apache.camel.component.gson.GsonDataFormat
+    camel-json-validator:
+      groupId: org.apache.camel
+      artifactId: camel-json-validator
+      schemes:
+      - id: json-validator
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jsonvalidator.JsonValidatorComponent
+    camel-rss:
+      groupId: org.apache.camel
+      artifactId: camel-rss
+      schemes:
+      - id: rss
+        http: false
+        passive: false
+      dataformats:
+      - rss
+      javaTypes:
+      - org.apache.camel.component.rss.RssComponent
+      - org.apache.camel.dataformat.rss.RssDataFormat
+    camel-dataformat:
+      groupId: org.apache.camel
+      artifactId: camel-dataformat
+      schemes:
+      - id: dataformat
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.dataformat.DataFormatComponent
+    camel-xmlsecurity:
+      groupId: org.apache.camel
+      artifactId: camel-xmlsecurity
+      schemes:
+      - id: xmlsecurity-sign
+        http: false
+        passive: false
+      - id: xmlsecurity-verify
+        http: false
+        passive: false
+      dataformats:
+      - secureXML
+      javaTypes:
+      - org.apache.camel.component.xmlsecurity.XmlSignatureComponent
+      - org.apache.camel.component.xmlsecurity.XmlVerifierComponent
+      - org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat
+    camel-bonita:
+      groupId: org.apache.camel
+      artifactId: camel-bonita
+      schemes:
+      - id: bonita
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.bonita.BonitaComponent
+    camel-rest:
+      groupId: org.apache.camel
+      artifactId: camel-rest
+      schemes:
+      - id: rest
+        http: true
+        passive: false
+      - id: rest-api
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.rest.RestComponent
+      - org.apache.camel.component.rest.RestApiComponent
+    camel-service:
+      groupId: org.apache.camel
+      artifactId: camel-service
+      schemes:
+      - id: service
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.service.ServiceComponent
+    camel-protobuf:
+      groupId: org.apache.camel
+      artifactId: camel-protobuf
+      dataformats:
+      - protobuf
+      javaTypes:
+      - org.apache.camel.dataformat.protobuf.ProtobufDataFormat
+    camel-smpp:
+      groupId: org.apache.camel
+      artifactId: camel-smpp
+      schemes:
+      - id: smpp
+        http: false
+        passive: false
+      - id: smpps
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.smpp.SmppComponent
+    camel-velocity:
+      groupId: org.apache.camel
+      artifactId: camel-velocity
+      schemes:
+      - id: velocity
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.velocity.VelocityComponent
+    camel-google-mail:
+      groupId: org.apache.camel
+      artifactId: camel-google-mail
+      schemes:
+      - id: google-mail
+        http: false
+        passive: false
+      - id: google-mail-stream
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.google.mail.GoogleMailComponent
+      - org.apache.camel.component.google.mail.stream.GoogleMailStreamComponent
+    camel-as2:
+      groupId: org.apache.camel
+      artifactId: camel-as2
+      schemes:
+      - id: as2
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.as2.AS2Component
+    camel-xchange:
+      groupId: org.apache.camel
+      artifactId: camel-xchange
+      schemes:
+      - id: xchange
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.xchange.XChangeComponent
+    camel-paxlogging:
+      groupId: org.apache.camel
+      artifactId: camel-paxlogging
+      schemes:
+      - id: paxlogging
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.paxlogging.PaxLoggingComponent
+    camel-tarfile:
+      groupId: org.apache.camel
+      artifactId: camel-tarfile
+      dataformats:
+      - tarfile
+      javaTypes:
+      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
+    camel-jooq:
+      groupId: org.apache.camel
+      artifactId: camel-jooq
+      schemes:
+      - id: jooq
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jooq.JooqComponent
+    camel-ahc-ws:
+      groupId: org.apache.camel
+      artifactId: camel-ahc-ws
+      schemes:
+      - id: ahc-ws
+        http: true
+        passive: false
+      - id: ahc-wss
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.ahc.ws.WsComponent
+    camel-johnzon:
+      groupId: org.apache.camel
+      artifactId: camel-johnzon
+      dataformats:
+      - json-johnzon
+      javaTypes:
+      - org.apache.camel.component.johnzon.JohnzonDataFormat
+    camel-ignite:
+      groupId: org.apache.camel
+      artifactId: camel-ignite
+      schemes:
+      - id: ignite-cache
+        http: false
+        passive: false
+      - id: ignite-compute
+        http: false
+        passive: false
+      - id: ignite-events
+        http: false
+        passive: false
+      - id: ignite-idgen
+        http: false
+        passive: false
+      - id: ignite-messaging
+        http: false
+        passive: false
+      - id: ignite-queue
+        http: false
+        passive: false
+      - id: ignite-set
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.ignite.cache.IgniteCacheComponent
+      - org.apache.camel.component.ignite.compute.IgniteComputeComponent
+      - org.apache.camel.component.ignite.events.IgniteEventsComponent
+      - org.apache.camel.component.ignite.idgen.IgniteIdGenComponent
+      - org.apache.camel.component.ignite.messaging.IgniteMessagingComponent
+      - org.apache.camel.component.ignite.queue.IgniteQueueComponent
+      - org.apache.camel.component.ignite.set.IgniteSetComponent
+    camel-xslt-saxon:
+      groupId: org.apache.camel
+      artifactId: camel-xslt-saxon
+      schemes:
+      - id: xslt-saxon
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.xslt.saxon.XsltSaxonComponent
+    camel-pulsar:
+      groupId: org.apache.camel
+      artifactId: camel-pulsar
+      schemes:
+      - id: pulsar
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.pulsar.PulsarComponent
+    camel-rest-swagger:
+      groupId: org.apache.camel
+      artifactId: camel-rest-swagger
+      schemes:
+      - id: rest-swagger
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.rest.swagger.RestSwaggerComponent
+    camel-spring:
+      groupId: org.apache.camel
+      artifactId: camel-spring
+      schemes:
+      - id: spring-event
+        http: false
+        passive: false
+      languages:
+      - spel
+      javaTypes:
+      - org.apache.camel.component.event.EventComponent
+      - org.apache.camel.language.spel.SpelLanguage
+    camel-exec:
+      groupId: org.apache.camel
+      artifactId: camel-exec
+      schemes:
+      - id: exec
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.exec.ExecComponent
+    camel-microprofile-metrics:
+      groupId: org.apache.camel
+      artifactId: camel-microprofile-metrics
+      schemes:
+      - id: microprofile-metrics
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
+    camel-aws-s3:
+      groupId: org.apache.camel
+      artifactId: camel-aws-s3
+      schemes:
+      - id: aws-s3
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.s3.S3Component
+    camel-cron:
+      groupId: org.apache.camel
+      artifactId: camel-cron
+      schemes:
+      - id: cron
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.cron.CronComponent
+    camel-zookeeper-master:
+      groupId: org.apache.camel
+      artifactId: camel-zookeeper-master
+      schemes:
+      - id: zookeeper-master
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.zookeepermaster.MasterComponent
+    camel-grok:
+      groupId: org.apache.camel
+      artifactId: camel-grok
+      dataformats:
+      - grok
+      javaTypes:
+      - org.apache.camel.component.grok.GrokDataFormat
+    camel-mvel:
+      groupId: org.apache.camel
+      artifactId: camel-mvel
+      schemes:
+      - id: mvel
+        http: false
+        passive: false
+      languages:
+      - mvel
+      javaTypes:
+      - org.apache.camel.component.mvel.MvelComponent
+      - org.apache.camel.language.mvel.MvelLanguage
+    camel-debezium-sqlserver:
+      groupId: org.apache.camel
+      artifactId: camel-debezium-sqlserver
+      schemes:
+      - id: debezium-sqlserver
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.debezium.DebeziumSqlserverComponent
+    camel-cbor:
+      groupId: org.apache.camel
+      artifactId: camel-cbor
+      dataformats:
+      - cbor
+      javaTypes:
+      - org.apache.camel.component.cbor.CBORDataFormat
+    camel-google-drive:
+      groupId: org.apache.camel
+      artifactId: camel-google-drive
+      schemes:
+      - id: google-drive
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.google.drive.GoogleDriveComponent
+    camel-iota:
+      groupId: org.apache.camel
+      artifactId: camel-iota
+      schemes:
+      - id: iota
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.iota.IOTAComponent
+    camel-cxf:
+      groupId: org.apache.camel
+      artifactId: camel-cxf
+      schemes:
+      - id: cxf
+        http: true
+        passive: false
+      - id: cxfrs
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.cxf.CxfComponent
+      - org.apache.camel.component.cxf.jaxrs.CxfRsComponent
+    camel-ref:
+      groupId: org.apache.camel
+      artifactId: camel-ref
+      schemes:
+      - id: ref
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.ref.RefComponent
+    camel-stomp:
+      groupId: org.apache.camel
+      artifactId: camel-stomp
+      schemes:
+      - id: stomp
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.stomp.StompComponent
+    camel-snakeyaml:
+      groupId: org.apache.camel
+      artifactId: camel-snakeyaml
+      dataformats:
+      - yaml-snakeyaml
+      javaTypes:
+      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
+    camel-olingo4:
+      groupId: org.apache.camel
+      artifactId: camel-olingo4
+      schemes:
+      - id: olingo4
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.olingo4.Olingo4Component
+    camel-olingo2:
+      groupId: org.apache.camel
+      artifactId: camel-olingo2
+      schemes:
+      - id: olingo2
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.olingo2.Olingo2Component
+    camel-milo:
+      groupId: org.apache.camel
+      artifactId: camel-milo
+      schemes:
+      - id: milo-client
+        http: false
+        passive: false
+      - id: milo-server
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.milo.client.MiloClientComponent
+      - org.apache.camel.component.milo.server.MiloServerComponent
+    camel-aws2-cw:
+      groupId: org.apache.camel
+      artifactId: camel-aws2-cw
+      schemes:
+      - id: aws2-cw
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws2.cw.Cw2Component
+    camel-grpc:
+      groupId: org.apache.camel
+      artifactId: camel-grpc
+      schemes:
+      - id: grpc
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.grpc.GrpcComponent
+    camel-webhook:
+      groupId: org.apache.camel
+      artifactId: camel-webhook
+      schemes:
+      - id: webhook
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.webhook.WebhookComponent
+    camel-pgevent:
+      groupId: org.apache.camel
+      artifactId: camel-pgevent
+      schemes:
+      - id: pgevent
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.pgevent.PgEventComponent
+    camel-micrometer:
+      groupId: org.apache.camel
+      artifactId: camel-micrometer
+      schemes:
+      - id: micrometer
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.micrometer.MicrometerComponent
+    camel-any23:
+      groupId: org.apache.camel
+      artifactId: camel-any23
+      dataformats:
+      - any23
+      javaTypes:
+      - org.apache.camel.dataformat.any23.Any23DataFormat
+    camel-aws-lambda:
+      groupId: org.apache.camel
+      artifactId: camel-aws-lambda
+      schemes:
+      - id: aws-lambda
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.lambda.LambdaComponent
+    camel-aws-kinesis:
+      groupId: org.apache.camel
+      artifactId: camel-aws-kinesis
+      schemes:
+      - id: aws-kinesis
+        http: false
+        passive: false
+      - id: aws-kinesis-firehose
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.kinesis.KinesisComponent
+      - org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
+    camel-netty-http:
+      groupId: org.apache.camel
+      artifactId: camel-netty-http
+      schemes:
+      - id: netty-http
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.netty.http.NettyHttpComponent
+    camel-ipfs:
+      groupId: org.apache.camel
+      artifactId: camel-ipfs
+      schemes:
+      - id: ipfs
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.ipfs.IPFSComponent
+    camel-aws-kms:
+      groupId: org.apache.camel
+      artifactId: camel-aws-kms
+      schemes:
+      - id: aws-kms
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.kms.KMSComponent
+    camel-aws-ec2:
+      groupId: org.apache.camel
+      artifactId: camel-aws-ec2
+      schemes:
+      - id: aws-ec2
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.ec2.EC2Component
+    camel-sjms:
+      groupId: org.apache.camel
+      artifactId: camel-sjms
+      schemes:
+      - id: sjms
+        http: false
+        passive: false
+      - id: sjms-batch
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.sjms.SjmsComponent
+      - org.apache.camel.component.sjms.batch.SjmsBatchComponent
+    camel-irc:
+      groupId: org.apache.camel
+      artifactId: camel-irc
+      schemes:
+      - id: irc
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.irc.IrcComponent
+    camel-jcr:
+      groupId: org.apache.camel
+      artifactId: camel-jcr
+      schemes:
+      - id: jcr
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jcr.JcrComponent
+    camel-dropbox:
+      groupId: org.apache.camel
+      artifactId: camel-dropbox
+      schemes:
+      - id: dropbox
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.dropbox.DropboxComponent
+    camel-activemq:
+      groupId: org.apache.camel
+      artifactId: camel-activemq
+      schemes:
+      - id: activemq
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.activemq.ActiveMQComponent
+    camel-scheduler:
+      groupId: org.apache.camel
+      artifactId: camel-scheduler
+      schemes:
+      - id: scheduler
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.scheduler.SchedulerComponent
+    camel-validator:
+      groupId: org.apache.camel
+      artifactId: camel-validator
+      schemes:
+      - id: validator
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.validator.ValidatorComponent
+    camel-k-loader-yaml:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-yaml
+    camel-k-loader-groovy:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-groovy
+    camel-k-loader-kotlin:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-kotlin
+    camel-k-loader-js:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-js
+    camel-k-loader-xml:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-xml
+    camel-k-loader-java:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-java
+    camel-k-loader-knative:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-knative
+    camel-k-runtime-main:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-runtime-main
+    camel-k-runtime-health:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-runtime-health
+    camel-k-runtime-inspector:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-runtime-inspector
+    camel-k-runtime-webhook:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-runtime-webhook
+    camel-k-runtime-cron:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-runtime-cron
+    camel-k-runtime-knative:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-runtime-knative
+      dependencies:
+      - groupId: org.apache.camel.k
+        artifactId: camel-k-loader-yaml
+      - groupId: org.apache.camel.k
+        artifactId: camel-k-loader-knative
+      - groupId: org.apache.camel.k
+        artifactId: camel-knative-api
+      - groupId: org.apache.camel.k
+        artifactId: camel-knative
+      - groupId: org.apache.camel.k
+        artifactId: camel-knative-http
+    camel-knative:
+      groupId: org.apache.camel.k
+      artifactId: camel-knative
+      schemes:
+      - id: knative
+        http: true
+        passive: false
+      dependencies:
+      - groupId: org.apache.camel.k
+        artifactId: camel-knative-api
+      - groupId: org.apache.camel.k
+        artifactId: camel-knative-http
+  loaders:
+    yaml:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-yaml
+      languages:
+      - yaml
+    groovy:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-groovy
+      languages:
+      - groovy
+    kts:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-kotlin
+      languages:
+      - kts
+    js:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-js
+      languages:
+      - js
+    xml:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-xml
+      languages:
+      - xml
+    java:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-java
+      languages:
+      - java
+    knative-source:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-knative
+      dependencies:
+      - groupId: org.apache.camel.k
+        artifactId: camel-k-runtime-knative
diff --git a/deploy/camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml b/deploy/camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml
new file mode 100644
index 0000000..01b62ce
--- /dev/null
+++ b/deploy/camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml
@@ -0,0 +1,892 @@
+# ---------------------------------------------------------------------------
+# 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/v1
+kind: CamelCatalog
+metadata:
+  name: camel-catalog-1.2.0-snapshot-quarkus
+  labels:
+    app: camel-k
+    camel.apache.org/catalog.version: 3.1.0
+    camel.apache.org/catalog.loader.version: 3.1.0
+    camel.apache.org/runtime.version: 1.2.0-SNAPSHOT
+    camel.apache.org/runtime.provider: quarkus
+spec:
+  runtime:
+    version: 1.2.0-SNAPSHOT
+    provider: quarkus
+    applicationClass: io.quarkus.runner.GeneratedMain
+    metadata:
+      camel.version: 3.1.0
+      quarkus.version: 1.3.0.Alpha2
+      camel-quarkus.version: 1.0.0-M4
+    dependencies:
+    - groupId: org.apache.camel.k
+      artifactId: camel-k-runtime-quarkus
+    capabilities:
+      health:
+        dependencies:
+        - groupId: org.apache.camel.quarkus
+          artifactId: camel-quarkus-microprofile-health
+      rest:
+        dependencies:
+        - groupId: org.apache.camel.quarkus
+          artifactId: camel-quarkus-rest
+        - groupId: org.apache.camel.quarkus
+          artifactId: camel-quarkus-platform-http
+  artifacts:
+    camel-quarkus-jdbc:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jdbc
+      schemes:
+      - id: jdbc
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jdbc.JdbcComponent
+    camel-quarkus-file:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-file
+      schemes:
+      - id: file
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.file.FileComponent
+    camel-quarkus-pdf:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-pdf
+      schemes:
+      - id: pdf
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.pdf.PdfComponent
+    camel-quarkus-bindy:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-bindy
+      dataformats:
+      - bindy-csv
+      - bindy-fixed
+      - bindy-kvp
+      javaTypes:
+      - org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat
+      - org.apache.camel.dataformat.bindy.fixed.BindyFixedLengthDataFormat
+      - org.apache.camel.dataformat.bindy.kvp.BindyKeyValuePairDataFormat
+    camel-quarkus-xpath:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-xpath
+      languages:
+      - xpath
+      javaTypes:
+      - org.apache.camel.language.xpath.XPathLanguage
+    camel-quarkus-tagsoup:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-tagsoup
+      dataformats:
+      - tidyMarkup
+      javaTypes:
+      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
+    camel-quarkus-jackson:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jackson
+      dataformats:
+      - json-jackson
+      javaTypes:
+      - org.apache.camel.component.jackson.JacksonDataFormat
+    camel-quarkus-csv:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-csv
+      dataformats:
+      - csv
+      javaTypes:
+      - org.apache.camel.dataformat.csv.CsvDataFormat
+    camel-quarkus-http:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-http
+      schemes:
+      - id: http
+        http: false
+        passive: false
+      - id: https
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.http.HttpComponent
+    camel-quarkus-aws-sns:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-sns
+      schemes:
+      - id: aws-sns
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.sns.SnsComponent
+    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-zipfile:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-zipfile
+      dataformats:
+      - zipfile
+      javaTypes:
+      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
+    camel-quarkus-netty:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-netty
+      schemes:
+      - id: netty
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.netty.NettyComponent
+    camel-quarkus-salesforce:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-salesforce
+      schemes:
+      - id: salesforce
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.salesforce.SalesforceComponent
+    camel-quarkus-braintree:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-braintree
+      schemes:
+      - id: braintree
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.braintree.BraintreeComponent
+    camel-quarkus-servlet:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-servlet
+      schemes:
+      - id: servlet
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.servlet.ServletComponent
+    camel-quarkus-reactive-streams:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-reactive-streams
+      schemes:
+      - id: reactive-streams
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
+    camel-quarkus-aws-eks:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-eks
+      schemes:
+      - id: aws-eks
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.eks.EKSComponent
+    camel-quarkus-core:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-core
+      languages:
+      - constant
+      - exchangeProperty
+      - file
+      - header
+      - ref
+      - simple
+      - tokenize
+      javaTypes:
+      - org.apache.camel.language.constant.ConstantLanguage
+      - org.apache.camel.language.property.ExchangePropertyLanguage
+      - org.apache.camel.language.simple.FileLanguage
+      - org.apache.camel.language.header.HeaderLanguage
+      - org.apache.camel.language.ref.RefLanguage
+      - org.apache.camel.language.simple.SimpleLanguage
+      - org.apache.camel.language.tokenizer.TokenizeLanguage
+    camel-quarkus-exec:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-exec
+      schemes:
+      - id: exec
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.exec.ExecComponent
+    camel-quarkus-netty-http:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-netty-http
+      schemes:
+      - id: netty-http
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.netty.http.NettyHttpComponent
+    camel-quarkus-stream:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-stream
+      schemes:
+      - id: stream
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.stream.StreamComponent
+    camel-quarkus-consul:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-consul
+      schemes:
+      - id: consul
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.consul.ConsulComponent
+    camel-quarkus-aws-s3:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-s3
+      schemes:
+      - id: aws-s3
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.s3.S3Component
+    camel-quarkus-tarfile:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-tarfile
+      dataformats:
+      - tarfile
+      javaTypes:
+      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
+    camel-quarkus-jira:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jira
+      schemes:
+      - id: jira
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.jira.JiraComponent
+    camel-quarkus-ftp:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-ftp
+      schemes:
+      - id: ftp
+        http: false
+        passive: false
+      - id: ftps
+        http: false
+        passive: false
+      - id: sftp
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.file.remote.FtpComponent
+      - org.apache.camel.component.file.remote.FtpsComponent
+      - org.apache.camel.component.file.remote.SftpComponent
+    camel-quarkus-azure:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-azure
+      schemes:
+      - id: azure-blob
+        http: false
+        passive: false
+      - id: azure-queue
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.azure.blob.BlobServiceComponent
+      - org.apache.camel.component.azure.queue.QueueServiceComponent
+    camel-quarkus-slack:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-slack
+      schemes:
+      - id: slack
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.slack.SlackComponent
+    camel-quarkus-sjms2:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-sjms2
+      schemes:
+      - id: sjms2
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.sjms2.Sjms2Component
+    camel-quarkus-aws-lambda:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-lambda
+      schemes:
+      - id: aws-lambda
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.lambda.LambdaComponent
+    camel-quarkus-aws-ecs:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-ecs
+      schemes:
+      - id: aws-ecs
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.ecs.ECSComponent
+    camel-quarkus-scheduler:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-scheduler
+      schemes:
+      - id: scheduler
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.scheduler.SchedulerComponent
+    camel-quarkus-platform-http:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-platform-http
+      schemes:
+      - id: platform-http
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.platform.http.PlatformHttpComponent
+    camel-quarkus-xslt:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-xslt
+      schemes:
+      - id: xslt
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.xslt.XsltComponent
+    camel-quarkus-sjms:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-sjms
+      schemes:
+      - id: sjms
+        http: false
+        passive: false
+      - id: sjms-batch
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.sjms.SjmsComponent
+      - org.apache.camel.component.sjms.batch.SjmsBatchComponent
+    camel-quarkus-paho:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-paho
+      schemes:
+      - id: paho
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.paho.PahoComponent
+    camel-quarkus-dozer:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-dozer
+      schemes:
+      - id: dozer
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.dozer.DozerComponent
+    camel-quarkus-bean:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-bean
+      schemes:
+      - id: bean
+        http: false
+        passive: true
+      - id: class
+        http: false
+        passive: true
+      languages:
+      - bean
+      javaTypes:
+      - org.apache.camel.component.bean.BeanComponent
+      - org.apache.camel.component.beanclass.ClassComponent
+      - org.apache.camel.language.bean.BeanLanguage
+    camel-quarkus-aws-translate:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-translate
+      schemes:
+      - id: aws-translate
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.translate.TranslateComponent
+    camel-quarkus-mail:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-mail
+      schemes:
+      - id: imap
+        http: false
+        passive: false
+      - id: imaps
+        http: false
+        passive: false
+      - id: pop3
+        http: false
+        passive: false
+      - id: pop3s
+        http: false
+        passive: false
+      - id: smtp
+        http: false
+        passive: false
+      - id: smtps
+        http: false
+        passive: false
+      dataformats:
+      - mime-multipart
+      javaTypes:
+      - org.apache.camel.component.mail.MailComponent
+      - org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat
+    camel-quarkus-bean-validator:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-bean-validator
+      schemes:
+      - id: bean-validator
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.bean.validator.BeanValidatorComponent
+    camel-quarkus-snakeyaml:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-snakeyaml
+      dataformats:
+      - yaml-snakeyaml
+      javaTypes:
+      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
+    camel-quarkus-vm:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-vm
+      schemes:
+      - id: vm
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.vm.VmComponent
+    camel-quarkus-kafka:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-kafka
+      schemes:
+      - id: kafka
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.kafka.KafkaComponent
+    camel-quarkus-seda:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-seda
+      schemes:
+      - id: seda
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.seda.SedaComponent
+    camel-quarkus-gson:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-gson
+      dataformats:
+      - json-gson
+      javaTypes:
+      - org.apache.camel.component.gson.GsonDataFormat
+    camel-quarkus-log:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-log
+      schemes:
+      - id: log
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.log.LogComponent
+    camel-quarkus-twitter:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-twitter
+      schemes:
+      - id: twitter-directmessage
+        http: false
+        passive: false
+      - id: twitter-search
+        http: false
+        passive: false
+      - id: twitter-timeline
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent
+      - org.apache.camel.component.twitter.search.TwitterSearchComponent
+      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
+    camel-quarkus-olingo4:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-olingo4
+      schemes:
+      - id: olingo4
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.olingo4.Olingo4Component
+    camel-quarkus-sql:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-sql
+      schemes:
+      - id: sql
+        http: false
+        passive: false
+      - id: sql-stored
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.sql.SqlComponent
+      - org.apache.camel.component.sql.stored.SqlStoredComponent
+    camel-quarkus-box:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-box
+      schemes:
+      - id: box
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.box.BoxComponent
+    camel-quarkus-mongodb:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-mongodb
+      schemes:
+      - id: mongodb
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.mongodb.MongoDbComponent
+    camel-quarkus-microprofile-metrics:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-microprofile-metrics
+      schemes:
+      - id: microprofile-metrics
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
+    camel-quarkus-infinispan:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-infinispan
+      schemes:
+      - id: infinispan
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.infinispan.InfinispanComponent
+    camel-quarkus-telegram:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-telegram
+      schemes:
+      - id: telegram
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.telegram.TelegramComponent
+    camel-quarkus-rest:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-rest
+      schemes:
+      - id: rest
+        http: true
+        passive: false
+      - id: rest-api
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.rest.RestComponent
+      - org.apache.camel.component.rest.RestApiComponent
+    camel-quarkus-ahc-ws:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-ahc-ws
+      schemes:
+      - id: ahc-ws
+        http: true
+        passive: false
+      - id: ahc-wss
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.ahc.ws.WsComponent
+    camel-quarkus-ahc:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-ahc
+      schemes:
+      - id: ahc
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.ahc.AhcComponent
+    camel-quarkus-controlbus:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-controlbus
+      schemes:
+      - id: controlbus
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.controlbus.ControlBusComponent
+    camel-quarkus-base64:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-base64
+      dataformats:
+      - base64
+      javaTypes:
+      - org.apache.camel.dataformat.base64.Base64DataFormat
+    camel-quarkus-lzf:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-lzf
+      dataformats:
+      - lzf
+      javaTypes:
+      - org.apache.camel.dataformat.lzf.LZFDataFormat
+    camel-quarkus-direct:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-direct
+      schemes:
+      - id: direct
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.direct.DirectComponent
+    camel-quarkus-fhir:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-fhir
+      schemes:
+      - id: fhir
+        http: false
+        passive: false
+      dataformats:
+      - fhirJson
+      - fhirXml
+      javaTypes:
+      - org.apache.camel.component.fhir.FhirComponent
+      - org.apache.camel.component.fhir.FhirJsonDataFormat
+      - org.apache.camel.component.fhir.FhirXmlDataFormat
+    camel-quarkus-dataformat:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-dataformat
+      schemes:
+      - id: dataformat
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.dataformat.DataFormatComponent
+    camel-quarkus-websocket-jsr356:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-websocket-jsr356
+      schemes:
+      - id: websocket-jsr356
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
+    camel-quarkus-aws-kinesis:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-kinesis
+      schemes:
+      - id: aws-kinesis
+        http: false
+        passive: false
+      - id: aws-kinesis-firehose
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.kinesis.KinesisComponent
+      - org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
+    camel-quarkus-aws-kms:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-kms
+      schemes:
+      - id: aws-kms
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.kms.KMSComponent
+    camel-quarkus-timer:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-timer
+      schemes:
+      - id: timer
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.timer.TimerComponent
+    camel-quarkus-aws-ec2:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-ec2
+      schemes:
+      - id: aws-ec2
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.ec2.EC2Component
+    camel-quarkus-zip-deflater:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-zip-deflater
+      dataformats:
+      - gzipdeflater
+      - zipdeflater
+      javaTypes:
+      - org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat
+      - org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat
+    camel-quarkus-jsonpath:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jsonpath
+      languages:
+      - jsonpath
+      javaTypes:
+      - org.apache.camel.jsonpath.JsonPathLanguage
+    camel-quarkus-aws-sqs:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-sqs
+      schemes:
+      - id: aws-sqs
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.sqs.SqsComponent
+    camel-quarkus-aws-iam:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-iam
+      schemes:
+      - id: aws-iam
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.aws.iam.IAMComponent
+    camel-k-loader-yaml:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-yaml
+    camel-k-loader-groovy:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-groovy
+    camel-k-loader-kotlin:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-kotlin
+    camel-k-loader-js:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-js
+    camel-k-loader-xml:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-xml
+    camel-k-loader-java:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-java
+    camel-k-loader-knative:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-knative
+    camel-k-runtime-main:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-runtime-main
+    camel-k-runtime-health:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-runtime-health
+    camel-k-runtime-inspector:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-runtime-inspector
+    camel-k-runtime-webhook:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-runtime-webhook
+    camel-k-runtime-cron:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-runtime-cron
+    camel-k-runtime-knative:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-runtime-knative
+      dependencies:
+      - groupId: org.apache.camel.k
+        artifactId: camel-k-loader-yaml
+      - groupId: org.apache.camel.k
+        artifactId: camel-k-loader-knative
+      - groupId: org.apache.camel.k
+        artifactId: camel-knative-api
+      - groupId: org.apache.camel.k
+        artifactId: camel-knative
+      - groupId: org.apache.camel.k
+        artifactId: camel-knative-http
+    camel-knative:
+      groupId: org.apache.camel.k
+      artifactId: camel-knative
+      schemes:
+      - id: knative
+        http: true
+        passive: false
+      dependencies:
+      - groupId: org.apache.camel.k
+        artifactId: camel-knative-api
+      - groupId: org.apache.camel.k
+        artifactId: camel-knative-http
+  loaders:
+    yaml:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-quarkus-loader-yaml
+      languages:
+      - yaml
+      metadata:
+        native: "true"
+    groovy:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-quarkus-loader-groovy
+      languages:
+      - groovy
+      metadata:
+        native: "false"
+    kts:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-quarkus-loader-kotlin
+      languages:
+      - kts
+      metadata:
+        native: "false"
+    js:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-quarkus-loader-js
+      languages:
+      - js
+      metadata:
+        native: "true"
+    xml:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-quarkus-loader-xml
+      languages:
+      - xml
+      metadata:
+        native: "true"
+    java:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-quarkus-loader-java
+      languages:
+      - java
+      metadata:
+        native: "false"
+    knative-source:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-quarkus-loader-knative
+      dependencies:
+      - groupId: org.apache.camel.k
+        artifactId: camel-k-quarkus-knative
+      metadata:
+        native: "true"
diff --git a/deploy/resources.go b/deploy/resources.go
index 103dc06..4ae5e6f 100644
--- a/deploy/resources.go
+++ b/deploy/resources.go
@@ -116,6 +116,20 @@ var assets = func() http.FileSystem {
 
 			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5c\xcb\x77\x9b\x3c\x16\xdf\xfb\xaf\xd0\x69\x36\xdf\x77\x4e\x51\x1f\x99\x33\x8b\xcc\x2a\x4d\x93\xa9\xdb\x3a\xc9\x29\xfe\x5e\xb3\x93\xe1\x62\x14\x83\x84\x25\xd9\x4e\xfa\xd7\xcf\x11\x88\x97\x43\x04\x38\xa2\x59\xc4\x80\xee\xfd\xdd\x97\x9e\x57\x82\x33\xe4\xb9\xfb\x9b\x9d\xa1\xef\x34\x00\x26\x21\x44\x8a\x23\x15\x03\xba\xcc\x48\x10\x03\xf2\x79\xa4\x0e\x44\x00\xba\xe1\x3b\x16\x12\x45\x39\x43\xbf\x5d\xfa\x37\xbf\xa3\x1d\x [...]
 		},
+		"/camel-catalog-1.2.0-SNAPSHOT-main.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel-catalog-1.2.0-SNAPSHOT-main.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 87430,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x7d\x5b\x77\xdb\x38\xb2\xee\x7b\x7e\x05\xd7\xe4\x65\xef\x75\x46\x98\x6e\x67\xf6\xf4\xd9\x7d\x9e\x6c\x39\x4e\xec\xd8\x8e\x3b\xf4\x24\x99\x7e\xe9\x05\x91\x90\x04\x8b\x24\x68\x00\x92\x65\xff\xfa\xb3\x70\xe1\x55\x10\x24\xb2\x0c\xfb\xc1\xa4\x88\xaa\xaf\x58\x00\x88\x6b\xa1\xea\x7d\x34\x79\xbd\xbf\x77\xef\xa3\x6b\x9a\x90\x42\x90\x34\x92\x2c\x92\x4b\x12\x9d\x96\x38\x59\x92\x28\x66\x73\xf9\x84\x39\x89\x2e\xd8\xba\x48\xb1\x [...]
+		},
+		"/camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 26766,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5c\xc9\x76\xdc\xa8\xd7\xdf\xd7\x53\x70\xe2\x4d\xf7\x39\x11\x49\xc7\xdd\xbd\xf0\xb7\xf2\xd8\x71\xe2\xe9\xb3\xaa\x93\x74\x76\x94\x44\x49\xb8\x24\x90\x81\x1a\xec\xa7\xff\x1f\x10\x1a\x2d\x23\xa9\x8c\xe2\x85\x4b\x25\x2e\xbf\x3b\x21\xb8\x5c\x6e\xe9\x00\x78\xee\xfe\x66\x07\xe0\x8a\x04\x98\x0a\x1c\x02\xc9\x80\x8c\x31\x38\xce\x50\x10\x63\xe0\xb3\xa5\xdc\x22\x8e\xc1\x05\x5b\xd3\x10\x49\xc2\x28\xf8\xed\xd8\xbf\xf8\x1d\xac\x [...]
+		},
 		"/cr-example.yaml": &vfsgen۰CompressedFileInfo{
 			name:             "cr-example.yaml",
 			modTime:          time.Time{},
@@ -362,6 +376,8 @@ var assets = func() http.FileSystem {
 		fs["/camel-catalog-1.1.0-quarkus.yaml"].(os.FileInfo),
 		fs["/camel-catalog-1.1.1-SNAPSHOT-main.yaml"].(os.FileInfo),
 		fs["/camel-catalog-1.1.1-SNAPSHOT-quarkus.yaml"].(os.FileInfo),
+		fs["/camel-catalog-1.2.0-SNAPSHOT-main.yaml"].(os.FileInfo),
+		fs["/camel-catalog-1.2.0-SNAPSHOT-quarkus.yaml"].(os.FileInfo),
 		fs["/cr-example.yaml"].(os.FileInfo),
 		fs["/crd-build.yaml"].(os.FileInfo),
 		fs["/crd-camel-catalog.yaml"].(os.FileInfo),
diff --git a/e2e/files/petstore-api.yaml b/e2e/files/petstore-api.yaml
new file mode 100644
index 0000000..10f4c49
--- /dev/null
+++ b/e2e/files/petstore-api.yaml
@@ -0,0 +1,111 @@
+openapi: "3.0.0"
+info:
+  version: 1.0.0
+  title: Swagger Petstore
+  license:
+    name: MIT
+servers:
+  - url: http://petstore.swagger.io/v1
+paths:
+  /pets:
+    get:
+      summary: List all pets
+      operationId: listPets
+      tags:
+        - pets
+      parameters:
+        - name: limit
+          in: query
+          description: How many items to return at one time (max 100)
+          required: false
+          schema:
+            type: integer
+            format: int32
+      responses:
+        '200':
+          description: A paged array of pets
+          headers:
+            x-next:
+              description: A link to the next page of responses
+              schema:
+                type: string
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Pets"
+        default:
+          description: unexpected error
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+    post:
+      summary: Create a pet
+      operationId: createPets
+      tags:
+        - pets
+      responses:
+        '201':
+          description: Null response
+        default:
+          description: unexpected error
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+  /pets/{petId}:
+    get:
+      summary: Info for a specific pet
+      operationId: showPetById
+      tags:
+        - pets
+      parameters:
+        - name: petId
+          in: path
+          required: true
+          description: The id of the pet to retrieve
+          schema:
+            type: string
+      responses:
+        '200':
+          description: Expected response to a valid request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Pet"
+        default:
+          description: unexpected error
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+components:
+  schemas:
+    Pet:
+      type: object
+      required:
+        - id
+        - name
+      properties:
+        id:
+          type: integer
+          format: int64
+        name:
+          type: string
+        tag:
+          type: string
+    Pets:
+      type: array
+      items:
+        $ref: "#/components/schemas/Pet"
+    Error:
+      type: object
+      required:
+        - code
+        - message
+      properties:
+        code:
+          type: integer
+          format: int32
+        message:
+          type: string
diff --git a/examples/greetings.groovy b/e2e/files/petstore.groovy
similarity index 75%
copy from examples/greetings.groovy
copy to e2e/files/petstore.groovy
index 54cccb4..d382b21 100644
--- a/examples/greetings.groovy
+++ b/e2e/files/petstore.groovy
@@ -17,10 +17,13 @@
  */
 
 //
-//  kamel run --dev --name greetings --property camel.rest.port=8080 --open-api examples/greetings-api.json examples/greetings.groovy
+//  kamel run --dev --name petstore --open-api examples/petstore-api.yaml examples/petstore.groovy
 // 
 
-from('direct:greeting-api')
-    .to('log:api?showAll=true&multiline=true') 
-    .setBody()
-        .simple('Hello from ${headers.name}')
+from('direct:listPets')
+    .log('listPets')
+from('direct:createPets')
+    .log('createPets')
+from('direct:showPetById')
+    .log('showPetById')
+
diff --git a/e2e/openapi_test.go b/e2e/openapi_test.go
new file mode 100644
index 0000000..09ce3a1
--- /dev/null
+++ b/e2e/openapi_test.go
@@ -0,0 +1,85 @@
+// +build knative
+
+// To enable compilation of this file in Goland, go to "Settings -> Go -> Vendoring & Build Tags -> Custom Tags" and add "knative"
+
+/*
+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.
+*/
+
+package e2e
+
+import (
+	"testing"
+
+	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+
+	. "github.com/onsi/gomega"
+	corev1 "k8s.io/api/core/v1"
+)
+
+func TestOpenAPIService(t *testing.T) {
+	withNewTestNamespaceWithKnativeBroker(t, func(ns string) {
+		Expect(kamel("install", "-n", ns, "--trait-profile", string(v1.TraitProfileKnative)).Execute()).Should(BeNil())
+		Expect(kamel(
+			"run",
+			"-n", ns,
+			"--name", "petstore",
+			"--open-api", "examples/petstore-api.yaml",
+			"files/petstore.groovy",
+		).Execute()).Should(BeNil())
+
+		Eventually(integrationPodPhase(ns, "petstore"), testTimeoutLong).
+			Should(Equal(corev1.PodRunning))
+		Eventually(knativeService(ns, "petstore"), testTimeoutLong).
+			Should(Not(BeNil()))
+
+		Eventually(integrationLogs(ns, "petstore"), testTimeoutMedium).
+			Should(ContainSubstring("Route: listPets started and consuming from: http://0.0.0.0:8080/v1/pets"))
+		Eventually(integrationLogs(ns, "petstore"), testTimeoutMedium).
+			Should(ContainSubstring("Route: createPets started and consuming from: http://0.0.0.0:8080/v1/pets"))
+		Eventually(integrationLogs(ns, "petstore"), testTimeoutMedium).
+			Should(ContainSubstring("Route: showPetById started and consuming from: http://0.0.0.0:8080/v1/pets"))
+
+		Expect(kamel("delete", "--all", "-n", ns).Execute()).Should(BeNil())
+	})
+}
+
+func TestOpenAPIDeployment(t *testing.T) {
+	withNewTestNamespaceWithKnativeBroker(t, func(ns string) {
+		Expect(kamel("install", "-n", ns, "--trait-profile", string(v1.TraitProfileKubernetes)).Execute()).Should(BeNil())
+		Expect(kamel(
+			"run",
+			"-n", ns,
+			"--name", "petstore",
+			"--open-api", "examples/petstore-api.yaml",
+			"files/petstore.groovy",
+		).Execute()).Should(BeNil())
+
+		Eventually(integrationPodPhase(ns, "petstore"), testTimeoutLong).
+			Should(Equal(corev1.PodRunning))
+		Eventually(deployment(ns, "petstore"), testTimeoutLong).
+			Should(Not(BeNil()))
+
+		Eventually(integrationLogs(ns, "petstore"), testTimeoutMedium).
+			Should(ContainSubstring("Route: listPets started and consuming from: http://0.0.0.0:8080/v1/pets"))
+		Eventually(integrationLogs(ns, "petstore"), testTimeoutMedium).
+			Should(ContainSubstring("Route: createPets started and consuming from: http://0.0.0.0:8080/v1/pets"))
+		Eventually(integrationLogs(ns, "petstore"), testTimeoutMedium).
+			Should(ContainSubstring("Route: showPetById started and consuming from: http://0.0.0.0:8080/v1/pets"))
+
+		Expect(kamel("delete", "--all", "-n", ns).Execute()).Should(BeNil())
+	})
+}
diff --git a/e2e/test_support.go b/e2e/test_support.go
index 5b9f1b4..5dc29e5 100644
--- a/e2e/test_support.go
+++ b/e2e/test_support.go
@@ -25,14 +25,17 @@ import (
 	"context"
 	"errors"
 	"fmt"
+	"io"
 	"io/ioutil"
-	rbacv1 "k8s.io/api/rbac/v1"
 	"os"
 	"os/exec"
 	"strings"
 	"testing"
 	"time"
-	"io"
+
+	servingv1 "knative.dev/serving/pkg/apis/serving/v1"
+
+	rbacv1 "k8s.io/api/rbac/v1"
 
 	"github.com/apache/camel-k/e2e/util"
 	"github.com/apache/camel-k/pkg/apis/camel/v1"
@@ -61,9 +64,9 @@ import (
 	_ "github.com/apache/camel-k/addons"
 )
 
-var testTimeoutShort = 1*time.Minute
-var testTimeoutMedium = 5*time.Minute
-var testTimeoutLong = 10*time.Minute
+var testTimeoutShort = 1 * time.Minute
+var testTimeoutMedium = 5 * time.Minute
+var testTimeoutLong = 10 * time.Minute
 
 var testContext context.Context
 var testClient client.Client
@@ -97,7 +100,7 @@ func init() {
 		testImageVersion = imageVersion
 	}
 
-	// Timeouts 
+	// Timeouts
 	var duration time.Duration
 	if value, ok := os.LookupEnv("CAMEL_K_TEST_TIMEOUT_SHORT"); ok {
 		if duration, err = time.ParseDuration(value); err == nil {
@@ -152,18 +155,18 @@ func kamelWithContext(ctx context.Context, args ...string) *cobra.Command {
 		c = &cobra.Command{
 			DisableFlagParsing: true,
 			Run: func(cmd *cobra.Command, args []string) {
-				
+
 				externalBin := exec.Command(kamelBin, args...)
 				var stdout io.Reader
-				stdout , err = externalBin.StdoutPipe()
+				stdout, err = externalBin.StdoutPipe()
 				if err != nil {
 					panic(err)
 				}
-				
+
 				externalBin.Start()
 				io.Copy(c.OutOrStdout(), stdout)
 				externalBin.Wait()
-				
+
 			},
 		}
 	} else {
@@ -467,6 +470,58 @@ func configmap(ns string, name string) func() *corev1.ConfigMap {
 	}
 }
 
+func knativeService(ns string, name string) func() *servingv1.Service {
+	return func() *servingv1.Service {
+		cm := servingv1.Service{
+			TypeMeta: metav1.TypeMeta{
+				Kind:       "Service",
+				APIVersion: servingv1.SchemeGroupVersion.String(),
+			},
+			ObjectMeta: metav1.ObjectMeta{
+				Namespace: ns,
+				Name:      name,
+			},
+		}
+		key := k8sclient.ObjectKey{
+			Namespace: ns,
+			Name:      name,
+		}
+		if err := testClient.Get(testContext, key, &cm); err != nil && k8serrors.IsNotFound(err) {
+			return nil
+		} else if err != nil {
+			log.Errorf(err, "Error while retrieving knative service %s", name)
+			return nil
+		}
+		return &cm
+	}
+}
+
+func deployment(ns string, name string) func() *appsv1.Deployment {
+	return func() *appsv1.Deployment {
+		cm := appsv1.Deployment{
+			TypeMeta: metav1.TypeMeta{
+				Kind:       "Deployment",
+				APIVersion: appsv1.SchemeGroupVersion.String(),
+			},
+			ObjectMeta: metav1.ObjectMeta{
+				Namespace: ns,
+				Name:      name,
+			},
+		}
+		key := k8sclient.ObjectKey{
+			Namespace: ns,
+			Name:      name,
+		}
+		if err := testClient.Get(testContext, key, &cm); err != nil && k8serrors.IsNotFound(err) {
+			return nil
+		} else if err != nil {
+			log.Errorf(err, "Error while retrieving deployment %s", name)
+			return nil
+		}
+		return &cm
+	}
+}
+
 func build(ns string, name string) func() *v1.Build {
 	return func() *v1.Build {
 		build := v1.NewBuild(ns, name)
@@ -514,7 +569,7 @@ func deletePlatform(ns string) func() bool {
 	}
 }
 
-func setPlatformVersion(ns string, version string) func()error {
+func setPlatformVersion(ns string, version string) func() error {
 	return func() error {
 		p := platform(ns)()
 		if p == nil {
@@ -675,7 +730,7 @@ func clusterrole(ns string) func() *rbacv1.ClusterRole {
 		lst := rbacv1.ClusterRoleList{
 			TypeMeta: metav1.TypeMeta{
 				Kind:       "ClusterRole",
-				APIVersion:  rbacv1.SchemeGroupVersion.String(),
+				APIVersion: rbacv1.SchemeGroupVersion.String(),
 			},
 		}
 		err := testClient.List(testContext, &lst,
@@ -698,7 +753,7 @@ func serviceaccount(ns, name string) func() *corev1.ServiceAccount {
 		lst := corev1.ServiceAccountList{
 			TypeMeta: metav1.TypeMeta{
 				Kind:       "ServiceAccount",
-				APIVersion:  corev1.SchemeGroupVersion.String(),
+				APIVersion: corev1.SchemeGroupVersion.String(),
 			},
 		}
 		err := testClient.List(testContext, &lst,
diff --git a/examples/greetings.groovy b/examples/greetings.groovy
index 54cccb4..a96fa64 100644
--- a/examples/greetings.groovy
+++ b/examples/greetings.groovy
@@ -17,7 +17,7 @@
  */
 
 //
-//  kamel run --dev --name greetings --property camel.rest.port=8080 --open-api examples/greetings-api.json examples/greetings.groovy
+//  kamel run --dev --name greetings --open-api examples/greetings-api.json examples/greetings.groovy
 // 
 
 from('direct:greeting-api')
diff --git a/examples/petstore-api.yaml b/examples/petstore-api.yaml
new file mode 100644
index 0000000..10f4c49
--- /dev/null
+++ b/examples/petstore-api.yaml
@@ -0,0 +1,111 @@
+openapi: "3.0.0"
+info:
+  version: 1.0.0
+  title: Swagger Petstore
+  license:
+    name: MIT
+servers:
+  - url: http://petstore.swagger.io/v1
+paths:
+  /pets:
+    get:
+      summary: List all pets
+      operationId: listPets
+      tags:
+        - pets
+      parameters:
+        - name: limit
+          in: query
+          description: How many items to return at one time (max 100)
+          required: false
+          schema:
+            type: integer
+            format: int32
+      responses:
+        '200':
+          description: A paged array of pets
+          headers:
+            x-next:
+              description: A link to the next page of responses
+              schema:
+                type: string
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Pets"
+        default:
+          description: unexpected error
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+    post:
+      summary: Create a pet
+      operationId: createPets
+      tags:
+        - pets
+      responses:
+        '201':
+          description: Null response
+        default:
+          description: unexpected error
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+  /pets/{petId}:
+    get:
+      summary: Info for a specific pet
+      operationId: showPetById
+      tags:
+        - pets
+      parameters:
+        - name: petId
+          in: path
+          required: true
+          description: The id of the pet to retrieve
+          schema:
+            type: string
+      responses:
+        '200':
+          description: Expected response to a valid request
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Pet"
+        default:
+          description: unexpected error
+          content:
+            application/json:
+              schema:
+                $ref: "#/components/schemas/Error"
+components:
+  schemas:
+    Pet:
+      type: object
+      required:
+        - id
+        - name
+      properties:
+        id:
+          type: integer
+          format: int64
+        name:
+          type: string
+        tag:
+          type: string
+    Pets:
+      type: array
+      items:
+        $ref: "#/components/schemas/Pet"
+    Error:
+      type: object
+      required:
+        - code
+        - message
+      properties:
+        code:
+          type: integer
+          format: int32
+        message:
+          type: string
diff --git a/examples/greetings.groovy b/examples/petstore.groovy
similarity index 75%
copy from examples/greetings.groovy
copy to examples/petstore.groovy
index 54cccb4..d382b21 100644
--- a/examples/greetings.groovy
+++ b/examples/petstore.groovy
@@ -17,10 +17,13 @@
  */
 
 //
-//  kamel run --dev --name greetings --property camel.rest.port=8080 --open-api examples/greetings-api.json examples/greetings.groovy
+//  kamel run --dev --name petstore --open-api examples/petstore-api.yaml examples/petstore.groovy
 // 
 
-from('direct:greeting-api')
-    .to('log:api?showAll=true&multiline=true') 
-    .setBody()
-        .simple('Hello from ${headers.name}')
+from('direct:listPets')
+    .log('listPets')
+from('direct:createPets')
+    .log('createPets')
+from('direct:showPetById')
+    .log('showPetById')
+
diff --git a/pkg/metadata/metadata_dependencies_test.go b/pkg/metadata/metadata_dependencies_test.go
index 229b75e..1a96276 100644
--- a/pkg/metadata/metadata_dependencies_test.go
+++ b/pkg/metadata/metadata_dependencies_test.go
@@ -467,8 +467,19 @@ func TestXMLLanguageDependencies(t *testing.T) {
 	assert.Nil(t, err)
 
 	meta := Extract(catalog, code)
-	assert.ElementsMatch(t, []string{"camel:direct", "camel:ognl", "camel:saxon", "camel:xpath",
-		"camel:jsonpath", "camel:groovy", "camel:jaxp", "camel:mvel"}, meta.Dependencies.List())
+	assert.ElementsMatch(
+		t,
+		[]string{
+			"camel:direct",
+			"camel:ognl",
+			"camel:saxon",
+			"camel:xpath",
+			"camel:xml-jaxp",
+			"camel:jsonpath",
+			"camel:groovy",
+			"camel:mvel",
+		},
+		meta.Dependencies.List())
 }
 
 const yamlWithRest = `
@@ -562,6 +573,17 @@ func TestYAMLLanguageDependencies(t *testing.T) {
 
 	meta := Extract(catalog, code)
 
-	assert.ElementsMatch(t, []string{"camel:direct", "camel:ognl", "camel:saxon", "camel:xpath",
-		"camel:jsonpath", "camel:groovy", "camel:jaxp", "camel:mvel"}, meta.Dependencies.List())
+	assert.ElementsMatch(
+		t,
+		[]string{
+			"camel:direct",
+			"camel:ognl",
+			"camel:saxon",
+			"camel:xpath",
+			"camel:jsonpath",
+			"camel:groovy",
+			"camel:xml-jaxp",
+			"camel:mvel",
+		},
+		meta.Dependencies.List())
 }
diff --git a/pkg/trait/deployment_test.go b/pkg/trait/deployment_test.go
index 8a6a785..a20293f 100644
--- a/pkg/trait/deployment_test.go
+++ b/pkg/trait/deployment_test.go
@@ -104,13 +104,21 @@ func TestApplyDeploymentTraitWhileResolvingKitDoesNotSucceed(t *testing.T) {
 
 func TestApplyDeploymentTraitWhileDeployingIntegrationDoesSucceed(t *testing.T) {
 	deploymentTrait, environment := createNominalDeploymentTest()
+	environment.Integration.Spec.Configuration = append(environment.Integration.Spec.Configuration, v1.ConfigurationSpec{
+		Type:  "property",
+		Value: "a=b",
+	})
 
 	err := deploymentTrait.Apply(environment)
 
 	assert.Nil(t, err)
 
-	configMap := environment.Resources.GetConfigMap(func(cm *corev1.ConfigMap) bool { return true })
-	assert.NotNil(t, configMap)
+	assert.NotNil(t, environment.Resources.GetConfigMap(func(cm *corev1.ConfigMap) bool {
+		return cm.Labels["camel.apache.org/properties.type"] == "user"
+	}))
+	assert.Nil(t, environment.Resources.GetConfigMap(func(cm *corev1.ConfigMap) bool {
+		return cm.Labels["camel.apache.org/properties.type"] == "application"
+	}))
 
 	deployment := environment.Resources.GetDeployment(func(deployment *appsv1.Deployment) bool { return true })
 	assert.NotNil(t, deployment)
@@ -196,7 +204,8 @@ func createNominalDeploymentTest() (*deploymentTrait, *Environment) {
 				Profile: v1.TraitProfileKnative,
 			},
 		},
-		Resources: kubernetes.NewCollection(),
+		Resources:             kubernetes.NewCollection(),
+		ApplicationProperties: make(map[string]string),
 	}
 	environment.Platform.ResyncStatusFullConfig()
 
diff --git a/pkg/trait/knative_service_test.go b/pkg/trait/knative_service_test.go
index 92675be..7988828 100644
--- a/pkg/trait/knative_service_test.go
+++ b/pkg/trait/knative_service_test.go
@@ -133,7 +133,7 @@ func TestKnativeService(t *testing.T) {
 
 	assert.Condition(t, func() bool {
 		for _, v := range spec.Containers[0].VolumeMounts {
-			if v.Name == "integration-properties" {
+			if v.Name == "user-properties" {
 				return true
 			}
 		}
@@ -161,7 +161,7 @@ func TestKnativeService(t *testing.T) {
 		names = append(names, cm.Name)
 	})
 
-	assert.Contains(t, names, "test-properties")
+	assert.Contains(t, names, "test-user-properties")
 	assert.Contains(t, names, "test-source-000")
 	assert.Contains(t, names, "test-resource-000")
 
@@ -255,3 +255,71 @@ func TestKnativeServiceWithCustomContainerName(t *testing.T) {
 		s.Spec.ConfigurationSpec.Template.Spec.Containers[0].Name,
 	)
 }
+
+func TestKnativeServiceWithResr(t *testing.T) {
+	catalog, err := camel.DefaultCatalog()
+	assert.Nil(t, err)
+
+	traitCatalog := NewCatalog(context.TODO(), nil)
+
+	environment := Environment{
+		CamelCatalog: catalog,
+		Catalog:      traitCatalog,
+		Integration: &v1.Integration{
+			ObjectMeta: metav1.ObjectMeta{
+				Name:      KnativeServiceTestName,
+				Namespace: KnativeServiceTestNamespace,
+			},
+			Status: v1.IntegrationStatus{
+				Phase: v1.IntegrationPhaseDeploying,
+			},
+			Spec: v1.IntegrationSpec{
+				Profile: v1.TraitProfileKnative,
+				Sources: []v1.SourceSpec{
+					{
+						DataSpec: v1.DataSpec{
+							Name:    "routes.js",
+							Content: `from("direct:test").log("hello")`,
+						},
+						Language: v1.LanguageJavaScript,
+					},
+					{
+						DataSpec: v1.DataSpec{
+							Name:    "rests.xml",
+							Content: `<rest path="/test"></rest>`,
+						},
+						Language: v1.LanguageXML,
+					},
+				},
+			},
+		},
+		IntegrationKit: &v1.IntegrationKit{
+			Status: v1.IntegrationKitStatus{
+				Phase: v1.IntegrationKitPhaseReady,
+			},
+		},
+		Platform: &v1.IntegrationPlatform{
+			Spec: v1.IntegrationPlatformSpec{
+				Cluster: v1.IntegrationPlatformClusterOpenShift,
+				Build: v1.IntegrationPlatformBuildSpec{
+					PublishStrategy: v1.IntegrationPlatformBuildPublishStrategyS2I,
+					Registry:        v1.IntegrationPlatformRegistrySpec{Address: "registry"},
+				},
+			},
+		},
+		EnvVars:        make([]corev1.EnvVar, 0),
+		ExecutedTraits: make([]Trait, 0),
+		Resources:      kubernetes.NewCollection(),
+	}
+	environment.Platform.ResyncStatusFullConfig()
+
+	err = traitCatalog.apply(&environment)
+
+	assert.Nil(t, err)
+	assert.NotEmpty(t, environment.ExecutedTraits)
+	assert.NotNil(t, environment.GetTrait("knative"))
+
+	assert.NotNil(t, environment.Resources.GetKnativeService(func(service *serving.Service) bool {
+		return service.Name == KnativeServiceTestName
+	}))
+}
diff --git a/pkg/trait/rest-dsl.go b/pkg/trait/rest-dsl.go
index 527a00f..0d18945 100644
--- a/pkg/trait/rest-dsl.go
+++ b/pkg/trait/rest-dsl.go
@@ -53,6 +53,11 @@ func newRestDslTrait() Trait {
 	}
 }
 
+// IsPlatformTrait overrides base class method
+func (t *restDslTrait) IsPlatformTrait() bool {
+	return true
+}
+
 func (t *restDslTrait) Configure(e *Environment) (bool, error) {
 	if t.Enabled != nil && !*t.Enabled {
 		return false, nil
@@ -69,7 +74,11 @@ func (t *restDslTrait) Configure(e *Environment) (bool, error) {
 
 	for _, resource := range e.Integration.Spec.Resources {
 		if resource.Type == v1.ResourceTypeOpenAPI {
-			return e.IntegrationInPhase(v1.IntegrationPhaseInitialization), nil
+			return e.IntegrationInPhase(
+				v1.IntegrationPhaseInitialization,
+				v1.IntegrationPhaseDeploying,
+				v1.IntegrationPhaseRunning,
+			), nil
 		}
 	}
 
@@ -81,8 +90,20 @@ func (t *restDslTrait) Apply(e *Environment) error {
 		return nil
 	}
 
-	t.computeDependencies(e)
+	if e.IntegrationInPhase(v1.IntegrationPhaseInitialization) {
+		t.computeDependencies(e)
+		return t.generateRestDSL(e)
+	}
+
+	if e.IntegrationInPhase(v1.IntegrationPhaseDeploying, v1.IntegrationPhaseRunning) {
+		e.ApplicationProperties["camel.rest.port"] = "8080"
+		return nil
+	}
+
+	return nil
+}
 
+func (t *restDslTrait) generateRestDSL(e *Environment) error {
 	root := os.TempDir()
 	tmpDir, err := ioutil.TempDir(root, "rest-dsl")
 	if err != nil {
@@ -95,6 +116,9 @@ func (t *restDslTrait) Apply(e *Environment) error {
 		if resource.Type != v1.ResourceTypeOpenAPI {
 			continue
 		}
+		if resource.Name == "" {
+			return fmt.Errorf("no name defined for the openapi resource: %v", resource)
+		}
 
 		tmpDir = path.Join(tmpDir, strconv.Itoa(i))
 		err := os.MkdirAll(tmpDir, os.ModePerm)
@@ -110,7 +134,7 @@ func (t *restDslTrait) Apply(e *Environment) error {
 			}
 		}
 
-		in := path.Join(tmpDir, "openapi-spec.json")
+		in := path.Join(tmpDir, resource.Name)
 		out := path.Join(tmpDir, "openapi-dsl.xml")
 
 		err = ioutil.WriteFile(in, content, 0644)
@@ -218,11 +242,6 @@ func (t *restDslTrait) Apply(e *Environment) error {
 	return nil
 }
 
-// IsPlatformTrait overrides base class method
-func (t *restDslTrait) IsPlatformTrait() bool {
-	return true
-}
-
 func (t *restDslTrait) generateMavenProject(e *Environment) (maven.Project, error) {
 	if e.CamelCatalog == nil {
 		return maven.Project{}, errors.New("unknown camel catalog")
@@ -252,10 +271,6 @@ func (t *restDslTrait) generateMavenProject(e *Environment) (maven.Project, erro
 }
 
 func (t *restDslTrait) computeDependencies(e *Environment) {
-	if !e.IntegrationInPhase(v1.IntegrationPhaseInitialization) {
-		return
-	}
-
 	// check if the runtime provides 'rest' capabilities
 	if capability, ok := e.CamelCatalog.Runtime.Capabilities["rest"]; ok {
 		for _, dependency := range capability.Dependencies {
diff --git a/pkg/trait/trait.go b/pkg/trait/trait.go
index 649e817..55f87b8 100644
--- a/pkg/trait/trait.go
+++ b/pkg/trait/trait.go
@@ -84,14 +84,15 @@ func newEnvironment(ctx context.Context, c client.Client, integration *v1.Integr
 	}
 
 	env := Environment{
-		C:              ctx,
-		Platform:       pl,
-		Client:         c,
-		IntegrationKit: kit,
-		Integration:    integration,
-		ExecutedTraits: make([]Trait, 0),
-		Resources:      kubernetes.NewCollection(),
-		EnvVars:        make([]corev1.EnvVar, 0),
+		C:                     ctx,
+		Platform:              pl,
+		Client:                c,
+		IntegrationKit:        kit,
+		Integration:           integration,
+		ExecutedTraits:        make([]Trait, 0),
+		Resources:             kubernetes.NewCollection(),
+		EnvVars:               make([]corev1.EnvVar, 0),
+		ApplicationProperties: make(map[string]string),
 	}
 
 	return &env, nil
diff --git a/pkg/trait/trait_test.go b/pkg/trait/trait_test.go
index 6063899..4ffe2f0 100644
--- a/pkg/trait/trait_test.go
+++ b/pkg/trait/trait_test.go
@@ -37,7 +37,6 @@ import (
 
 const (
 	TestDeploymentName = "test"
-	TestProperties     = "test-properties"
 )
 
 func TestOpenShiftTraits(t *testing.T) {
@@ -49,8 +48,8 @@ func TestOpenShiftTraits(t *testing.T) {
 	assert.Nil(t, env.GetTrait("service"))
 	assert.Nil(t, env.GetTrait("route"))
 	assert.NotNil(t, env.GetTrait("owner"))
-	assert.NotNil(t, res.GetConfigMap(func(cm *corev1.ConfigMap) bool {
-		return cm.Name == TestProperties
+	assert.Nil(t, res.GetConfigMap(func(cm *corev1.ConfigMap) bool {
+		return cm.Labels["camel.apache.org/properties.type"] != ""
 	}))
 	assert.NotNil(t, res.GetDeployment(func(deployment *appsv1.Deployment) bool {
 		return deployment.Name == TestDeploymentName
@@ -64,8 +63,8 @@ func TestOpenShiftTraitsWithWeb(t *testing.T) {
 	assert.NotNil(t, env.GetTrait("service"))
 	assert.NotNil(t, env.GetTrait("route"))
 	assert.NotNil(t, env.GetTrait("owner"))
-	assert.NotNil(t, res.GetConfigMap(func(cm *corev1.ConfigMap) bool {
-		return cm.Name == TestProperties
+	assert.Nil(t, res.GetConfigMap(func(cm *corev1.ConfigMap) bool {
+		return cm.Labels["camel.apache.org/properties.type"] != ""
 	}))
 	assert.NotNil(t, res.GetDeployment(func(deployment *appsv1.Deployment) bool {
 		return deployment.Name == TestDeploymentName
@@ -118,8 +117,8 @@ func TestKubernetesTraits(t *testing.T) {
 	assert.Nil(t, env.GetTrait("service"))
 	assert.Nil(t, env.GetTrait("route"))
 	assert.NotNil(t, env.GetTrait("owner"))
-	assert.NotNil(t, res.GetConfigMap(func(cm *corev1.ConfigMap) bool {
-		return cm.Name == TestProperties
+	assert.Nil(t, res.GetConfigMap(func(cm *corev1.ConfigMap) bool {
+		return cm.Labels["camel.apache.org/properties.type"] != ""
 	}))
 	assert.NotNil(t, res.GetDeployment(func(deployment *appsv1.Deployment) bool {
 		return deployment.Name == TestDeploymentName
@@ -133,8 +132,8 @@ func TestKubernetesTraitsWithWeb(t *testing.T) {
 	assert.NotNil(t, env.GetTrait("service"))
 	assert.Nil(t, env.GetTrait("route"))
 	assert.NotNil(t, env.GetTrait("owner"))
-	assert.NotNil(t, res.GetConfigMap(func(cm *corev1.ConfigMap) bool {
-		return cm.Name == TestProperties
+	assert.Nil(t, res.GetConfigMap(func(cm *corev1.ConfigMap) bool {
+		return cm.Labels["camel.apache.org/properties.type"] != ""
 	}))
 	assert.NotNil(t, res.GetDeployment(func(deployment *appsv1.Deployment) bool {
 		return deployment.Name == TestDeploymentName
@@ -221,6 +220,7 @@ func TestTraitHierarchyDecode(t *testing.T) {
 
 func TestConfigureVolumesAndMounts(t *testing.T) {
 	env := Environment{
+		Resources: kubernetes.NewCollection(),
 		Integration: &v1.Integration{
 			ObjectMeta: metav1.ObjectMeta{
 				Name:      TestDeploymentName,
@@ -260,6 +260,10 @@ func TestConfigureVolumesAndMounts(t *testing.T) {
 				},
 				Configuration: []v1.ConfigurationSpec{
 					{
+						Type:  "property",
+						Value: "a=b",
+					},
+					{
 						Type:  "configmap",
 						Value: "test-configmap",
 					},
@@ -283,19 +287,31 @@ func TestConfigureVolumesAndMounts(t *testing.T) {
 	vols := make([]corev1.Volume, 0)
 	mnts := make([]corev1.VolumeMount, 0)
 
+	env.Resources.AddAll(env.ComputeConfigMaps())
 	env.ConfigureVolumesAndMounts(&vols, &mnts)
 
 	assert.Len(t, vols, 8)
 	assert.Len(t, mnts, 8)
 
-	v := findVolume(vols, func(v corev1.Volume) bool { return v.ConfigMap.Name == "my-cm1" })
+	v := findVolume(vols, func(v corev1.Volume) bool { return v.ConfigMap.Name == "test-user-properties" })
+	assert.NotNil(t, v)
+	assert.NotNil(t, v.VolumeSource.ConfigMap)
+	assert.Len(t, v.VolumeSource.ConfigMap.Items, 1)
+	assert.Equal(t, "application.properties", v.VolumeSource.ConfigMap.Items[0].Key)
+	assert.Equal(t, "user.properties", v.VolumeSource.ConfigMap.Items[0].Path)
+
+	m := findVVolumeMount(mnts, func(m corev1.VolumeMount) bool { return m.Name == v.Name })
+	assert.NotNil(t, m)
+	assert.Equal(t, "/etc/camel/conf.d", m.MountPath)
+
+	v = findVolume(vols, func(v corev1.Volume) bool { return v.ConfigMap.Name == "my-cm1" })
 	assert.NotNil(t, v)
 	assert.NotNil(t, v.VolumeSource.ConfigMap)
 	assert.Len(t, v.VolumeSource.ConfigMap.Items, 1)
 	assert.Equal(t, "my-key1", v.VolumeSource.ConfigMap.Items[0].Key)
 	assert.Equal(t, "res1.txt", v.VolumeSource.ConfigMap.Items[0].Path)
 
-	m := findVVolumeMount(mnts, func(m corev1.VolumeMount) bool { return m.Name == "i-resource-000" })
+	m = findVVolumeMount(mnts, func(m corev1.VolumeMount) bool { return m.Name == "i-resource-000" })
 	assert.NotNil(t, m)
 	assert.Equal(t, "/etc/m1", m.MountPath)
 
diff --git a/pkg/trait/trait_types.go b/pkg/trait/trait_types.go
index 153163c..40045b2 100644
--- a/pkg/trait/trait_types.go
+++ b/pkg/trait/trait_types.go
@@ -193,21 +193,22 @@ type ControllerStrategySelector interface {
 
 // A Environment provides the context where the trait is executed
 type Environment struct {
-	CamelCatalog     *camel.RuntimeCatalog
-	RuntimeVersion   string
-	Catalog          *Catalog
-	C                context.Context
-	Client           client.Client
-	Platform         *v1.IntegrationPlatform
-	IntegrationKit   *v1.IntegrationKit
-	Integration      *v1.Integration
-	Resources        *kubernetes.Collection
-	PostActions      []func(*Environment) error
-	PostProcessors   []func(*Environment) error
-	BuildTasks       []v1.Task
-	ConfiguredTraits []Trait
-	ExecutedTraits   []Trait
-	EnvVars          []corev1.EnvVar
+	CamelCatalog          *camel.RuntimeCatalog
+	RuntimeVersion        string
+	Catalog               *Catalog
+	C                     context.Context
+	Client                client.Client
+	Platform              *v1.IntegrationPlatform
+	IntegrationKit        *v1.IntegrationKit
+	Integration           *v1.Integration
+	Resources             *kubernetes.Collection
+	PostActions           []func(*Environment) error
+	PostProcessors        []func(*Environment) error
+	BuildTasks            []v1.Task
+	ConfiguredTraits      []Trait
+	ExecutedTraits        []Trait
+	EnvVars               []corev1.EnvVar
+	ApplicationProperties map[string]string
 }
 
 // ControllerStrategy is used to determine the kind of controller that needs to be created for the integration
@@ -339,33 +340,66 @@ func (e *Environment) ComputeConfigMaps() []runtime.Object {
 	sources := e.Integration.Sources()
 	maps := make([]runtime.Object, 0, len(sources)+1)
 
+	// application properties
+	applicationProperties := ""
+
+	for key, val := range e.ApplicationProperties {
+		applicationProperties += fmt.Sprintf("%s=%s\n", key, val)
+	}
+
+	if applicationProperties != "" {
+		maps = append(
+			maps,
+			&corev1.ConfigMap{
+				TypeMeta: metav1.TypeMeta{
+					Kind:       "ConfigMap",
+					APIVersion: "v1",
+				},
+				ObjectMeta: metav1.ObjectMeta{
+					Name:      e.Integration.Name + "-application-properties",
+					Namespace: e.Integration.Namespace,
+					Labels: map[string]string{
+						"camel.apache.org/integration":     e.Integration.Name,
+						"camel.apache.org/properties.type": "application",
+					},
+				},
+				Data: map[string]string{
+					"application.properties": applicationProperties,
+				},
+			},
+		)
+	}
+
 	// combine properties of integration with kit, integration
 	// properties have the priority
-	properties := ""
+	userProperties := ""
 
 	for key, val := range e.CollectConfigurationPairs("property") {
-		properties += fmt.Sprintf("%s=%s\n", key, val)
+		userProperties += fmt.Sprintf("%s=%s\n", key, val)
 	}
 
-	maps = append(
-		maps,
-		&corev1.ConfigMap{
-			TypeMeta: metav1.TypeMeta{
-				Kind:       "ConfigMap",
-				APIVersion: "v1",
-			},
-			ObjectMeta: metav1.ObjectMeta{
-				Name:      e.Integration.Name + "-properties",
-				Namespace: e.Integration.Namespace,
-				Labels: map[string]string{
-					"camel.apache.org/integration": e.Integration.Name,
+	if userProperties != "" {
+		maps = append(
+			maps,
+			&corev1.ConfigMap{
+				TypeMeta: metav1.TypeMeta{
+					Kind:       "ConfigMap",
+					APIVersion: "v1",
+				},
+				ObjectMeta: metav1.ObjectMeta{
+					Name:      e.Integration.Name + "-user-properties",
+					Namespace: e.Integration.Namespace,
+					Labels: map[string]string{
+						"camel.apache.org/integration":     e.Integration.Name,
+						"camel.apache.org/properties.type": "user",
+					},
+				},
+				Data: map[string]string{
+					"application.properties": userProperties,
 				},
 			},
-			Data: map[string]string{
-				"application.properties": properties,
-			},
-		},
-	)
+		)
+	}
 
 	for i, s := range sources {
 		if s.ContentRef != "" {
@@ -554,31 +588,43 @@ func (e *Environment) ConfigureVolumesAndMounts(vols *[]corev1.Volume, mnts *[]c
 		})
 	}
 
-	//
-	// Volumes :: Properties
-	//
-
-	*vols = append(*vols, corev1.Volume{
-		Name: "integration-properties",
-		VolumeSource: corev1.VolumeSource{
-			ConfigMap: &corev1.ConfigMapVolumeSource{
-				LocalObjectReference: corev1.LocalObjectReference{
-					Name: e.Integration.Name + "-properties",
-				},
-				Items: []corev1.KeyToPath{
-					{
-						Key:  "application.properties",
-						Path: "application.properties",
+	if e.Resources != nil {
+		e.Resources.VisitConfigMap(func(configMap *corev1.ConfigMap) {
+			var propertiesType string
+			var mountPath string
+
+			switch propertiesType = configMap.Labels["camel.apache.org/properties.type"]; propertiesType {
+			case "application":
+				mountPath = ConfPath
+			case "user":
+				mountPath = ConfdPath
+			}
+
+			if propertiesType != "" {
+				*vols = append(*vols, corev1.Volume{
+					Name: propertiesType + "-properties",
+					VolumeSource: corev1.VolumeSource{
+						ConfigMap: &corev1.ConfigMapVolumeSource{
+							LocalObjectReference: corev1.LocalObjectReference{
+								Name: configMap.Name,
+							},
+							Items: []corev1.KeyToPath{
+								{
+									Key:  "application.properties",
+									Path: propertiesType + ".properties",
+								},
+							},
+						},
 					},
-				},
-			},
-		},
-	})
+				})
 
-	*mnts = append(*mnts, corev1.VolumeMount{
-		Name:      "integration-properties",
-		MountPath: ConfPath,
-	})
+				*mnts = append(*mnts, corev1.VolumeMount{
+					Name:      propertiesType + "-properties",
+					MountPath: mountPath,
+				})
+			}
+		})
+	}
 
 	//
 	// Volumes :: Additional ConfigMaps
diff --git a/pkg/util/defaults/defaults.go b/pkg/util/defaults/defaults.go
index d722404..55768ad 100644
--- a/pkg/util/defaults/defaults.go
+++ b/pkg/util/defaults/defaults.go
@@ -26,7 +26,7 @@ const (
 	Version = "1.0.0-SNAPSHOT"
 
 	// DefaultRuntimeVersion --
-	DefaultRuntimeVersion = "1.1.1-SNAPSHOT"
+	DefaultRuntimeVersion = "1.2.0-SNAPSHOT"
 
 	// BuildahVersion --
 	BuildahVersion = "1.14.0"
diff --git a/script/Makefile b/script/Makefile
index db86084..856dc53 100644
--- a/script/Makefile
+++ b/script/Makefile
@@ -16,7 +16,7 @@
 VERSIONFILE := pkg/util/defaults/defaults.go
 VERSION := 1.0.0-SNAPSHOT
 LAST_RELEASED_VERSION := 1.0.0-RC2
-RUNTIME_VERSION := 1.1.1-SNAPSHOT
+RUNTIME_VERSION := 1.2.0-SNAPSHOT
 BUILDAH_VERSION := 1.14.0
 KANIKO_VERSION := 0.17.1
 BASE_IMAGE := adoptopenjdk/openjdk8:slim


[camel-k] 06/09: chore: remove leftovers

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 0634b02a70633b087c2597c1908dd23cd2a6e108
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Mon Mar 9 19:00:50 2020 +0100

    chore: remove leftovers
---
 build/maven/pom-runtime.xml | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/build/maven/pom-runtime.xml b/build/maven/pom-runtime.xml
index 10698a1..0241670 100644
--- a/build/maven/pom-runtime.xml
+++ b/build/maven/pom-runtime.xml
@@ -123,17 +123,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-quarkus-loader-knative</artifactId>
-            <version>${runtime.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.oracle.substratevm</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
             <artifactId>camel-k-quarkus-loader-xml</artifactId>
             <version>${runtime.version}</version>
             <exclusions>


[camel-k] 03/09: Add some sugar to rest APIs #1316 (small cleanup)

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 0c6b43c92cc6fd46d9c275764d9455eceb9e6405
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Mon Mar 9 13:15:50 2020 +0100

    Add some sugar to rest APIs #1316 (small cleanup)
---
 pkg/trait/openapi.go | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/pkg/trait/openapi.go b/pkg/trait/openapi.go
index 93955c7..53cf20a 100644
--- a/pkg/trait/openapi.go
+++ b/pkg/trait/openapi.go
@@ -40,6 +40,15 @@ import (
 	"github.com/apache/camel-k/pkg/util/maven"
 )
 
+// OpenAPITraitName ---
+const OpenAPITraitName = "openapi"
+
+// CamelRestPortProperty ---
+const CamelRestPortProperty = "camel.rest.port"
+
+// CamelRestDefaultPort ---
+const CamelRestDefaultPort = "8080"
+
 // The OpenAPI DSL trait is internally used to allow creating integrations from a OpenAPI specs.
 //
 // +camel-k:trait=openapi
@@ -49,7 +58,7 @@ type openAPITrait struct {
 
 func newOpenAPITrait() Trait {
 	return &openAPITrait{
-		BaseTrait: NewBaseTrait("openapi", 300),
+		BaseTrait: NewBaseTrait(OpenAPITraitName, 300),
 	}
 }
 
@@ -96,7 +105,7 @@ func (t *openAPITrait) Apply(e *Environment) error {
 	}
 
 	if e.IntegrationInPhase(v1.IntegrationPhaseDeploying, v1.IntegrationPhaseRunning) {
-		e.ApplicationProperties["camel.rest.port"] = "8080"
+		e.ApplicationProperties[CamelRestPortProperty] = CamelRestDefaultPort
 		return nil
 	}
 


[camel-k] 02/09: Rename rest-dsl trait to openapi #1317

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 395c3c487421a6c741a3c05548ac3dc6f4db6afd
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Mon Mar 9 11:20:21 2020 +0100

    Rename rest-dsl trait to openapi #1317
---
 docs/modules/ROOT/nav.adoc                         |  2 +-
 .../pages/traits/{rest-dsl.adoc => openapi.adoc}   |  4 +--
 docs/modules/ROOT/pages/traits/traits.adoc         |  2 +-
 pkg/trait/{rest-dsl.go => openapi.go}              | 30 +++++++++++-----------
 pkg/trait/{rest-dsl_test.go => openapi_test.go}    |  6 ++---
 pkg/trait/trait_register.go                        |  2 +-
 pkg/trait/trait_test.go                            |  2 +-
 7 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index ab5709c..efbf12e 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -39,7 +39,7 @@
 ** xref:traits/prometheus.adoc[Prometheus]
 ** xref:traits/pull-secret.adoc[Pull Secret]
 ** xref:traits/quarkus.adoc[Quarkus]
-** xref:traits/rest-dsl.adoc[Rest Dsl]
+** xref:traits/openapi.adoc[Rest Dsl]
 ** xref:traits/route.adoc[Route]
 ** xref:traits/service.adoc[Service]
 // End of autogenerated code - DO NOT EDIT! (trait-nav)
diff --git a/docs/modules/ROOT/pages/traits/rest-dsl.adoc b/docs/modules/ROOT/pages/traits/openapi.adoc
similarity index 82%
rename from docs/modules/ROOT/pages/traits/rest-dsl.adoc
rename to docs/modules/ROOT/pages/traits/openapi.adoc
index fad21da..e3fe189 100755
--- a/docs/modules/ROOT/pages/traits/rest-dsl.adoc
+++ b/docs/modules/ROOT/pages/traits/openapi.adoc
@@ -6,7 +6,7 @@ The Rest DSL trait is internally used to allow creating integrations from a Open
 
 This trait is available in the following profiles: **Kubernetes, Knative, OpenShift**.
 
-WARNING: The rest-dsl trait is a *platform trait*: disabling it may compromise the platform functionality.
+WARNING: The openapi trait is a *platform trait*: disabling it may compromise the platform functionality.
 
 // End of autogenerated code - DO NOT EDIT! (description)
 // Start of autogenerated code - DO NOT EDIT! (configuration)
@@ -14,7 +14,7 @@ WARNING: The rest-dsl trait is a *platform trait*: disabling it may compromise t
 
 Trait properties can be specified when running any integration with the CLI:
 ```
-kamel run --trait rest-dsl.[key]=[value] integration.groovy
+kamel run --trait openapi.[key]=[value] integration.groovy
 ```
 The following configuration options are available:
 
diff --git a/docs/modules/ROOT/pages/traits/traits.adoc b/docs/modules/ROOT/pages/traits/traits.adoc
index 476b19d..8109aea 100644
--- a/docs/modules/ROOT/pages/traits/traits.adoc
+++ b/docs/modules/ROOT/pages/traits/traits.adoc
@@ -57,7 +57,7 @@ See the trait description pages for more information on a specific trait:
 * xref:traits/prometheus.adoc[Prometheus Trait]
 * xref:traits/pull-secret.adoc[Pull Secret Trait]
 * xref:traits/quarkus.adoc[Quarkus Trait]
-* xref:traits/rest-dsl.adoc[Rest Dsl Trait]
+* xref:traits/openapi.adoc[Rest Dsl Trait]
 * xref:traits/route.adoc[Route Trait]
 * xref:traits/service.adoc[Service Trait]
 // End of autogenerated code - DO NOT EDIT! (trait-list)
diff --git a/pkg/trait/rest-dsl.go b/pkg/trait/openapi.go
similarity index 91%
rename from pkg/trait/rest-dsl.go
rename to pkg/trait/openapi.go
index 0d18945..93955c7 100644
--- a/pkg/trait/rest-dsl.go
+++ b/pkg/trait/openapi.go
@@ -28,37 +28,37 @@ import (
 	"strconv"
 	"strings"
 
-	"github.com/apache/camel-k/pkg/util"
-
 	corev1 "k8s.io/api/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+
+	"github.com/apache/camel-k/pkg/util"
 	"github.com/apache/camel-k/pkg/util/defaults"
 	"github.com/apache/camel-k/pkg/util/gzip"
 	"github.com/apache/camel-k/pkg/util/kubernetes"
 	"github.com/apache/camel-k/pkg/util/maven"
 )
 
-// The Rest DSL trait is internally used to allow creating integrations from a OpenAPI specs.
+// The OpenAPI DSL trait is internally used to allow creating integrations from a OpenAPI specs.
 //
-// +camel-k:trait=rest-dsl
-type restDslTrait struct {
+// +camel-k:trait=openapi
+type openAPITrait struct {
 	BaseTrait `property:",squash"`
 }
 
-func newRestDslTrait() Trait {
-	return &restDslTrait{
-		BaseTrait: NewBaseTrait("rest-dsl", 300),
+func newOpenAPITrait() Trait {
+	return &openAPITrait{
+		BaseTrait: NewBaseTrait("openapi", 300),
 	}
 }
 
 // IsPlatformTrait overrides base class method
-func (t *restDslTrait) IsPlatformTrait() bool {
+func (t *openAPITrait) IsPlatformTrait() bool {
 	return true
 }
 
-func (t *restDslTrait) Configure(e *Environment) (bool, error) {
+func (t *openAPITrait) Configure(e *Environment) (bool, error) {
 	if t.Enabled != nil && !*t.Enabled {
 		return false, nil
 	}
@@ -85,7 +85,7 @@ func (t *restDslTrait) Configure(e *Environment) (bool, error) {
 	return false, nil
 }
 
-func (t *restDslTrait) Apply(e *Environment) error {
+func (t *openAPITrait) Apply(e *Environment) error {
 	if len(e.Integration.Spec.Resources) == 0 {
 		return nil
 	}
@@ -103,9 +103,9 @@ func (t *restDslTrait) Apply(e *Environment) error {
 	return nil
 }
 
-func (t *restDslTrait) generateRestDSL(e *Environment) error {
+func (t *openAPITrait) generateRestDSL(e *Environment) error {
 	root := os.TempDir()
-	tmpDir, err := ioutil.TempDir(root, "rest-dsl")
+	tmpDir, err := ioutil.TempDir(root, "openapi")
 	if err != nil {
 		return err
 	}
@@ -242,7 +242,7 @@ func (t *restDslTrait) generateRestDSL(e *Environment) error {
 	return nil
 }
 
-func (t *restDslTrait) generateMavenProject(e *Environment) (maven.Project, error) {
+func (t *openAPITrait) generateMavenProject(e *Environment) (maven.Project, error) {
 	if e.CamelCatalog == nil {
 		return maven.Project{}, errors.New("unknown camel catalog")
 	}
@@ -270,7 +270,7 @@ func (t *restDslTrait) generateMavenProject(e *Environment) (maven.Project, erro
 	return p, nil
 }
 
-func (t *restDslTrait) computeDependencies(e *Environment) {
+func (t *openAPITrait) computeDependencies(e *Environment) {
 	// check if the runtime provides 'rest' capabilities
 	if capability, ok := e.CamelCatalog.Runtime.Capabilities["rest"]; ok {
 		for _, dependency := range capability.Dependencies {
diff --git a/pkg/trait/rest-dsl_test.go b/pkg/trait/openapi_test.go
similarity index 96%
rename from pkg/trait/rest-dsl_test.go
rename to pkg/trait/openapi_test.go
index 4f71ebb..791fbc5 100644
--- a/pkg/trait/rest-dsl_test.go
+++ b/pkg/trait/openapi_test.go
@@ -35,7 +35,7 @@ func TestRestDslTraitApplicability(t *testing.T) {
 		CamelCatalog: catalog,
 	}
 
-	trait := newRestDslTrait()
+	trait := newOpenAPITrait()
 	enabled, err := trait.Configure(e)
 	assert.Nil(t, err)
 	assert.False(t, enabled)
@@ -81,7 +81,7 @@ func TestRestDslTraitDeps(t *testing.T) {
 		},
 	}
 
-	trait := newRestDslTrait().(*restDslTrait)
+	trait := newOpenAPITrait().(*openAPITrait)
 	trait.computeDependencies(e)
 
 	assert.Contains(t, e.Integration.Status.Dependencies, "mvn:org.apache.camel/camel-rest")
@@ -106,7 +106,7 @@ func TestRestDslTraitDepsQuarkus(t *testing.T) {
 		},
 	}
 
-	trait := newRestDslTrait().(*restDslTrait)
+	trait := newOpenAPITrait().(*openAPITrait)
 	trait.computeDependencies(e)
 
 	assert.Contains(t, e.Integration.Status.Dependencies, "mvn:org.apache.camel.quarkus/camel-quarkus-rest")
diff --git a/pkg/trait/trait_register.go b/pkg/trait/trait_register.go
index 61bf7b1..27ea26d 100644
--- a/pkg/trait/trait_register.go
+++ b/pkg/trait/trait_register.go
@@ -22,7 +22,7 @@ func init() {
 	// Declaration order is not important, but let's keep them sorted for debugging.
 	AddToTraits(newPlatformTrait)
 	AddToTraits(newCamelTrait)
-	AddToTraits(newRestDslTrait)
+	AddToTraits(newOpenAPITrait)
 	AddToTraits(newKnativeTrait)
 	AddToTraits(newDependenciesTrait)
 	AddToTraits(newBuilderTrait)
diff --git a/pkg/trait/trait_test.go b/pkg/trait/trait_test.go
index 4ffe2f0..46e80db 100644
--- a/pkg/trait/trait_test.go
+++ b/pkg/trait/trait_test.go
@@ -393,7 +393,7 @@ func TestOnlySomeTraitsInfluenceBuild(t *testing.T) {
 
 func TestOnlySomeTraitsArePlatform(t *testing.T) {
 	c := NewTraitTestCatalog()
-	platformTraits := []string{"builder", "camel", "jvm", "container", "dependencies", "deployer", "deployment", "environment", "rest-dsl", "owner", "platform"}
+	platformTraits := []string{"builder", "camel", "jvm", "container", "dependencies", "deployer", "deployment", "environment", "openapi", "owner", "platform"}
 
 	for _, trait := range c.allTraits() {
 		if trait.IsPlatformTrait() {


[camel-k] 09/09: Fix e2e tests for openapi (take 2)

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 84d51d6eea8ea5b7a8c57fc867a7803c249a1a46
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Tue Mar 10 11:11:07 2020 +0100

    Fix e2e tests for openapi (take 2)
---
 e2e/openapi_test.go |  2 --
 e2e/test_support.go | 13 +++++++------
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/e2e/openapi_test.go b/e2e/openapi_test.go
index 0abdf0d..e4fb0c0 100644
--- a/e2e/openapi_test.go
+++ b/e2e/openapi_test.go
@@ -41,8 +41,6 @@ func TestOpenAPIService(t *testing.T) {
 			"files/petstore.groovy",
 		).Execute()).Should(BeNil())
 
-		Eventually(integrationPodPhase(ns, "petstore"), testTimeoutLong).
-			Should(Equal(corev1.PodRunning))
 		Eventually(knativeService(ns, "petstore"), testTimeoutLong).
 			Should(Not(BeNil()))
 
diff --git a/e2e/test_support.go b/e2e/test_support.go
index 5dc29e5..4394a65 100644
--- a/e2e/test_support.go
+++ b/e2e/test_support.go
@@ -82,6 +82,7 @@ func init() {
 	client.FastMapperAllowedAPIGroups["project.openshift.io"] = true
 	client.FastMapperAllowedAPIGroups["eventing.knative.dev"] = true
 	client.FastMapperAllowedAPIGroups["messaging.knative.dev"] = true
+	client.FastMapperAllowedAPIGroups["serving.knative.dev"] = true
 
 	var err error
 	testContext = context.TODO()
@@ -472,7 +473,7 @@ func configmap(ns string, name string) func() *corev1.ConfigMap {
 
 func knativeService(ns string, name string) func() *servingv1.Service {
 	return func() *servingv1.Service {
-		cm := servingv1.Service{
+		answer := servingv1.Service{
 			TypeMeta: metav1.TypeMeta{
 				Kind:       "Service",
 				APIVersion: servingv1.SchemeGroupVersion.String(),
@@ -486,19 +487,19 @@ func knativeService(ns string, name string) func() *servingv1.Service {
 			Namespace: ns,
 			Name:      name,
 		}
-		if err := testClient.Get(testContext, key, &cm); err != nil && k8serrors.IsNotFound(err) {
+		if err := testClient.Get(testContext, key, &answer); err != nil && k8serrors.IsNotFound(err) {
 			return nil
 		} else if err != nil {
 			log.Errorf(err, "Error while retrieving knative service %s", name)
 			return nil
 		}
-		return &cm
+		return &answer
 	}
 }
 
 func deployment(ns string, name string) func() *appsv1.Deployment {
 	return func() *appsv1.Deployment {
-		cm := appsv1.Deployment{
+		answer := appsv1.Deployment{
 			TypeMeta: metav1.TypeMeta{
 				Kind:       "Deployment",
 				APIVersion: appsv1.SchemeGroupVersion.String(),
@@ -512,13 +513,13 @@ func deployment(ns string, name string) func() *appsv1.Deployment {
 			Namespace: ns,
 			Name:      name,
 		}
-		if err := testClient.Get(testContext, key, &cm); err != nil && k8serrors.IsNotFound(err) {
+		if err := testClient.Get(testContext, key, &answer); err != nil && k8serrors.IsNotFound(err) {
 			return nil
 		} else if err != nil {
 			log.Errorf(err, "Error while retrieving deployment %s", name)
 			return nil
 		}
-		return &cm
+		return &answer
 	}
 }