This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-k.git
The following commit(s) were added to refs/heads/master by this push: new 0fd5181 Use Quarkus fast-jar package format apache/camel-k-runtime#360 0fd5181 is described below commit 0fd5181c8f7401cedaa3b4c9a11e2d80cddf2bba Author: James Netherton <jamesnether...@gmail.com> AuthorDate: Tue Mar 2 10:12:24 2021 +0000 Use Quarkus fast-jar package format apache/camel-k-runtime#360 --- build/maven/pom-runtime.xml | 40 + deploy/camel-catalog-1.7.0-SNAPSHOT.yaml | 3008 ++++++++++++++++++++++++++++++ e2e/common/traits/prometheus_test.go | 2 +- e2e/knative/openapi_test.go | 12 +- go.mod | 2 +- go.sum | 2 + pkg/builder/runtime/quarkus.go | 99 +- pkg/builder/spectrum/publisher.go | 1 + pkg/cmd/local_run.go | 2 +- pkg/cmd/util_commands.go | 4 +- pkg/cmd/util_dependencies.go | 18 +- pkg/resources/resources.go | 8 + pkg/trait/jolokia.go | 2 +- pkg/trait/jolokia_test.go | 6 +- pkg/trait/jvm_test.go | 4 +- pkg/trait/prometheus.go | 1 + pkg/trait/prometheus_test.go | 1 + pkg/util/defaults/defaults.go | 2 +- pkg/util/docker/docker.go | 15 +- pkg/util/util.go | 12 + script/Makefile | 2 +- 21 files changed, 3141 insertions(+), 102 deletions(-) diff --git a/build/maven/pom-runtime.xml b/build/maven/pom-runtime.xml index a38ead5..06a728d 100644 --- a/build/maven/pom-runtime.xml +++ b/build/maven/pom-runtime.xml @@ -60,6 +60,26 @@ </dependency> <dependency> <groupId>org.apache.camel.k</groupId> + <artifactId>camel-k-knative-consumer</artifactId> + <version>${runtime.version}</version> + </dependency> + <dependency> + <groupId>org.apache.camel.k</groupId> + <artifactId>camel-k-knative-consumer-deployment</artifactId> + <version>${runtime.version}</version> + </dependency> + <dependency> + <groupId>org.apache.camel.k</groupId> + <artifactId>camel-k-knative-producer</artifactId> + <version>${runtime.version}</version> + </dependency> + <dependency> + <groupId>org.apache.camel.k</groupId> + <artifactId>camel-k-knative-producer-deployment</artifactId> + <version>${runtime.version}</version> + </dependency> + <dependency> + <groupId>org.apache.camel.k</groupId> <artifactId>camel-knative-http</artifactId> <version>${runtime.version}</version> </dependency> @@ -70,19 +90,39 @@ </dependency> <dependency> <groupId>org.apache.camel.k</groupId> + <artifactId>camel-k-core-deployment</artifactId> + <version>${runtime.version}</version> + </dependency> + <dependency> + <groupId>org.apache.camel.k</groupId> <artifactId>camel-k-knative</artifactId> <version>${runtime.version}</version> </dependency> <dependency> <groupId>org.apache.camel.k</groupId> + <artifactId>camel-k-knative-deployment</artifactId> + <version>${runtime.version}</version> + </dependency> + <dependency> + <groupId>org.apache.camel.k</groupId> <artifactId>camel-k-master</artifactId> <version>${runtime.version}</version> </dependency> <dependency> <groupId>org.apache.camel.k</groupId> + <artifactId>camel-k-master-deployment</artifactId> + <version>${runtime.version}</version> + </dependency> + <dependency> + <groupId>org.apache.camel.k</groupId> <artifactId>camel-k-cron</artifactId> <version>${runtime.version}</version> </dependency> + <dependency> + <groupId>org.apache.camel.k</groupId> + <artifactId>camel-k-cron-deployment</artifactId> + <version>${runtime.version}</version> + </dependency> <!-- loaders --> <dependency> diff --git a/deploy/camel-catalog-1.7.0-SNAPSHOT.yaml b/deploy/camel-catalog-1.7.0-SNAPSHOT.yaml new file mode 100644 index 0000000..492c513 --- /dev/null +++ b/deploy/camel-catalog-1.7.0-SNAPSHOT.yaml @@ -0,0 +1,3008 @@ +# --------------------------------------------------------------------------- +# 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.7.0-snapshot + labels: + app: camel-k + camel.apache.org/catalog.loader.version: 3.8.0 + camel.apache.org/catalog.version: 3.8.0 + camel.apache.org/runtime.version: 1.7.0-SNAPSHOT +spec: + runtime: + version: 1.7.0-SNAPSHOT + provider: quarkus + applicationClass: io.quarkus.bootstrap.runner.QuarkusEntryPoint + metadata: + camel-quarkus.version: 1.7.0 + camel.version: 3.8.0 + quarkus.version: 1.12.0.Final + dependencies: + - groupId: org.apache.camel.k + artifactId: camel-k-runtime + capabilities: + circuit-breaker: + dependencies: + - groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-microprofile-fault-tolerance + cron: + dependencies: + - groupId: org.apache.camel.k + artifactId: camel-k-cron + health: + dependencies: + - groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-microprofile-health + master: + dependencies: + - groupId: org.apache.camel.k + artifactId: camel-k-master + platform-http: + dependencies: + - groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-platform-http + rest: + dependencies: + - groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-platform-http + - groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-rest + tracing: + dependencies: + - groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-opentracing + artifacts: + camel-k-cron: + groupId: org.apache.camel.k + artifactId: camel-k-cron + camel-k-kamelet-reify: + groupId: org.apache.camel.k + artifactId: camel-k-kamelet-reify + schemes: + - id: kamelet-reify + http: false + passive: false + camel-k-knative: + groupId: org.apache.camel.k + artifactId: camel-k-knative + schemes: + - id: knative + http: true + passive: false + producer: + dependencies: + - groupId: org.apache.camel.k + artifactId: camel-k-knative-producer + consumer: + dependencies: + - groupId: org.apache.camel.k + artifactId: camel-k-knative-consumer + camel-k-master: + groupId: org.apache.camel.k + artifactId: camel-k-master + camel-k-webhook: + groupId: org.apache.camel.k + artifactId: camel-k-webhook + camel-quarkus-activemq: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-activemq + schemes: + - id: activemq + http: false + passive: false + javaTypes: + - org.apache.camel.component.activemq.ActiveMQComponent + 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-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-amqp: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-amqp + schemes: + - id: amqp + http: false + passive: false + javaTypes: + - org.apache.camel.component.amqp.AMQPComponent + camel-quarkus-apns: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-apns + schemes: + - id: apns + http: false + passive: false + javaTypes: + - org.apache.camel.component.apns.ApnsComponent + camel-quarkus-arangodb: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-arangodb + schemes: + - id: arangodb + http: false + passive: false + javaTypes: + - org.apache.camel.component.arangodb.ArangoDbComponent + camel-quarkus-as2: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-as2 + schemes: + - id: as2 + http: false + passive: false + javaTypes: + - org.apache.camel.component.as2.AS2Component + camel-quarkus-asn1: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-asn1 + dataformats: + - asn1 + javaTypes: + - org.apache.camel.dataformat.asn1.ASN1DataFormat + camel-quarkus-asterisk: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-asterisk + schemes: + - id: asterisk + http: false + passive: false + javaTypes: + - org.apache.camel.component.asterisk.AsteriskComponent + camel-quarkus-atlasmap: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-atlasmap + schemes: + - id: atlasmap + http: false + passive: false + javaTypes: + - org.apache.camel.component.atlasmap.AtlasMapComponent + camel-quarkus-atmos: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-atmos + schemes: + - id: atmos + http: false + passive: false + javaTypes: + - org.apache.camel.component.atmos.AtmosComponent + camel-quarkus-atom: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-atom + schemes: + - id: atom + http: false + passive: false + javaTypes: + - org.apache.camel.component.atom.AtomComponent + camel-quarkus-atomix: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-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-quarkus-avro: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-avro + dataformats: + - avro + javaTypes: + - org.apache.camel.dataformat.avro.AvroDataFormat + camel-quarkus-avro-rpc: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-avro-rpc + schemes: + - id: avro + http: false + passive: false + javaTypes: + - org.apache.camel.component.avro.AvroComponent + 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-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-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-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-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.firehose.KinesisFirehoseComponent + - org.apache.camel.component.aws.kinesis.KinesisComponent + 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-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-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-aws-sdb: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws-sdb + schemes: + - id: aws-sdb + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws.sdb.SdbComponent + 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-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-swf: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws-swf + schemes: + - id: aws-swf + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws.swf.SWFComponent + 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-aws2-athena: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-athena + schemes: + - id: aws2-athena + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.athena.Athena2Component + camel-quarkus-aws2-cw: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-cw + schemes: + - id: aws2-cw + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.cw.Cw2Component + camel-quarkus-aws2-ddb: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-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-quarkus-aws2-ec2: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-ec2 + schemes: + - id: aws2-ec2 + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.ec2.AWS2EC2Component + camel-quarkus-aws2-ecs: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-ecs + schemes: + - id: aws2-ecs + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.ecs.ECS2Component + camel-quarkus-aws2-eks: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-eks + schemes: + - id: aws2-eks + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.eks.EKS2Component + camel-quarkus-aws2-eventbridge: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-eventbridge + schemes: + - id: aws2-eventbridge + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.eventbridge.EventbridgeComponent + camel-quarkus-aws2-iam: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-iam + schemes: + - id: aws2-iam + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.iam.IAM2Component + camel-quarkus-aws2-kinesis: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-kinesis + schemes: + - id: aws2-kinesis + http: false + passive: false + - id: aws2-kinesis-firehose + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.firehose.KinesisFirehose2Component + - org.apache.camel.component.aws2.kinesis.Kinesis2Component + camel-quarkus-aws2-kms: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-kms + schemes: + - id: aws2-kms + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.kms.KMS2Component + camel-quarkus-aws2-lambda: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-lambda + schemes: + - id: aws2-lambda + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.lambda.Lambda2Component + camel-quarkus-aws2-mq: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-mq + schemes: + - id: aws2-mq + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.mq.MQ2Component + camel-quarkus-aws2-msk: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-msk + schemes: + - id: aws2-msk + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.msk.MSK2Component + camel-quarkus-aws2-s3: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-s3 + schemes: + - id: aws2-s3 + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.s3.AWS2S3Component + camel-quarkus-aws2-ses: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-ses + schemes: + - id: aws2-ses + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.ses.Ses2Component + camel-quarkus-aws2-sns: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-sns + schemes: + - id: aws2-sns + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.sns.Sns2Component + camel-quarkus-aws2-sqs: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-sqs + schemes: + - id: aws2-sqs + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.sqs.Sqs2Component + camel-quarkus-aws2-sts: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-sts + schemes: + - id: aws2-sts + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.sts.STS2Component + camel-quarkus-aws2-translate: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-aws2-translate + schemes: + - id: aws2-translate + http: false + passive: false + javaTypes: + - org.apache.camel.component.aws2.translate.Translate2Component + 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-azure-eventhubs: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-azure-eventhubs + schemes: + - id: azure-eventhubs + http: false + passive: false + javaTypes: + - org.apache.camel.component.azure.eventhubs.EventHubsComponent + camel-quarkus-azure-storage-blob: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-azure-storage-blob + schemes: + - id: azure-storage-blob + http: false + passive: false + javaTypes: + - org.apache.camel.component.azure.storage.blob.BlobComponent + camel-quarkus-azure-storage-queue: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-azure-storage-queue + schemes: + - id: azure-storage-queue + http: false + passive: false + javaTypes: + - org.apache.camel.component.azure.storage.queue.QueueComponent + camel-quarkus-barcode: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-barcode + dataformats: + - barcode + javaTypes: + - org.apache.camel.dataformat.barcode.BarcodeDataFormat + camel-quarkus-base64: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-base64 + dataformats: + - base64 + javaTypes: + - org.apache.camel.dataformat.base64.Base64DataFormat + 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-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-beanio: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-beanio + dataformats: + - beanio + javaTypes: + - org.apache.camel.dataformat.beanio.BeanIODataFormat + camel-quarkus-beanstalk: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-beanstalk + schemes: + - id: beanstalk + http: false + passive: false + javaTypes: + - org.apache.camel.component.beanstalk.BeanstalkComponent + 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-bonita: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-bonita + schemes: + - id: bonita + http: false + passive: false + javaTypes: + - org.apache.camel.component.bonita.BonitaComponent + camel-quarkus-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-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-browse: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-browse + schemes: + - id: browse + http: false + passive: true + javaTypes: + - org.apache.camel.component.browse.BrowseComponent + camel-quarkus-caffeine: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-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-quarkus-cassandraql: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-cassandraql + schemes: + - id: cql + http: false + passive: false + javaTypes: + - org.apache.camel.component.cassandra.CassandraComponent + camel-quarkus-cbor: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-cbor + dataformats: + - cbor + javaTypes: + - org.apache.camel.component.cbor.CBORDataFormat + camel-quarkus-chatscript: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-chatscript + schemes: + - id: chatscript + http: false + passive: false + javaTypes: + - org.apache.camel.component.chatscript.ChatScriptComponent + camel-quarkus-chunk: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-chunk + schemes: + - id: chunk + http: false + passive: false + javaTypes: + - org.apache.camel.component.chunk.ChunkComponent + camel-quarkus-cm-sms: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-cm-sms + schemes: + - id: cm-sms + http: false + passive: false + javaTypes: + - org.apache.camel.component.cm.CMComponent + camel-quarkus-cmis: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-cmis + schemes: + - id: cmis + http: false + passive: false + javaTypes: + - org.apache.camel.component.cmis.CMISComponent + camel-quarkus-coap: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-coap + schemes: + - id: coap + http: false + passive: false + - id: coap+tcp + http: false + passive: false + - id: coaps + http: false + passive: false + - id: coaps+tcp + http: false + passive: false + javaTypes: + - org.apache.camel.coap.CoAPComponent + camel-quarkus-cometd: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-cometd + schemes: + - id: cometd + http: false + passive: false + - id: cometds + http: false + passive: false + javaTypes: + - org.apache.camel.component.cometd.CometdComponent + 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-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-corda: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-corda + schemes: + - id: corda + http: false + passive: false + javaTypes: + - org.apache.camel.component.corda.CordaComponent + 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.header.HeaderLanguage + - org.apache.camel.language.property.ExchangePropertyLanguage + - org.apache.camel.language.ref.RefLanguage + - org.apache.camel.language.simple.FileLanguage + - org.apache.camel.language.simple.SimpleLanguage + - org.apache.camel.language.tokenizer.TokenizeLanguage + camel-quarkus-couchbase: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-couchbase + schemes: + - id: couchbase + http: false + passive: false + javaTypes: + - org.apache.camel.component.couchbase.CouchbaseComponent + camel-quarkus-couchdb: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-couchdb + schemes: + - id: couchdb + http: false + passive: false + javaTypes: + - org.apache.camel.component.couchdb.CouchDbComponent + camel-quarkus-cron: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-cron + schemes: + - id: cron + http: false + passive: false + javaTypes: + - org.apache.camel.component.cron.CronComponent + camel-quarkus-crypto: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-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-quarkus-csimple: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-csimple + languages: + - csimple + javaTypes: + - org.apache.camel.language.csimple.CSimpleLanguage + camel-quarkus-csv: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-csv + dataformats: + - csv + javaTypes: + - org.apache.camel.dataformat.csv.CsvDataFormat + 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-debezium-mongodb: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-debezium-mongodb + schemes: + - id: debezium-mongodb + http: false + passive: false + javaTypes: + - org.apache.camel.component.debezium.DebeziumMongodbComponent + camel-quarkus-debezium-mysql: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-debezium-mysql + schemes: + - id: debezium-mysql + http: false + passive: false + javaTypes: + - org.apache.camel.component.debezium.DebeziumMySqlComponent + camel-quarkus-debezium-postgres: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-debezium-postgres + schemes: + - id: debezium-postgres + http: false + passive: false + javaTypes: + - org.apache.camel.component.debezium.DebeziumPostgresComponent + camel-quarkus-debezium-sqlserver: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-debezium-sqlserver + schemes: + - id: debezium-sqlserver + http: false + passive: false + javaTypes: + - org.apache.camel.component.debezium.DebeziumSqlserverComponent + camel-quarkus-digitalocean: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-digitalocean + schemes: + - id: digitalocean + http: false + passive: false + javaTypes: + - org.apache.camel.component.digitalocean.DigitalOceanComponent + 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-disruptor: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-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-quarkus-djl: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-djl + schemes: + - id: djl + http: false + passive: false + javaTypes: + - org.apache.camel.component.djl.DJLComponent + camel-quarkus-dns: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-dns + schemes: + - id: dns + http: false + passive: false + javaTypes: + - org.apache.camel.component.dns.DnsComponent + 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-drill: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-drill + schemes: + - id: drill + http: false + passive: false + javaTypes: + - org.apache.camel.component.drill.DrillComponent + camel-quarkus-dropbox: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-dropbox + schemes: + - id: dropbox + http: false + passive: false + javaTypes: + - org.apache.camel.component.dropbox.DropboxComponent + camel-quarkus-ehcache: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-ehcache + schemes: + - id: ehcache + http: false + passive: false + javaTypes: + - org.apache.camel.component.ehcache.EhcacheComponent + camel-quarkus-elasticsearch-rest: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-elasticsearch-rest + schemes: + - id: elasticsearch-rest + http: false + passive: false + javaTypes: + - org.apache.camel.component.elasticsearch.ElasticsearchComponent + camel-quarkus-elsql: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-elsql + schemes: + - id: elsql + http: false + passive: false + javaTypes: + - org.apache.camel.component.elsql.ElsqlComponent + camel-quarkus-etcd: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-etcd + schemes: + - id: etcd-keys + http: false + passive: false + - id: etcd-stats + http: false + passive: false + - id: etcd-watch + http: false + passive: false + javaTypes: + - org.apache.camel.component.etcd.EtcdKeysComponent + - org.apache.camel.component.etcd.EtcdStatsComponent + - org.apache.camel.component.etcd.EtcdWatchComponent + 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-facebook: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-facebook + schemes: + - id: facebook + http: false + passive: false + javaTypes: + - org.apache.camel.component.facebook.FacebookComponent + camel-quarkus-fastjson: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-fastjson + dataformats: + - json-fastjson + javaTypes: + - org.apache.camel.component.fastjson.FastjsonDataFormat + 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-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-file-watch: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-file-watch + schemes: + - id: file-watch + http: false + passive: false + javaTypes: + - org.apache.camel.component.file.watch.FileWatchComponent + camel-quarkus-flatpack: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-flatpack + schemes: + - id: flatpack + http: false + passive: false + dataformats: + - flatpack + javaTypes: + - org.apache.camel.component.flatpack.FlatpackComponent + - org.apache.camel.dataformat.flatpack.FlatpackDataFormat + camel-quarkus-flink: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-flink + schemes: + - id: flink + http: false + passive: false + javaTypes: + - org.apache.camel.component.flink.FlinkComponent + camel-quarkus-fop: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-fop + schemes: + - id: fop + http: false + passive: false + javaTypes: + - org.apache.camel.component.fop.FopComponent + camel-quarkus-freemarker: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-freemarker + schemes: + - id: freemarker + http: false + passive: false + javaTypes: + - org.apache.camel.component.freemarker.FreemarkerComponent + 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-ganglia: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-ganglia + schemes: + - id: ganglia + http: false + passive: false + javaTypes: + - org.apache.camel.component.ganglia.GangliaComponent + camel-quarkus-geocoder: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-geocoder + schemes: + - id: geocoder + http: false + passive: false + javaTypes: + - org.apache.camel.component.geocoder.GeoCoderComponent + camel-quarkus-git: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-git + schemes: + - id: git + http: false + passive: false + javaTypes: + - org.apache.camel.component.git.GitComponent + camel-quarkus-github: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-github + schemes: + - id: github + http: false + passive: false + javaTypes: + - org.apache.camel.component.github.GitHubComponent + camel-quarkus-google-bigquery: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-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-quarkus-google-calendar: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-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-quarkus-google-drive: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-google-drive + schemes: + - id: google-drive + http: false + passive: false + javaTypes: + - org.apache.camel.component.google.drive.GoogleDriveComponent + camel-quarkus-google-mail: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-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-quarkus-google-pubsub: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-google-pubsub + schemes: + - id: google-pubsub + http: false + passive: false + javaTypes: + - org.apache.camel.component.google.pubsub.GooglePubsubComponent + camel-quarkus-google-sheets: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-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-quarkus-graphql: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-graphql + schemes: + - id: graphql + http: false + passive: false + javaTypes: + - org.apache.camel.component.graphql.GraphqlComponent + camel-quarkus-grok: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-grok + dataformats: + - grok + javaTypes: + - org.apache.camel.component.grok.GrokDataFormat + camel-quarkus-groovy: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-groovy + languages: + - groovy + javaTypes: + - org.apache.camel.language.groovy.GroovyLanguage + camel-quarkus-grpc: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-grpc + schemes: + - id: grpc + http: true + passive: false + javaTypes: + - org.apache.camel.component.grpc.GrpcComponent + camel-quarkus-gson: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-gson + dataformats: + - json-gson + javaTypes: + - org.apache.camel.component.gson.GsonDataFormat + camel-quarkus-guava-eventbus: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-guava-eventbus + schemes: + - id: guava-eventbus + http: false + passive: false + javaTypes: + - org.apache.camel.component.guava.eventbus.GuavaEventBusComponent + camel-quarkus-hazelcast: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-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-quarkus-hbase: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-hbase + schemes: + - id: hbase + http: false + passive: false + javaTypes: + - org.apache.camel.component.hbase.HBaseComponent + camel-quarkus-hdfs: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-hdfs + schemes: + - id: hdfs + http: false + passive: false + javaTypes: + - org.apache.camel.component.hdfs.HdfsComponent + camel-quarkus-hl7: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-hl7 + languages: + - hl7terser + dataformats: + - hl7 + javaTypes: + - org.apache.camel.component.hl7.HL7DataFormat + - org.apache.camel.component.hl7.Hl7TerserLanguage + camel-quarkus-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-ical: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-ical + dataformats: + - ical + javaTypes: + - org.apache.camel.component.ical.ICalDataFormat + camel-quarkus-iec60870: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-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-quarkus-ignite: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-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-quarkus-infinispan: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-infinispan + schemes: + - id: infinispan + http: false + passive: false + javaTypes: + - org.apache.camel.component.infinispan.remote.InfinispanRemoteComponent + camel-quarkus-influxdb: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-influxdb + schemes: + - id: influxdb + http: false + passive: false + javaTypes: + - org.apache.camel.component.influxdb.InfluxDbComponent + camel-quarkus-iota: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-iota + schemes: + - id: iota + http: false + passive: false + javaTypes: + - org.apache.camel.component.iota.IOTAComponent + camel-quarkus-ipfs: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-ipfs + schemes: + - id: ipfs + http: false + passive: false + javaTypes: + - org.apache.camel.component.ipfs.IPFSComponent + camel-quarkus-irc: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-irc + schemes: + - id: irc + http: false + passive: false + javaTypes: + - org.apache.camel.component.irc.IrcComponent + camel-quarkus-jackson: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jackson + dataformats: + - json-jackson + javaTypes: + - org.apache.camel.component.jackson.JacksonDataFormat + camel-quarkus-jacksonxml: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jacksonxml + dataformats: + - jacksonxml + javaTypes: + - org.apache.camel.component.jacksonxml.JacksonXMLDataFormat + camel-quarkus-jaxb: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jaxb + dataformats: + - jaxb + javaTypes: + - org.apache.camel.converter.jaxb.JaxbDataFormat + camel-quarkus-jbpm: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jbpm + schemes: + - id: jbpm + http: false + passive: false + javaTypes: + - org.apache.camel.component.jbpm.JBPMComponent + camel-quarkus-jcache: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jcache + schemes: + - id: jcache + http: false + passive: false + javaTypes: + - org.apache.camel.component.jcache.JCacheComponent + camel-quarkus-jclouds: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jclouds + schemes: + - id: jclouds + http: false + passive: false + javaTypes: + - org.apache.camel.component.jclouds.JcloudsComponent + camel-quarkus-jcr: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jcr + schemes: + - id: jcr + http: false + passive: false + javaTypes: + - org.apache.camel.component.jcr.JcrComponent + 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-jgroups: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jgroups + schemes: + - id: jgroups + http: false + passive: false + javaTypes: + - org.apache.camel.component.jgroups.JGroupsComponent + camel-quarkus-jgroups-raft: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jgroups-raft + schemes: + - id: jgroups-raft + http: false + passive: false + javaTypes: + - org.apache.camel.component.jgroups.raft.JGroupsRaftComponent + camel-quarkus-jing: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jing + schemes: + - id: jing + http: false + passive: false + javaTypes: + - org.apache.camel.component.validator.jing.JingComponent + 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-jms: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jms + schemes: + - id: jms + http: false + passive: false + javaTypes: + - org.apache.camel.component.jms.JmsComponent + camel-quarkus-johnzon: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-johnzon + dataformats: + - json-johnzon + javaTypes: + - org.apache.camel.component.johnzon.JohnzonDataFormat + camel-quarkus-jolt: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jolt + schemes: + - id: jolt + http: false + passive: false + javaTypes: + - org.apache.camel.component.jolt.JoltComponent + camel-quarkus-jooq: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jooq + schemes: + - id: jooq + http: false + passive: false + javaTypes: + - org.apache.camel.component.jooq.JooqComponent + camel-quarkus-jpa: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jpa + schemes: + - id: jpa + http: false + passive: false + javaTypes: + - org.apache.camel.component.jpa.JpaComponent + camel-quarkus-jsch: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jsch + schemes: + - id: scp + http: false + passive: false + javaTypes: + - org.apache.camel.component.scp.ScpComponent + camel-quarkus-jslt: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jslt + schemes: + - id: jslt + http: false + passive: false + javaTypes: + - org.apache.camel.component.jslt.JsltComponent + camel-quarkus-json-validator: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-json-validator + schemes: + - id: json-validator + http: false + passive: false + javaTypes: + - org.apache.camel.component.jsonvalidator.JsonValidatorComponent + camel-quarkus-jsonapi: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jsonapi + dataformats: + - jsonApi + javaTypes: + - org.apache.camel.component.jsonapi.JsonApiDataFormat + camel-quarkus-jsonata: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jsonata + schemes: + - id: jsonata + http: false + passive: false + javaTypes: + - org.apache.camel.component.jsonata.JsonataComponent + camel-quarkus-jsonb: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jsonb + dataformats: + - json-jsonb + javaTypes: + - org.apache.camel.component.jsonb.JsonbDataFormat + camel-quarkus-jsonpath: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jsonpath + languages: + - jsonpath + javaTypes: + - org.apache.camel.jsonpath.JsonPathLanguage + camel-quarkus-jt400: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-jt400 + schemes: + - id: jt400 + http: false + passive: false + javaTypes: + - org.apache.camel.component.jt400.Jt400Component + 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-kamelet: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-kamelet + schemes: + - id: kamelet + http: false + passive: false + javaTypes: + - org.apache.camel.component.kamelet.KameletComponent + camel-quarkus-kubernetes: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-kubernetes + schemes: + - id: kubernetes-config-maps + http: false + passive: false + - id: kubernetes-custom-resources + 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.customresources.KubernetesCustomResourcesComponent + - 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-quarkus-kudu: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-kudu + schemes: + - id: kudu + http: false + passive: false + javaTypes: + - org.apache.camel.component.kudu.KuduComponent + camel-quarkus-language: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-language + schemes: + - id: language + http: false + passive: true + javaTypes: + - org.apache.camel.component.language.LanguageComponent + camel-quarkus-ldap: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-ldap + schemes: + - id: ldap + http: false + passive: false + javaTypes: + - org.apache.camel.component.ldap.LdapComponent + camel-quarkus-ldif: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-ldif + schemes: + - id: ldif + http: false + passive: false + javaTypes: + - org.apache.camel.component.ldif.LdifComponent + 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-lucene: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-lucene + schemes: + - id: lucene + http: false + passive: false + javaTypes: + - org.apache.camel.component.lucene.LuceneComponent + camel-quarkus-lumberjack: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-lumberjack + schemes: + - id: lumberjack + http: false + passive: false + javaTypes: + - org.apache.camel.component.lumberjack.LumberjackComponent + camel-quarkus-lzf: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-lzf + dataformats: + - lzf + javaTypes: + - org.apache.camel.dataformat.lzf.LZFDataFormat + 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-master: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-master + schemes: + - id: master + http: false + passive: false + javaTypes: + - org.apache.camel.component.master.MasterComponent + camel-quarkus-micrometer: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-micrometer + schemes: + - id: micrometer + http: false + passive: false + javaTypes: + - org.apache.camel.component.micrometer.MicrometerComponent + 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-milo: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-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-quarkus-minio: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-minio + schemes: + - id: minio + http: false + passive: false + javaTypes: + - org.apache.camel.component.minio.MinioComponent + camel-quarkus-mllp: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-mllp + schemes: + - id: mllp + http: false + passive: false + javaTypes: + - org.apache.camel.component.mllp.MllpComponent + camel-quarkus-mock: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-mock + schemes: + - id: mock + http: false + passive: true + javaTypes: + - org.apache.camel.component.mock.MockComponent + 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-mongodb-gridfs: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-mongodb-gridfs + schemes: + - id: mongodb-gridfs + http: false + passive: false + javaTypes: + - org.apache.camel.component.mongodb.gridfs.GridFsComponent + camel-quarkus-msv: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-msv + schemes: + - id: msv + http: false + passive: false + javaTypes: + - org.apache.camel.component.validator.msv.MsvComponent + camel-quarkus-mustache: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-mustache + schemes: + - id: mustache + http: false + passive: false + javaTypes: + - org.apache.camel.component.mustache.MustacheComponent + camel-quarkus-mvel: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-mvel + schemes: + - id: mvel + http: false + passive: false + languages: + - mvel + javaTypes: + - org.apache.camel.component.mvel.MvelComponent + - org.apache.camel.language.mvel.MvelLanguage + camel-quarkus-mybatis: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-mybatis + schemes: + - id: mybatis + http: false + passive: false + - id: mybatis-bean + http: false + passive: false + javaTypes: + - org.apache.camel.component.mybatis.MyBatisBeanComponent + - org.apache.camel.component.mybatis.MyBatisComponent + camel-quarkus-nagios: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-nagios + schemes: + - id: nagios + http: false + passive: false + javaTypes: + - org.apache.camel.component.nagios.NagiosComponent + camel-quarkus-nats: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-nats + schemes: + - id: nats + http: false + passive: false + javaTypes: + - org.apache.camel.component.nats.NatsComponent + 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-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-nitrite: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-nitrite + schemes: + - id: nitrite + http: false + passive: false + javaTypes: + - org.apache.camel.component.nitrite.NitriteComponent + camel-quarkus-nsq: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-nsq + schemes: + - id: nsq + http: false + passive: false + javaTypes: + - org.apache.camel.component.nsq.NsqComponent + camel-quarkus-oaipmh: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-oaipmh + schemes: + - id: oaipmh + http: false + passive: false + javaTypes: + - org.apache.camel.oaipmh.component.OAIPMHComponent + camel-quarkus-ognl: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-ognl + languages: + - ognl + javaTypes: + - org.apache.camel.language.ognl.OgnlLanguage + 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-openstack: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-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-quarkus-optaplanner: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-optaplanner + schemes: + - id: optaplanner + http: false + passive: false + javaTypes: + - org.apache.camel.component.optaplanner.OptaPlannerComponent + 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-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-pg-replication-slot: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-pg-replication-slot + schemes: + - id: pg-replication-slot + http: false + passive: false + javaTypes: + - org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent + camel-quarkus-pgevent: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-pgevent + schemes: + - id: pgevent + http: false + passive: false + javaTypes: + - org.apache.camel.component.pgevent.PgEventComponent + camel-quarkus-platform-http: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-platform-http + schemes: + - id: platform-http + http: true + passive: false + javaTypes: + - org.apache.camel.component.platform.http.PlatformHttpComponent + camel-quarkus-printer: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-printer + schemes: + - id: lpr + http: false + passive: false + javaTypes: + - org.apache.camel.component.printer.PrinterComponent + camel-quarkus-protobuf: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-protobuf + dataformats: + - protobuf + javaTypes: + - org.apache.camel.dataformat.protobuf.ProtobufDataFormat + camel-quarkus-pubnub: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-pubnub + schemes: + - id: pubnub + http: false + passive: false + javaTypes: + - org.apache.camel.component.pubnub.PubNubComponent + camel-quarkus-pulsar: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-pulsar + schemes: + - id: pulsar + http: false + passive: false + javaTypes: + - org.apache.camel.component.pulsar.PulsarComponent + camel-quarkus-quartz: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-quartz + schemes: + - id: quartz + http: false + passive: false + javaTypes: + - org.apache.camel.component.quartz.QuartzComponent + camel-quarkus-quickfix: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-quickfix + schemes: + - id: quickfix + http: false + passive: false + javaTypes: + - org.apache.camel.component.quickfixj.QuickfixjComponent + camel-quarkus-rabbitmq: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-rabbitmq + schemes: + - id: rabbitmq + http: false + passive: false + javaTypes: + - org.apache.camel.component.rabbitmq.RabbitMQComponent + 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-ref: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-ref + schemes: + - id: ref + http: false + passive: true + javaTypes: + - org.apache.camel.component.ref.RefComponent + camel-quarkus-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.RestApiComponent + - org.apache.camel.component.rest.RestComponent + camel-quarkus-rest-openapi: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-rest-openapi + schemes: + - id: rest-openapi + http: false + passive: false + javaTypes: + - org.apache.camel.component.rest.openapi.RestOpenApiComponent + camel-quarkus-robotframework: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-robotframework + schemes: + - id: robotframework + http: false + passive: false + javaTypes: + - org.apache.camel.component.robotframework.RobotFrameworkComponent + camel-quarkus-rss: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-rss + schemes: + - id: rss + http: false + passive: false + dataformats: + - rss + javaTypes: + - org.apache.camel.component.rss.RssComponent + - org.apache.camel.dataformat.rss.RssDataFormat + camel-quarkus-saga: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-saga + schemes: + - id: saga + http: false + passive: false + javaTypes: + - org.apache.camel.component.saga.SagaComponent + 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-sap-netweaver: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-sap-netweaver + schemes: + - id: sap-netweaver + http: false + passive: false + javaTypes: + - org.apache.camel.component.sap.netweaver.NetWeaverComponent + camel-quarkus-saxon: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-saxon + schemes: + - id: xquery + http: false + passive: false + languages: + - xquery + javaTypes: + - org.apache.camel.component.xquery.XQueryComponent + - org.apache.camel.language.xquery.XQueryLanguage + 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-schematron: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-schematron + schemes: + - id: schematron + http: false + passive: false + javaTypes: + - org.apache.camel.component.schematron.SchematronComponent + 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-servicenow: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-servicenow + schemes: + - id: servicenow + http: false + passive: false + javaTypes: + - org.apache.camel.component.servicenow.ServiceNowComponent + 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-sip: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-sip + schemes: + - id: sip + http: false + passive: false + - id: sips + http: false + passive: false + javaTypes: + - org.apache.camel.component.sip.SipComponent + camel-quarkus-sjms: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-sjms + schemes: + - id: sjms + http: false + passive: false + javaTypes: + - org.apache.camel.component.sjms.SjmsComponent + 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-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-smpp: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-smpp + schemes: + - id: smpp + http: false + passive: false + - id: smpps + http: false + passive: false + javaTypes: + - org.apache.camel.component.smpp.SmppComponent + camel-quarkus-snakeyaml: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-snakeyaml + dataformats: + - yaml-snakeyaml + javaTypes: + - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat + camel-quarkus-snmp: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-snmp + schemes: + - id: snmp + http: false + passive: false + javaTypes: + - org.apache.camel.component.snmp.SnmpComponent + camel-quarkus-soap: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-soap + dataformats: + - soapjaxb + javaTypes: + - org.apache.camel.dataformat.soap.SoapJaxbDataFormat + camel-quarkus-solr: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-solr + schemes: + - id: solr + http: false + passive: false + - id: solrCloud + http: false + passive: false + - id: solrs + http: false + passive: false + javaTypes: + - org.apache.camel.component.solr.SolrComponent + camel-quarkus-soroush: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-soroush + schemes: + - id: soroush + http: false + passive: false + javaTypes: + - org.apache.camel.component.soroushbot.component.SoroushBotComponent + camel-quarkus-spark: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-spark + schemes: + - id: spark + http: false + passive: false + javaTypes: + - org.apache.camel.component.spark.SparkComponent + camel-quarkus-splunk: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-splunk + schemes: + - id: splunk + http: false + passive: false + javaTypes: + - org.apache.camel.component.splunk.SplunkComponent + camel-quarkus-splunk-hec: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-splunk-hec + schemes: + - id: splunk-hec + http: false + passive: false + javaTypes: + - org.apache.camel.component.splunkhec.SplunkHECComponent + camel-quarkus-spring-rabbitmq: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-spring-rabbitmq + schemes: + - id: spring-rabbitmq + http: false + passive: false + javaTypes: + - org.apache.camel.component.springrabbit.SpringRabbitMQComponent + 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-ssh: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-ssh + schemes: + - id: ssh + http: false + passive: false + javaTypes: + - org.apache.camel.component.ssh.SshComponent + camel-quarkus-stax: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-stax + schemes: + - id: stax + http: false + passive: false + javaTypes: + - org.apache.camel.component.stax.StAXComponent + camel-quarkus-stomp: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-stomp + schemes: + - id: stomp + http: false + passive: false + javaTypes: + - org.apache.camel.component.stomp.StompComponent + 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-stringtemplate: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-stringtemplate + schemes: + - id: string-template + http: false + passive: false + javaTypes: + - org.apache.camel.component.stringtemplate.StringTemplateComponent + camel-quarkus-stub: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-stub + schemes: + - id: stub + http: false + passive: true + javaTypes: + - org.apache.camel.component.stub.StubComponent + camel-quarkus-syslog: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-syslog + dataformats: + - syslog + javaTypes: + - org.apache.camel.component.syslog.SyslogDataFormat + camel-quarkus-tagsoup: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-tagsoup + dataformats: + - tidyMarkup + javaTypes: + - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat + camel-quarkus-tarfile: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-tarfile + dataformats: + - tarfile + javaTypes: + - org.apache.camel.dataformat.tarfile.TarFileDataFormat + 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-thrift: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-thrift + schemes: + - id: thrift + http: false + passive: false + dataformats: + - thrift + javaTypes: + - org.apache.camel.component.thrift.ThriftComponent + - org.apache.camel.dataformat.thrift.ThriftDataFormat + camel-quarkus-tika: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-tika + schemes: + - id: tika + http: false + passive: false + javaTypes: + - org.apache.camel.component.tika.TikaComponent + 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-twilio: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-twilio + schemes: + - id: twilio + http: false + passive: false + javaTypes: + - org.apache.camel.component.twilio.TwilioComponent + 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-univocity-parsers: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-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-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-velocity: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-velocity + schemes: + - id: velocity + http: false + passive: false + javaTypes: + - org.apache.camel.component.velocity.VelocityComponent + camel-quarkus-vertx: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-vertx + schemes: + - id: vertx + http: false + passive: false + javaTypes: + - org.apache.camel.component.vertx.VertxComponent + camel-quarkus-vertx-http: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-vertx-http + schemes: + - id: vertx-http + http: false + passive: false + javaTypes: + - org.apache.camel.component.vertx.http.VertxHttpComponent + camel-quarkus-vertx-kafka: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-vertx-kafka + schemes: + - id: vertx-kafka + http: false + passive: false + javaTypes: + - org.apache.camel.component.vertx.kafka.VertxKafkaComponent + camel-quarkus-vertx-websocket: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-vertx-websocket + schemes: + - id: vertx-websocket + http: false + passive: false + javaTypes: + - org.apache.camel.component.vertx.websocket.VertxWebsocketComponent + 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-weather: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-weather + schemes: + - id: weather + http: false + passive: false + javaTypes: + - org.apache.camel.component.weather.WeatherComponent + camel-quarkus-web3j: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-web3j + schemes: + - id: web3j + http: false + passive: false + javaTypes: + - org.apache.camel.component.web3j.Web3jComponent + 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-weka: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-weka + schemes: + - id: weka + http: false + passive: false + javaTypes: + - org.apache.camel.component.weka.WekaComponent + camel-quarkus-wordpress: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-wordpress + schemes: + - id: wordpress + http: false + passive: false + javaTypes: + - org.apache.camel.component.wordpress.WordpressComponent + camel-quarkus-workday: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-workday + schemes: + - id: workday + http: false + passive: false + javaTypes: + - org.apache.camel.component.workday.WorkdayComponent + camel-quarkus-xchange: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-xchange + schemes: + - id: xchange + http: false + passive: false + javaTypes: + - org.apache.camel.component.xchange.XChangeComponent + camel-quarkus-xj: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-xj + schemes: + - id: xj + http: false + passive: false + javaTypes: + - org.apache.camel.component.xj.XJComponent + camel-quarkus-xml-jaxp: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-xml-jaxp + languages: + - xtokenize + javaTypes: + - org.apache.camel.language.xtokenizer.XMLTokenizeLanguage + camel-quarkus-xmlsecurity: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-xmlsecurity + schemes: + - id: xmlsecurity-sign + http: false + passive: false + - id: xmlsecurity-verify + http: false + passive: false + dataformats: + - secureXML + javaTypes: + - org.apache.camel.component.xmlsecurity.XmlSignerComponent + - org.apache.camel.component.xmlsecurity.XmlVerifierComponent + - org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat + camel-quarkus-xmpp: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-xmpp + schemes: + - id: xmpp + http: false + passive: false + javaTypes: + - org.apache.camel.component.xmpp.XmppComponent + camel-quarkus-xpath: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-xpath + languages: + - xpath + javaTypes: + - org.apache.camel.language.xpath.XPathLanguage + 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-xslt-saxon: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-xslt-saxon + schemes: + - id: xslt-saxon + http: false + passive: false + javaTypes: + - org.apache.camel.component.xslt.saxon.XsltSaxonComponent + camel-quarkus-xstream: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-xstream + dataformats: + - json-xstream + - xstream + javaTypes: + - org.apache.camel.dataformat.xstream.JsonDataFormat + - org.apache.camel.dataformat.xstream.XStreamDataFormat + camel-quarkus-yammer: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-yammer + schemes: + - id: yammer + http: false + passive: false + javaTypes: + - org.apache.camel.component.yammer.YammerComponent + camel-quarkus-zendesk: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-zendesk + schemes: + - id: zendesk + http: false + passive: false + javaTypes: + - org.apache.camel.component.zendesk.ZendeskComponent + 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-zipfile: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-zipfile + dataformats: + - zipfile + javaTypes: + - org.apache.camel.dataformat.zipfile.ZipFileDataFormat + camel-quarkus-zookeeper: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-zookeeper + schemes: + - id: zookeeper + http: false + passive: false + javaTypes: + - org.apache.camel.component.zookeeper.ZooKeeperComponent + camel-quarkus-zookeeper-master: + groupId: org.apache.camel.quarkus + artifactId: camel-quarkus-zookeeper-master + schemes: + - id: zookeeper-master + http: false + passive: false + javaTypes: + - org.apache.camel.component.zookeepermaster.MasterComponent + loaders: + groovy: + groupId: org.apache.camel.k + artifactId: camel-k-loader-groovy + languages: + - groovy + metadata: + native: "false" + java: + groupId: org.apache.camel.k + artifactId: camel-k-loader-java + languages: + - java + metadata: + native: "false" + js: + groupId: org.apache.camel.k + artifactId: camel-k-loader-js + languages: + - js + metadata: + native: "true" + jsh: + groupId: org.apache.camel.k + artifactId: camel-k-loader-jsh + languages: + - jsh + metadata: + native: "false" + kts: + groupId: org.apache.camel.k + artifactId: camel-k-loader-kotlin + languages: + - kts + metadata: + native: "false" + xml: + groupId: org.apache.camel.k + artifactId: camel-k-loader-xml + languages: + - xml + metadata: + native: "true" + yaml: + groupId: org.apache.camel.k + artifactId: camel-k-loader-yaml + languages: + - yaml + metadata: + native: "true" diff --git a/e2e/common/traits/prometheus_test.go b/e2e/common/traits/prometheus_test.go index b33a55f..e3204ca 100644 --- a/e2e/common/traits/prometheus_test.go +++ b/e2e/common/traits/prometheus_test.go @@ -60,7 +60,7 @@ func TestPrometheusTrait(t *testing.T) { t.Run("Metrics endpoint works", func(t *testing.T) { pod := IntegrationPod(ns, "java") response, err := TestClient().CoreV1().RESTClient().Get(). - AbsPath(fmt.Sprintf("/api/v1/namespaces/%s/pods/%s/proxy/metrics", ns, pod().Name)).DoRaw(TestContext) + AbsPath(fmt.Sprintf("/api/v1/namespaces/%s/pods/%s/proxy/q/metrics", ns, pod().Name)).DoRaw(TestContext) if err != nil { assert.Fail(t, err.Error()) } diff --git a/e2e/knative/openapi_test.go b/e2e/knative/openapi_test.go index 97068bd..a78aa88 100644 --- a/e2e/knative/openapi_test.go +++ b/e2e/knative/openapi_test.go @@ -47,11 +47,11 @@ func TestOpenAPIService(t *testing.T) { Should(Not(BeNil())) Eventually(IntegrationLogs(ns, "petstore"), TestTimeoutMedium). - Should(ContainSubstring("Route: listPets started and consuming from: platform-http:///v1/pets")) + Should(ContainSubstring("Started listPets (rest://get:/v1:/pets)")) Eventually(IntegrationLogs(ns, "petstore"), TestTimeoutMedium). - Should(ContainSubstring("Route: createPets started and consuming from: platform-http:///v1/pets")) + Should(ContainSubstring("Started createPets (rest://post:/v1:/pets)")) Eventually(IntegrationLogs(ns, "petstore"), TestTimeoutMedium). - Should(ContainSubstring("Route: showPetById started and consuming from: platform-http:///v1/pets")) + Should(ContainSubstring("Started showPetById (rest://get:/v1:/pets/%7BpetId%7D)")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) @@ -74,11 +74,11 @@ func TestOpenAPIDeployment(t *testing.T) { Should(Not(BeNil())) Eventually(IntegrationLogs(ns, "petstore"), TestTimeoutMedium). - Should(ContainSubstring("Route: listPets started and consuming from: platform-http:///v1/pets")) + Should(ContainSubstring("Started listPets (rest://get:/v1:/pets)")) Eventually(IntegrationLogs(ns, "petstore"), TestTimeoutMedium). - Should(ContainSubstring("Route: createPets started and consuming from: platform-http:///v1/pets")) + Should(ContainSubstring("Started createPets (rest://post:/v1:/pets)")) Eventually(IntegrationLogs(ns, "petstore"), TestTimeoutMedium). - Should(ContainSubstring("Route: showPetById started and consuming from: platform-http:///v1/pets")) + Should(ContainSubstring("Started showPetById (rest://get:/v1:/pets/%7BpetId%7D)")) Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed()) }) diff --git a/go.mod b/go.mod index 04b2274..d2c31e8 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/apache/camel-k/pkg/apis/camel v0.0.0 github.com/apache/camel-k/pkg/client/camel v0.0.0 github.com/apache/camel-k/pkg/kamelet/repository v0.0.0 - github.com/container-tools/spectrum v0.3.2 + github.com/container-tools/spectrum v0.3.4 github.com/evanphx/json-patch v4.9.0+incompatible github.com/fatih/structs v1.1.0 github.com/gertd/go-pluralize v0.1.1 diff --git a/go.sum b/go.sum index 968f2b9..93ab264 100644 --- a/go.sum +++ b/go.sum @@ -261,6 +261,8 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/container-tools/spectrum v0.3.2 h1:KQz70RWAzITzaPx+qPsiGkrF0uGmFJfKak2yOqJyPKQ= github.com/container-tools/spectrum v0.3.2/go.mod h1:hsogRHNfGQLysCyDiGT4SAioTS8LGLbyC4b0Ep2Iw+o= +github.com/container-tools/spectrum v0.3.4 h1:ykSzjjIbmwy/dQKyaTRNf69gqSx5rB/XwjuYhOspJSY= +github.com/container-tools/spectrum v0.3.4/go.mod h1:hsogRHNfGQLysCyDiGT4SAioTS8LGLbyC4b0Ep2Iw+o= github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= diff --git a/pkg/builder/runtime/quarkus.go b/pkg/builder/runtime/quarkus.go index 53c1c22..6865ae5 100644 --- a/pkg/builder/runtime/quarkus.go +++ b/pkg/builder/runtime/quarkus.go @@ -19,14 +19,13 @@ package runtime import ( "fmt" - "io/ioutil" "os" "path" + "path/filepath" + "strings" "github.com/apache/camel-k/pkg/util/digest" - yaml2 "gopkg.in/yaml.v2" - "github.com/pkg/errors" v1 "github.com/apache/camel-k/pkg/apis/camel/v1" @@ -79,7 +78,7 @@ func GenerateQuarkusProjectCommon(camelQuarkusVersion string, runtimeVersion str p.Dependencies = make([]maven.Dependency, 0) p.Build = &maven.Build{Plugins: make([]maven.Plugin, 0)} - // camel-quarkus doe routes discovery at startup but we don't want + // camel-quarkus does routes discovery at startup but we don't want // this to happen as routes are loaded at runtime and looking for // routes at build time may try to load camel-k-runtime routes builder // proxies which in some case may fail @@ -88,6 +87,9 @@ func GenerateQuarkusProjectCommon(camelQuarkusVersion string, runtimeVersion str // disable quarkus banner ... p.Properties["quarkus.banner.enabled"] = "false" + // set fast-jar packaging since it gives some startup time improvements + p.Properties["quarkus.package.type"] = "fast-jar" + // DependencyManagement p.DependencyManagement.Dependencies = append(p.DependencyManagement.Dependencies, maven.Dependency{ @@ -148,7 +150,7 @@ func BuildQuarkusRunnerCommon(mc maven.Context) error { // generate an empty application.properties so that there will be something in // target/classes as if such directory does not exist, the quarkus maven plugin - // mai fail the build + // may fail the build // // in the future there should be a way to provide build information from secrets, // configmap, etc. @@ -171,15 +173,9 @@ func computeQuarkusDependencies(ctx *builder.Context) error { mc.LocalRepository = ctx.Build.Maven.LocalRepository mc.Timeout = ctx.Build.Maven.GetTimeout().Duration - // Compute dependencies. - content, err := ComputeQuarkusDependenciesCommon(mc, ctx.Catalog.Runtime.Version) - if err != nil { - return err - } - // Process artifacts list and add it to existing artifacts. artifacts := []v1.Artifact{} - artifacts, err = ProcessQuarkusTransitiveDependencies(mc, content) + artifacts, err := ProcessQuarkusTransitiveDependencies(mc) if err != nil { return err } @@ -188,76 +184,33 @@ func computeQuarkusDependencies(ctx *builder.Context) error { return nil } -// ComputeQuarkusDependenciesCommon -- -func ComputeQuarkusDependenciesCommon(mc maven.Context, runtimeVersion string) ([]byte, error) { - // Retrieve the runtime dependencies - mc.AddArgumentf("org.apache.camel.k:camel-k-maven-plugin:%s:generate-dependency-list", runtimeVersion) - if err := maven.Run(mc); err != nil { - return nil, errors.Wrap(err, "failure while determining classpath") - } - - dependencies := path.Join(mc.Path, "target", "dependencies.yaml") - content, err := ioutil.ReadFile(dependencies) - if err != nil { - return nil, err - } - - return content, nil -} - // ProcessQuarkusTransitiveDependencies -- -func ProcessQuarkusTransitiveDependencies(mc maven.Context, content []byte) ([]v1.Artifact, error) { - cp := make(map[string][]v1.Artifact) - err := yaml2.Unmarshal(content, &cp) - if err != nil { - return nil, err - } - +func ProcessQuarkusTransitiveDependencies(mc maven.Context) ([]v1.Artifact, error) { artifacts := []v1.Artifact{} - for _, e := range cp["dependencies"] { - _, fileName := path.Split(e.Location) - gav, err := maven.ParseGAV(e.ID) - if err != nil { - return nil, err - } + // Quarkus fast-jar format is split into various sub directories in quarkus-app + quarkusAppDir := path.Join(mc.Path, "target", "quarkus-app") - // - // Compute the checksum if it has not been computed by the camel-k-maven-plugin - // - if e.Checksum == "" { - chksum, err := digest.ComputeSHA1(e.Location) + // Discover application dependencies from the Quarkus fast-jar directory tree + err := filepath.Walk(quarkusAppDir, func(filePath string, info os.FileInfo, err error) error { + fileRelPath := strings.Replace(filePath, quarkusAppDir, "", 1) + + if !info.IsDir() { + sha1, err := digest.ComputeSHA1(filePath) if err != nil { - return nil, err + return err } - e.Checksum = "sha1:" + chksum + artifacts = append(artifacts, v1.Artifact{ + ID: filepath.Base(fileRelPath), + Location: filePath, + Target: path.Join("dependencies", fileRelPath), + Checksum: "sha1:" + sha1, + }) } - artifacts = append(artifacts, v1.Artifact{ - ID: e.ID, - Location: e.Location, - Target: path.Join("dependencies", gav.GroupID+"."+fileName), - Checksum: e.Checksum, - }) - } - - runner := "camel-k-integration-" + defaults.Version + "-runner.jar" - - // - // Quarkus' runner checksum need to be recomputed each time - // - runnerChecksum, err := digest.ComputeSHA1(mc.Path, "target", runner) - if err != nil { - return nil, err - } - - artifacts = append(artifacts, v1.Artifact{ - ID: runner, - Location: path.Join(mc.Path, "target", runner), - Target: path.Join("dependencies", runner), - Checksum: "sha1:" + runnerChecksum, + return nil }) - return artifacts, nil + return artifacts, err } diff --git a/pkg/builder/spectrum/publisher.go b/pkg/builder/spectrum/publisher.go index a50fd4e..ab36774 100644 --- a/pkg/builder/spectrum/publisher.go +++ b/pkg/builder/spectrum/publisher.go @@ -85,6 +85,7 @@ func publisher(ctx *builder.Context) error { Target: target, Stdout: os.Stdout, Stderr: os.Stderr, + Recursive: true, } digest, err := spectrum.Build(options, libraryPath+":/deployments/dependencies") diff --git a/pkg/cmd/local_run.go b/pkg/cmd/local_run.go index 64ada02..3e51d35 100644 --- a/pkg/cmd/local_run.go +++ b/pkg/cmd/local_run.go @@ -195,7 +195,7 @@ func (command *localRunCmdOptions) run(cmd *cobra.Command, args []string) error return err } - // Run integratgion image. + // Run integration image. err = runIntegrationImage(command.Context, command.Image, cmd.OutOrStdout(), cmd.ErrOrStderr()) if err != nil { return err diff --git a/pkg/cmd/util_commands.go b/pkg/cmd/util_commands.go index a49603e..ccea1de 100644 --- a/pkg/cmd/util_commands.go +++ b/pkg/cmd/util_commands.go @@ -63,7 +63,7 @@ func assembleIntegrationRunCommand(ctx context.Context, properties []string, dep args := make([]string, 0) args = append(args, "-cp") args = append(args, classpathValue) - args = append(args, "io.quarkus.runner.GeneratedMain") + args = append(args, "io.quarkus.bootstrap.runner.QuarkusEntryPoint") cmd := exec.CommandContext(ctx, javaCmd, args...) @@ -128,7 +128,7 @@ func GetContainerIntegrationRunCommand(ctx context.Context, properties []string, // Update property file paths. containerProperties := docker.ContainerizeFilePaths(properties, docker.GetContainerPropertiesDir()) - containerDependencies := docker.ContainerizeFilePaths(dependencies, docker.GetContainerDependenciesDir()) + containerDependencies := docker.ContainerizeDependencyPaths(dependencies, docker.GetContainerDependenciesDir()) containerRoutes := docker.ContainerizeFilePaths(routes, docker.GetContainerRoutesDir()) return assembleIntegrationRunCommand(ctx, containerProperties, containerDependencies, containerRoutes, docker.GetContainerPropertiesDir(), stdout, stderr, false) diff --git a/pkg/cmd/util_dependencies.go b/pkg/cmd/util_dependencies.go index 4db062e..1978799 100644 --- a/pkg/cmd/util_dependencies.go +++ b/pkg/cmd/util_dependencies.go @@ -71,7 +71,6 @@ func getDependencies(args []string, additionalDependencies []string, repositorie return nil, err } } - return dependencies, nil } @@ -151,14 +150,9 @@ func getTransitiveDependencies( return nil, err } - content, err := runtime.ComputeQuarkusDependenciesCommon(mc, catalog.Runtime.Version) - if err != nil { - return nil, err - } - // Compose artifacts list artifacts := []v1.Artifact{} - artifacts, err = runtime.ProcessQuarkusTransitiveDependencies(mc, content) + artifacts, err = runtime.ProcessQuarkusTransitiveDependencies(mc) if err != nil { return nil, err } @@ -168,7 +162,6 @@ func getTransitiveDependencies( for _, entry := range artifacts { transitiveDependencies = append(transitiveDependencies, entry.Location) } - return transitiveDependencies, nil } @@ -413,7 +406,14 @@ func updateIntegrationDependencies(dependencies []string) error { // Relocate dependencies files to this integration's dependencies directory for _, dependency := range dependencies { - util.CopyFile(dependency, path.Join(util.GetLocalDependenciesDir(), path.Base(dependency))) + var targetPath string + basePath := util.SubstringFrom(dependency, util.QuarkusDependenciesBaseDirectory) + if basePath != "" { + targetPath = path.Join(util.GetLocalDependenciesDir(), basePath) + } else { + targetPath = path.Join(util.GetLocalDependenciesDir(), path.Base(dependency)) + } + util.CopyFile(dependency, targetPath) } return nil diff --git a/pkg/resources/resources.go b/pkg/resources/resources.go index d935491..c75dfd8 100644 --- a/pkg/resources/resources.go +++ b/pkg/resources/resources.go @@ -464,6 +464,13 @@ var assets = func() http.FileSystem { compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x7d\x4b\x77\xdb\xb8\xb2\xee\x3c\xbf\x82\xab\x33\x39\x67\xdd\xad\xda\xdd\xce\xd9\xdd\x77\xf5\x1d\xd9\x4a\xec\xd8\xb1\x1c\x27\xf2\x4e\xb2\x7b\xd2\x0b\x22\x21\x09\x16\x49\xd0\x00\x24\xd9\xf9\xf5\x77\xe1\xc1\x97\x24\x17\x45\x1a\xf0\xf1\xc0\x24\x85\xc2\x57\x40\xe1\x5d\x28\x14\xde\x46\x23\x7f\x7f\x6f\xde\x46\xd7\x2c\xa6\xb9\xa4\x49\xa4\x78\xa4\x96\x34\x3a\x2d\x48\xbc\xa4\xd1\x94\xcf\xd5\x96\x08\x1a\x9d\xf3\x75\x9e\x10\x [...] }, + "/camel-catalog-1.7.0-SNAPSHOT.yaml": &vfsgen۰CompressedFileInfo{ + name: "camel-catalog-1.7.0-SNAPSHOT.yaml", + modTime: time.Time{}, + uncompressedSize: 90737, + + compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x7d\xcb\x76\xdb\x38\xb6\xf6\xdc\x4f\xc1\x55\x99\x9c\xb3\xfe\x16\xba\x4a\xe9\xd3\x75\x56\xfd\x23\x5b\x8e\x13\x3b\xb6\xe3\x44\xee\x24\x5d\x93\x5a\x10\x09\x49\xb0\x48\x82\x06\x40\x49\xce\xd3\x9f\x85\x0b\xaf\x52\x36\x2f\x06\xd4\x1e\x98\x14\xb1\xf1\x6d\xec\x0f\x17\x12\x1b\xb7\x37\xc1\xc4\xdd\xdf\xd9\x9b\xe0\x96\x86\x24\x15\x24\x0a\x24\x0b\xe4\x9a\x04\xe7\x19\x0e\xd7\x24\x98\xb3\xa5\xdc\x61\x4e\x82\x2b\x96\xa7\x11\x96\x [...] + }, "/traits.yaml": &vfsgen۰CompressedFileInfo{ name: "traits.yaml", modTime: time.Time{}, @@ -475,6 +482,7 @@ var assets = func() http.FileSystem { fs["/"].(*vfsgen۰DirInfo).entries = []os.FileInfo{ fs["/addons"].(os.FileInfo), fs["/camel-catalog-1.6.0.yaml"].(os.FileInfo), + fs["/camel-catalog-1.7.0-SNAPSHOT.yaml"].(os.FileInfo), fs["/crd"].(os.FileInfo), fs["/default"].(os.FileInfo), fs["/manager"].(os.FileInfo), diff --git a/pkg/trait/jolokia.go b/pkg/trait/jolokia.go index c9b0bbd..f5fa029 100644 --- a/pkg/trait/jolokia.go +++ b/pkg/trait/jolokia.go @@ -153,7 +153,7 @@ func (t *jolokiaTrait) Apply(e *Environment) (err error) { optionValues[i] = k + "=" + options[k] } - container.Args = append(container.Args, "-javaagent:dependencies/org.jolokia.jolokia-jvm-1.6.2-agent.jar="+strings.Join(optionValues, ",")) + container.Args = append(container.Args, "-javaagent:dependencies/lib/main/org.jolokia.jolokia-jvm-1.6.2-agent.jar="+strings.Join(optionValues, ",")) containerPort := corev1.ContainerPort{ Name: "jolokia", diff --git a/pkg/trait/jolokia_test.go b/pkg/trait/jolokia_test.go index ea7bca6..deabf64 100644 --- a/pkg/trait/jolokia_test.go +++ b/pkg/trait/jolokia_test.go @@ -51,7 +51,7 @@ func TestApplyJolokiaTraitNominalShouldSucceed(t *testing.T) { assert.NotNil(t, container) assert.Equal(t, container.Args, []string{ - "-javaagent:dependencies/org.jolokia.jolokia-jvm-1.6.2-agent.jar=discoveryEnabled=false,host=*,port=8778", + "-javaagent:dependencies/lib/main/org.jolokia.jolokia-jvm-1.6.2-agent.jar=discoveryEnabled=false,host=*,port=8778", }) assert.Len(t, container.Ports, 1) @@ -78,7 +78,7 @@ func TestApplyJolokiaTraitForOpenShiftProfileShouldSucceed(t *testing.T) { assert.NotNil(t, container) assert.Equal(t, container.Args, []string{ - "-javaagent:dependencies/org.jolokia.jolokia-jvm-1.6.2-agent.jar=caCert=/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt," + + "-javaagent:dependencies/lib/main/org.jolokia.jolokia-jvm-1.6.2-agent.jar=caCert=/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt," + "clientPrincipal.1=cn=system:master-proxy,clientPrincipal.2=cn=hawtio-online.hawtio.svc," + "clientPrincipal.3=cn=fuse-console.fuse.svc,discoveryEnabled=false,extendedClientCheck=true," + "host=*,port=8778,protocol=https,useSslClientAuthentication=true", @@ -128,7 +128,7 @@ func TestApplyJolokiaTraitWithOptionShouldOverrideDefault(t *testing.T) { container := environment.Resources.GetContainerByName(defaultContainerName) assert.Equal(t, container.Args, []string{ - "-javaagent:dependencies/org.jolokia.jolokia-jvm-1.6.2-agent.jar=caCert=.cacert,clientPrincipal=cn:any," + + "-javaagent:dependencies/lib/main/org.jolokia.jolokia-jvm-1.6.2-agent.jar=caCert=.cacert,clientPrincipal=cn:any," + "discoveryEnabled=true,extendedClientCheck=false,host=explicit-host,port=8778,protocol=http," + "useSslClientAuthentication=false", }) diff --git a/pkg/trait/jvm_test.go b/pkg/trait/jvm_test.go index c8a88ad..cd6acc4 100644 --- a/pkg/trait/jvm_test.go +++ b/pkg/trait/jvm_test.go @@ -108,7 +108,7 @@ func TestApplyJvmTraitWithDeploymentResource(t *testing.T) { assert.Equal(t, []string{ "-cp", "./resources:/etc/camel/resources:/mount/path", - "io.quarkus.runner.GeneratedMain", + "io.quarkus.bootstrap.runner.QuarkusEntryPoint", }, d.Spec.Template.Spec.Containers[0].Args) } @@ -140,7 +140,7 @@ func TestApplyJvmTraitWithKNativeResource(t *testing.T) { assert.Equal(t, []string{ "-cp", "./resources:/etc/camel/resources:/mount/path", - "io.quarkus.runner.GeneratedMain", + "io.quarkus.bootstrap.runner.QuarkusEntryPoint", }, s.Spec.Template.Spec.Containers[0].Args) } diff --git a/pkg/trait/prometheus.go b/pkg/trait/prometheus.go index 6c4ffcb..df9124f 100644 --- a/pkg/trait/prometheus.go +++ b/pkg/trait/prometheus.go @@ -198,6 +198,7 @@ func (t *prometheusTrait) getServiceMonitorFor(e *Environment) (*monitoringv1.Se }, Endpoints: []monitoringv1.Endpoint{ { + Path: "/q/metrics", Port: prometheusPortName, }, }, diff --git a/pkg/trait/prometheus_test.go b/pkg/trait/prometheus_test.go index 2793a6b..1bf8d65 100644 --- a/pkg/trait/prometheus_test.go +++ b/pkg/trait/prometheus_test.go @@ -164,6 +164,7 @@ func TestPrometheusTraitGetServiceMonitor(t *testing.T) { assert.Equal(t, "integration-name", serviceMonitor.Spec.Selector.MatchLabels[v1.IntegrationLabel]) assert.Len(t, serviceMonitor.Spec.Endpoints, 1) assert.Equal(t, "prometheus", serviceMonitor.Spec.Endpoints[0].Port) + assert.Equal(t, "/q/metrics", serviceMonitor.Spec.Endpoints[0].Path) } func createNominalPrometheusTest() (*prometheusTrait, *Environment) { diff --git a/pkg/util/defaults/defaults.go b/pkg/util/defaults/defaults.go index c6ba8ce..809f00b 100644 --- a/pkg/util/defaults/defaults.go +++ b/pkg/util/defaults/defaults.go @@ -26,7 +26,7 @@ const ( Version = "1.4.0-SNAPSHOT" // DefaultRuntimeVersion -- - DefaultRuntimeVersion = "1.6.0" + DefaultRuntimeVersion = "1.7.0-SNAPSHOT" // BuildahVersion -- BuildahVersion = "1.14.0" diff --git a/pkg/util/docker/docker.go b/pkg/util/docker/docker.go index 812d8f1..8cf2cc0 100644 --- a/pkg/util/docker/docker.go +++ b/pkg/util/docker/docker.go @@ -132,7 +132,6 @@ func GetContainerRoutesDir() string { // ContainerizeFilePaths -- make paths valid container paths given a valid container directory in newDir. func ContainerizeFilePaths(currentFilePaths []string, newDir string) []string { newFilePaths := []string{} - for _, currentFilePath := range currentFilePaths { newFilePaths = append(newFilePaths, newDir+containerFileSeparator+path.Base(currentFilePath)) } @@ -140,6 +139,20 @@ func ContainerizeFilePaths(currentFilePaths []string, newDir string) []string { return newFilePaths } +// ContainerizeDependencyPaths -- make dependency paths valid given a valid container directory in newDir +func ContainerizeDependencyPaths(dependencyPaths []string, newDir string) []string { + newDependencyPaths := []string{} + for _, currentDependencyPath := range dependencyPaths { + newDependencyPath := util.SubstringFrom(currentDependencyPath, util.QuarkusDependenciesBaseDirectory) + if newDependencyPath != "" { + newDependencyPaths = append(newDependencyPaths, newDir+newDependencyPath) + } else { + newDependencyPaths = append(newDependencyPaths, newDir+containerFileSeparator+path.Base(currentDependencyPath)) + } + } + return newDependencyPaths +} + // ExtractRegistryName -- Extract registry name from image path. func ExtractRegistryName(image string) (string, error) { pathComponents := strings.Split(image, containerFileSeparator) diff --git a/pkg/util/util.go b/pkg/util/util.go index b6f1cff..9487bfc 100644 --- a/pkg/util/util.go +++ b/pkg/util/util.go @@ -65,6 +65,9 @@ var ContainerRoutesDirectory = "/etc/camel/sources" // ContainerResourcesDirectory -- var ContainerResourcesDirectory = "/etc/camel/resources" +// QuarkusDependenciesBaseDirectory -- +var QuarkusDependenciesBaseDirectory = "/quarkus-app" + // ListOfLazyEvaluatedEnvVars -- List of unevaluated environment variables. // These are sensitive values or values that may have different values depending // where the integration is run (locally vs. the cloud). These environment variables @@ -155,6 +158,15 @@ func StringSliceUniqueConcat(slice *[]string, items []string) bool { return changed } +// SubstringFrom -- +func SubstringFrom(s string, substr string) string { + index := strings.Index(s, substr) + if index != -1 { + return s[index:] + } + return "" +} + // EncodeXML -- func EncodeXML(content interface{}) ([]byte, error) { w := &bytes.Buffer{} diff --git a/script/Makefile b/script/Makefile index 97e7465..f420b43 100644 --- a/script/Makefile +++ b/script/Makefile @@ -17,7 +17,7 @@ VERSIONFILE := pkg/util/defaults/defaults.go VERSION := 1.4.0-SNAPSHOT OPERATOR_VERSION := $(subst -SNAPSHOT,,$(VERSION)) LAST_RELEASED_VERSION := 1.3.0 -RUNTIME_VERSION := 1.6.0 +RUNTIME_VERSION := 1.7.0-SNAPSHOT BUILDAH_VERSION := 1.14.0 KANIKO_VERSION := 0.17.1 BASE_IMAGE := adoptopenjdk/openjdk11:slim