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

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

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