This is an automated email from the ASF dual-hosted git repository. nferraro pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git
commit 0e1630c7c2458b64493aa92d1d9af87b1684c4e0 Author: nicolaferraro <ni.ferr...@gmail.com> AuthorDate: Wed Apr 28 17:16:32 2021 +0200 Add validator bound to the CI and fix kamelets --- .github/workflows/validate.yaml | 53 +++++ aws-kinesis-firehose-sink.kamelet.yaml | 2 +- aws-s3-sink.kamelet.yaml | 2 +- aws-s3-source.kamelet.yaml | 4 +- aws-sns-fifo-sink.kamelet.yaml | 2 +- aws-sns-sink.kamelet.yaml | 2 +- aws-sqs-batch-sink.kamelet.yaml | 2 +- aws-sqs-fifo-sink.kamelet.yaml | 2 +- aws-sqs-sink.kamelet.yaml | 2 +- aws-sqs-source.kamelet.yaml | 6 +- azure-eventhubs-sink.kamelet.yaml | 6 +- azure-eventhubs-source.kamelet.yaml | 12 +- azure-storage-blob-source.kamelet.yaml | 2 +- bitcoin-source.kamelet.yaml | 2 +- .../twitter-directmessage-source.kamelet.yaml | 0 .../kamelets/twitter-search-source.kamelet.yaml | 0 .../kamelets/twitter-timeline-source.kamelet.yaml | 0 cassandra-sink.kamelet.yaml | 4 +- docs/README.md | 13 +- docs/generator/go.mod | 8 - .../ROOT/pages/aws-kinesis-firehose-sink.adoc | 4 +- docs/modules/ROOT/pages/aws-s3-sink.adoc | 2 +- docs/modules/ROOT/pages/aws-s3-source.adoc | 4 +- docs/modules/ROOT/pages/aws-sns-fifo-sink.adoc | 2 +- docs/modules/ROOT/pages/aws-sns-sink.adoc | 2 +- docs/modules/ROOT/pages/aws-sqs-batch-sink.adoc | 2 +- docs/modules/ROOT/pages/aws-sqs-fifo-sink.adoc | 2 +- docs/modules/ROOT/pages/aws-sqs-sink.adoc | 2 +- docs/modules/ROOT/pages/aws-sqs-source.adoc | 6 +- docs/modules/ROOT/pages/azure-eventhubs-sink.adoc | 12 +- .../modules/ROOT/pages/azure-eventhubs-source.adoc | 24 +-- .../ROOT/pages/azure-storage-blob-source.adoc | 2 +- docs/modules/ROOT/pages/bitcoin-source.adoc | 2 +- docs/modules/ROOT/pages/cassandra-sink.adoc | 3 +- docs/modules/ROOT/pages/dropbox-sink.adoc | 8 +- docs/modules/ROOT/pages/dropbox-source.adoc | 14 +- docs/modules/ROOT/pages/earthquake-source.adoc | 4 +- .../ROOT/pages/elasticsearch-search-source.adoc | 8 +- docs/modules/ROOT/pages/exec-sink.adoc | 6 +- docs/modules/ROOT/pages/fhir-source.adoc | 4 +- docs/modules/ROOT/pages/file-watch-source.adoc | 6 +- docs/modules/ROOT/pages/github-source.adoc | 2 +- docs/modules/ROOT/pages/google-mail-source.adoc | 10 +- docs/modules/ROOT/pages/http-source.adoc | 4 +- docs/modules/ROOT/pages/kafka-source.adoc | 4 +- docs/modules/ROOT/pages/minio-sink.adoc | 2 +- docs/modules/ROOT/pages/minio-source.adoc | 4 +- docs/modules/ROOT/pages/nats-source.adoc | 7 +- docs/modules/ROOT/pages/ssh-source.adoc | 16 +- dropbox-sink.kamelet.yaml | 4 +- dropbox-source.kamelet.yaml | 8 +- earthquake-source.kamelet.yaml | 4 +- elasticsearch-search-source.kamelet.yaml | 4 +- exec-sink.kamelet.yaml | 7 +- fhir-source.kamelet.yaml | 4 +- file-watch-source.kamelet.yaml | 4 +- github-source.kamelet.yaml | 2 +- google-mail-source.kamelet.yaml | 8 +- http-source.kamelet.yaml | 4 +- kafka-source.kamelet.yaml | 2 +- minio-sink.kamelet.yaml | 2 +- minio-source.kamelet.yaml | 4 +- nats-source.kamelet.yaml | 6 +- script/generator/README.md | 8 + {docs => script}/generator/generator.go | 0 script/generator/go.mod | 10 + {docs => script}/generator/go.sum | 92 ++++++++ script/validator/README.md | 8 + script/validator/go.mod | 12 ++ script/validator/go.sum | 208 ++++++++++++++++++ script/validator/validator.go | 239 +++++++++++++++++++++ ssh-source.kamelet.yaml | 10 +- ...ml => twitter-directmessage-source.kamelet.yaml | 0 ...elet.yaml => twitter-search-source.kamelet.yaml | 0 ...et.yaml => twitter-timeline-source.kamelet.yaml | 0 75 files changed, 780 insertions(+), 162 deletions(-) diff --git a/.github/workflows/validate.yaml b/.github/workflows/validate.yaml new file mode 100644 index 0000000..5f9afbd --- /dev/null +++ b/.github/workflows/validate.yaml @@ -0,0 +1,53 @@ +# --------------------------------------------------------------------------- +# 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. +# --------------------------------------------------------------------------- + +name: validate + +on: + pull_request: + branches: + - main + paths-ignore: + - '**.adoc' + - 'KEYS' + - 'LICENSE' + - 'NOTICE' + push: + branches: + - main + paths-ignore: + - '**.adoc' + - 'KEYS' + - 'LICENSE' + - 'NOTICE' + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Install Go + uses: actions/setup-go@v1 + with: + go-version: 1.13.x + - name: Run Validator + run: | + echo "Running Kamelet validator..." + + cd script/validator + go run . ../../ diff --git a/aws-kinesis-firehose-sink.kamelet.yaml b/aws-kinesis-firehose-sink.kamelet.yaml index 33ac7c4..7d992e7 100644 --- a/aws-kinesis-firehose-sink.kamelet.yaml +++ b/aws-kinesis-firehose-sink.kamelet.yaml @@ -19,7 +19,7 @@ spec: - region properties: streamName: - title: Stream name + title: Stream Name description: The name of the stream we want to send to data to type: string accessKey: diff --git a/aws-s3-sink.kamelet.yaml b/aws-s3-sink.kamelet.yaml index 5caafb2..85d061e 100644 --- a/aws-s3-sink.kamelet.yaml +++ b/aws-s3-sink.kamelet.yaml @@ -56,7 +56,7 @@ spec: type: string example: "http://another-s3-endpoint:9000" autoCreateBucket: - title: Autocreate bucket + title: Autocreate Bucket description: Setting the autocreation of the S3 bucket bucketName. type: boolean x-descriptors: diff --git a/aws-s3-source.kamelet.yaml b/aws-s3-source.kamelet.yaml index 77f9bee..8c4ab4c 100644 --- a/aws-s3-source.kamelet.yaml +++ b/aws-s3-source.kamelet.yaml @@ -23,7 +23,7 @@ spec: description: The S3 Bucket name or ARN type: string deleteAfterRead: - title: Auto-delete objects + title: Auto-delete Objects description: Delete objects after consuming them type: boolean x-descriptors: @@ -47,7 +47,7 @@ spec: type: string example: eu-west-1 autoCreateBucket: - title: Autocreate bucket + title: Autocreate Bucket description: Setting the autocreation of the S3 bucket bucketName. type: boolean x-descriptors: diff --git a/aws-sns-fifo-sink.kamelet.yaml b/aws-sns-fifo-sink.kamelet.yaml index 21bcc58..af43b31 100644 --- a/aws-sns-fifo-sink.kamelet.yaml +++ b/aws-sns-fifo-sink.kamelet.yaml @@ -45,7 +45,7 @@ spec: type: boolean default: false autoCreateTopic: - title: Autocreate topic + title: Autocreate Topic description: Setting the autocreation of the SNS topic. type: boolean x-descriptors: diff --git a/aws-sns-sink.kamelet.yaml b/aws-sns-sink.kamelet.yaml index 6a668e0..3925568 100644 --- a/aws-sns-sink.kamelet.yaml +++ b/aws-sns-sink.kamelet.yaml @@ -40,7 +40,7 @@ spec: type: string example: eu-west-1 autoCreateTopic: - title: Autocreate topic + title: Autocreate Topic description: Setting the autocreation of the SNS topic. type: boolean x-descriptors: diff --git a/aws-sqs-batch-sink.kamelet.yaml b/aws-sqs-batch-sink.kamelet.yaml index 8a95a76..56c15f7 100644 --- a/aws-sqs-batch-sink.kamelet.yaml +++ b/aws-sqs-batch-sink.kamelet.yaml @@ -41,7 +41,7 @@ spec: type: string example: eu-west-1 autoCreateQueue: - title: Autocreate queue + title: Autocreate Queue description: Setting the autocreation of the SQS queue. type: boolean x-descriptors: diff --git a/aws-sqs-fifo-sink.kamelet.yaml b/aws-sqs-fifo-sink.kamelet.yaml index dd2a427..f4a07b9 100644 --- a/aws-sqs-fifo-sink.kamelet.yaml +++ b/aws-sqs-fifo-sink.kamelet.yaml @@ -45,7 +45,7 @@ spec: type: boolean default: false autoCreateQueue: - title: Autocreate queue + title: Autocreate Queue description: Setting the autocreation of the SQS queue. type: boolean x-descriptors: diff --git a/aws-sqs-sink.kamelet.yaml b/aws-sqs-sink.kamelet.yaml index d4151fe..e45bd03 100644 --- a/aws-sqs-sink.kamelet.yaml +++ b/aws-sqs-sink.kamelet.yaml @@ -40,7 +40,7 @@ spec: type: string example: eu-west-1 autoCreateQueue: - title: Autocreate queue + title: Autocreate Queue description: Setting the autocreation of the SQS queue. type: boolean x-descriptors: diff --git a/aws-sqs-source.kamelet.yaml b/aws-sqs-source.kamelet.yaml index 20e7326..47337b2 100644 --- a/aws-sqs-source.kamelet.yaml +++ b/aws-sqs-source.kamelet.yaml @@ -20,10 +20,10 @@ spec: properties: queueNameOrArn: title: Queue Name - description: The SQS Queue name or ARN + description: The SQS Queue Name or ARN type: string deleteAfterRead: - title: Auto-delete messages + title: Auto-delete Messages description: Delete messages after consuming them type: boolean x-descriptors: @@ -47,7 +47,7 @@ spec: type: string example: eu-west-1 autoCreateQueue: - title: Autocreate queue + title: Autocreate Queue description: Setting the autocreation of the SQS queue. type: boolean x-descriptors: diff --git a/azure-eventhubs-sink.kamelet.yaml b/azure-eventhubs-sink.kamelet.yaml index 9208f06..0082ef6 100644 --- a/azure-eventhubs-sink.kamelet.yaml +++ b/azure-eventhubs-sink.kamelet.yaml @@ -29,16 +29,16 @@ spec: description: The eventhubs namespace type: string eventhubName: - title: Eventhubs name + title: Eventhubs Name description: The eventhub name type: boolean type: string sharedAccessName: - title: Share access name + title: Share Access Name description: EventHubs SAS key name type: string sharedAccessKey: - title: Share access key + title: Share Access Key description: The key for EventHubs SAS key name type: string x-descriptors: diff --git a/azure-eventhubs-source.kamelet.yaml b/azure-eventhubs-source.kamelet.yaml index 863f3df..3a1ab67 100644 --- a/azure-eventhubs-source.kamelet.yaml +++ b/azure-eventhubs-source.kamelet.yaml @@ -26,30 +26,30 @@ spec: description: The eventhubs namespace type: string eventhubName: - title: Eventhubs name + title: Eventhubs Name description: The eventhub name type: boolean type: string sharedAccessName: - title: Share access name + title: Share Access Name description: EventHubs SAS key name type: string sharedAccessKey: - title: Share access key + title: Share Access Key description: The key for EventHubs SAS key name type: string x-descriptors: - urn:alm:descriptor:com.tectonic.ui:password blobAccountName: - title: Azure Storage Blob account name + title: Azure Storage Blob Account Name description: The name of the storage blob account to be use type: string blobContainerName: - title: Azure Storage Blob container name + title: Azure Storage Blob Container Name description: The name of the storage blob container to be use type: string blobAccessKey: - title: Azure Storage Blob access key + title: Azure Storage Blob Access Key description: The key for Azure Storage Blob service associated with the Blob account name type: string x-descriptors: diff --git a/azure-storage-blob-source.kamelet.yaml b/azure-storage-blob-source.kamelet.yaml index 93aa156..3b77cef 100644 --- a/azure-storage-blob-source.kamelet.yaml +++ b/azure-storage-blob-source.kamelet.yaml @@ -19,7 +19,7 @@ spec: - accessKey properties: period: - title: Period between polls + title: Period between Polls description: The interval between fetches to the Azure Storage Container in milliseconds type: integer default: 10000 diff --git a/bitcoin-source.kamelet.yaml b/bitcoin-source.kamelet.yaml index 9d35788..21ccaa0 100644 --- a/bitcoin-source.kamelet.yaml +++ b/bitcoin-source.kamelet.yaml @@ -14,7 +14,7 @@ spec: Provides a feed of the value of the Bitcoin compared to USDT using the Binance service. properties: period: - title: Period between updates + title: Period between Updates description: The interval between updates in milliseconds type: integer default: 10000 diff --git a/twitter-directmessage.kamelet.yaml b/camel-kamelets-catalog/src/main/resources/kamelets/twitter-directmessage-source.kamelet.yaml old mode 100755 new mode 100644 similarity index 100% rename from twitter-directmessage.kamelet.yaml rename to camel-kamelets-catalog/src/main/resources/kamelets/twitter-directmessage-source.kamelet.yaml diff --git a/twitter-search.kamelet.yaml b/camel-kamelets-catalog/src/main/resources/kamelets/twitter-search-source.kamelet.yaml old mode 100755 new mode 100644 similarity index 100% rename from twitter-search.kamelet.yaml rename to camel-kamelets-catalog/src/main/resources/kamelets/twitter-search-source.kamelet.yaml diff --git a/twitter-timeline.kamelet.yaml b/camel-kamelets-catalog/src/main/resources/kamelets/twitter-timeline-source.kamelet.yaml old mode 100755 new mode 100644 similarity index 100% rename from twitter-timeline.kamelet.yaml rename to camel-kamelets-catalog/src/main/resources/kamelets/twitter-timeline-source.kamelet.yaml diff --git a/cassandra-sink.kamelet.yaml b/cassandra-sink.kamelet.yaml index 6a9d428..cf62e89 100644 --- a/cassandra-sink.kamelet.yaml +++ b/cassandra-sink.kamelet.yaml @@ -20,7 +20,7 @@ spec: - keyspace - username - password - - query + - preparedStatement properties: host: title: Host @@ -53,7 +53,7 @@ spec: type: string default: ANY preparedStatement: - title: The Prepared statement + title: Prepared Statement description: The Prepared statement to execute against the Cassandra cluster table type: string dependencies: diff --git a/docs/README.md b/docs/README.md index 4f51d31..4a8ce33 100644 --- a/docs/README.md +++ b/docs/README.md @@ -2,18 +2,13 @@ This section contains the Kamelet catalog website, auto-generated from the source Kamelets. -## Building - -To generate the adoc and svg files for the website (you need `go`): - -``` -# From the /docs/generator directory -go run . ../../ ../modules/ROOT/ -``` - To preview the website: ``` # From the /docs directory yarn preview ``` + +## Generator + +The generator tool has been moved in the /script/generator directory diff --git a/docs/generator/go.mod b/docs/generator/go.mod deleted file mode 100644 index 85f55e1..0000000 --- a/docs/generator/go.mod +++ /dev/null @@ -1,8 +0,0 @@ -module github.com/apache/camel-kamelets/docs/generator - -go 1.14 - -require ( - github.com/apache/camel-k/pkg/apis/camel v1.3.1 - k8s.io/apimachinery v0.18.9 -) diff --git a/docs/modules/ROOT/pages/aws-kinesis-firehose-sink.adoc b/docs/modules/ROOT/pages/aws-kinesis-firehose-sink.adoc index 8187b9b..155e61c 100644 --- a/docs/modules/ROOT/pages/aws-kinesis-firehose-sink.adoc +++ b/docs/modules/ROOT/pages/aws-kinesis-firehose-sink.adoc @@ -14,7 +14,7 @@ The following table summarizes the configuration options available for the `aws- | *accessKey {empty}* *| Access Key| The access key obtained from AWS| string| | | *region {empty}* *| AWS Region| The AWS region to connect to| string| | `"eu-west-1"` | *secretKey {empty}* *| Secret Key| The secret key obtained from AWS| string| | -| *streamName {empty}* *| Stream name| The name of the stream we want to send to data to| string| | +| *streamName {empty}* *| Stream Name| The name of the stream we want to send to data to| string| | |=== NOTE: Fields marked with ({empty}*) are mandatory. @@ -49,7 +49,7 @@ spec: accessKey: "The Access Key" region: "eu-west-1" secretKey: "The Secret Key" - streamName: "The Stream name" + streamName: "The Stream Name" ---- diff --git a/docs/modules/ROOT/pages/aws-s3-sink.adoc b/docs/modules/ROOT/pages/aws-s3-sink.adoc index a2703f5..9289761 100644 --- a/docs/modules/ROOT/pages/aws-s3-sink.adoc +++ b/docs/modules/ROOT/pages/aws-s3-sink.adoc @@ -21,7 +21,7 @@ The following table summarizes the configuration options available for the `aws- | *bucketNameOrArn {empty}* *| Bucket Name| The S3 Bucket name or ARN.| string| | | *region {empty}* *| AWS Region| The AWS region to connect to.| string| | `"eu-west-1"` | *secretKey {empty}* *| Secret Key| The secret key obtained from AWS.| string| | -| autoCreateBucket| Autocreate bucket| Setting the autocreation of the S3 bucket bucketName.| boolean| `false`| +| autoCreateBucket| Autocreate Bucket| Setting the autocreation of the S3 bucket bucketName.| boolean| `false`| | overrideEndpoint| Override Endpoint| Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride.| boolean| `false`| | uriEndpointOverride| Override Endpoint URI| Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option.| string| | `"http://another-s3-endpoint:9000"` |=== diff --git a/docs/modules/ROOT/pages/aws-s3-source.adoc b/docs/modules/ROOT/pages/aws-s3-source.adoc index 66d4b52..11570b4 100644 --- a/docs/modules/ROOT/pages/aws-s3-source.adoc +++ b/docs/modules/ROOT/pages/aws-s3-source.adoc @@ -15,8 +15,8 @@ The following table summarizes the configuration options available for the `aws- | *bucketNameOrArn {empty}* *| Bucket Name| The S3 Bucket name or ARN| string| | | *region {empty}* *| AWS Region| The AWS region to connect to| string| | `"eu-west-1"` | *secretKey {empty}* *| Secret Key| The secret key obtained from AWS| string| | -| autoCreateBucket| Autocreate bucket| Setting the autocreation of the S3 bucket bucketName.| boolean| `false`| -| deleteAfterRead| Auto-delete objects| Delete objects after consuming them| boolean| `true`| +| autoCreateBucket| Autocreate Bucket| Setting the autocreation of the S3 bucket bucketName.| boolean| `false`| +| deleteAfterRead| Auto-delete Objects| Delete objects after consuming them| boolean| `true`| |=== NOTE: Fields marked with ({empty}*) are mandatory. diff --git a/docs/modules/ROOT/pages/aws-sns-fifo-sink.adoc b/docs/modules/ROOT/pages/aws-sns-fifo-sink.adoc index 37256fa..d8a9058 100644 --- a/docs/modules/ROOT/pages/aws-sns-fifo-sink.adoc +++ b/docs/modules/ROOT/pages/aws-sns-fifo-sink.adoc @@ -15,7 +15,7 @@ The following table summarizes the configuration options available for the `aws- | *region {empty}* *| AWS Region| The AWS region to connect to| string| | `"eu-west-1"` | *secretKey {empty}* *| Secret Key| The secret key obtained from AWS| string| | | *topicNameOrArn {empty}* *| Topic Name| The SNS Topic name or ARN| string| | -| autoCreateTopic| Autocreate topic| Setting the autocreation of the SNS topic.| boolean| `false`| +| autoCreateTopic| Autocreate Topic| Setting the autocreation of the SNS topic.| boolean| `false`| | contentBasedDeduplication| Content-Based Deduplication| Use content-based deduplication (should be enabled in the SQS FIFO queue first)| boolean| `false`| |=== diff --git a/docs/modules/ROOT/pages/aws-sns-sink.adoc b/docs/modules/ROOT/pages/aws-sns-sink.adoc index 9ce2f28..0f74eb9 100644 --- a/docs/modules/ROOT/pages/aws-sns-sink.adoc +++ b/docs/modules/ROOT/pages/aws-sns-sink.adoc @@ -15,7 +15,7 @@ The following table summarizes the configuration options available for the `aws- | *region {empty}* *| AWS Region| The AWS region to connect to| string| | `"eu-west-1"` | *secretKey {empty}* *| Secret Key| The secret key obtained from AWS| string| | | *topicNameOrArn {empty}* *| Topic Name| The SQS Topic name or ARN| string| | -| autoCreateTopic| Autocreate topic| Setting the autocreation of the SNS topic.| boolean| `false`| +| autoCreateTopic| Autocreate Topic| Setting the autocreation of the SNS topic.| boolean| `false`| |=== NOTE: Fields marked with ({empty}*) are mandatory. diff --git a/docs/modules/ROOT/pages/aws-sqs-batch-sink.adoc b/docs/modules/ROOT/pages/aws-sqs-batch-sink.adoc index 4caee88..aa37b3e 100644 --- a/docs/modules/ROOT/pages/aws-sqs-batch-sink.adoc +++ b/docs/modules/ROOT/pages/aws-sqs-batch-sink.adoc @@ -16,7 +16,7 @@ The following table summarizes the configuration options available for the `aws- | *queueNameOrArn {empty}* *| Queue Name| The SQS Queue name or ARN| string| | | *region {empty}* *| AWS Region| The AWS region to connect to| string| | `"eu-west-1"` | *secretKey {empty}* *| Secret Key| The secret key obtained from AWS| string| | -| autoCreateQueue| Autocreate queue| Setting the autocreation of the SQS queue.| boolean| `false`| +| autoCreateQueue| Autocreate Queue| Setting the autocreation of the SQS queue.| boolean| `false`| |=== NOTE: Fields marked with ({empty}*) are mandatory. diff --git a/docs/modules/ROOT/pages/aws-sqs-fifo-sink.adoc b/docs/modules/ROOT/pages/aws-sqs-fifo-sink.adoc index 8db85a3..f6b43f9 100644 --- a/docs/modules/ROOT/pages/aws-sqs-fifo-sink.adoc +++ b/docs/modules/ROOT/pages/aws-sqs-fifo-sink.adoc @@ -15,7 +15,7 @@ The following table summarizes the configuration options available for the `aws- | *queueNameOrArn {empty}* *| Queue Name| The SQS Queue name or ARN| string| | | *region {empty}* *| AWS Region| The AWS region to connect to| string| | `"eu-west-1"` | *secretKey {empty}* *| Secret Key| The secret key obtained from AWS| string| | -| autoCreateQueue| Autocreate queue| Setting the autocreation of the SQS queue.| boolean| `false`| +| autoCreateQueue| Autocreate Queue| Setting the autocreation of the SQS queue.| boolean| `false`| | contentBasedDeduplication| Content-Based Deduplication| Use content-based deduplication (should be enabled in the SQS FIFO queue first)| boolean| `false`| |=== diff --git a/docs/modules/ROOT/pages/aws-sqs-sink.adoc b/docs/modules/ROOT/pages/aws-sqs-sink.adoc index 0ea5c3a..95fa148 100644 --- a/docs/modules/ROOT/pages/aws-sqs-sink.adoc +++ b/docs/modules/ROOT/pages/aws-sqs-sink.adoc @@ -15,7 +15,7 @@ The following table summarizes the configuration options available for the `aws- | *queueNameOrArn {empty}* *| Queue Name| The SQS Queue name or ARN| string| | | *region {empty}* *| AWS Region| The AWS region to connect to| string| | `"eu-west-1"` | *secretKey {empty}* *| Secret Key| The secret key obtained from AWS| string| | -| autoCreateQueue| Autocreate queue| Setting the autocreation of the SQS queue.| boolean| `false`| +| autoCreateQueue| Autocreate Queue| Setting the autocreation of the SQS queue.| boolean| `false`| |=== NOTE: Fields marked with ({empty}*) are mandatory. diff --git a/docs/modules/ROOT/pages/aws-sqs-source.adoc b/docs/modules/ROOT/pages/aws-sqs-source.adoc index 55957d8..5d1dfca 100644 --- a/docs/modules/ROOT/pages/aws-sqs-source.adoc +++ b/docs/modules/ROOT/pages/aws-sqs-source.adoc @@ -12,11 +12,11 @@ The following table summarizes the configuration options available for the `aws- |=== | Property| Name| Description| Type| Default| Example | *accessKey {empty}* *| Access Key| The access key obtained from AWS| string| | -| *queueNameOrArn {empty}* *| Queue Name| The SQS Queue name or ARN| string| | +| *queueNameOrArn {empty}* *| Queue Name| The SQS Queue Name or ARN| string| | | *region {empty}* *| AWS Region| The AWS region to connect to| string| | `"eu-west-1"` | *secretKey {empty}* *| Secret Key| The secret key obtained from AWS| string| | -| autoCreateQueue| Autocreate queue| Setting the autocreation of the SQS queue.| boolean| `false`| -| deleteAfterRead| Auto-delete messages| Delete messages after consuming them| boolean| `true`| +| autoCreateQueue| Autocreate Queue| Setting the autocreation of the SQS queue.| boolean| `false`| +| deleteAfterRead| Auto-delete Messages| Delete messages after consuming them| boolean| `true`| |=== NOTE: Fields marked with ({empty}*) are mandatory. diff --git a/docs/modules/ROOT/pages/azure-eventhubs-sink.adoc b/docs/modules/ROOT/pages/azure-eventhubs-sink.adoc index 78e47ff..3afd386 100644 --- a/docs/modules/ROOT/pages/azure-eventhubs-sink.adoc +++ b/docs/modules/ROOT/pages/azure-eventhubs-sink.adoc @@ -17,10 +17,10 @@ The following table summarizes the configuration options available for the `azur [width="100%",cols="2,^2,3,^2,^2,^3",options="header"] |=== | Property| Name| Description| Type| Default| Example -| *eventhubName {empty}* *| Eventhubs name| The eventhub name| string| | +| *eventhubName {empty}* *| Eventhubs Name| The eventhub name| string| | | *namespaceName {empty}* *| Eventhubs Namespace| The eventhubs namespace| string| | -| *sharedAccessKey {empty}* *| Share access key| The key for EventHubs SAS key name| string| | -| *sharedAccessName {empty}* *| Share access name| EventHubs SAS key name| string| | +| *sharedAccessKey {empty}* *| Share Access Key| The key for EventHubs SAS key name| string| | +| *sharedAccessName {empty}* *| Share Access Name| EventHubs SAS key name| string| | |=== NOTE: Fields marked with ({empty}*) are mandatory. @@ -52,10 +52,10 @@ spec: apiVersion: camel.apache.org/v1alpha1 name: azure-eventhubs-sink properties: - eventhubName: "The Eventhubs name" + eventhubName: "The Eventhubs Name" namespaceName: "The Eventhubs Namespace" - sharedAccessKey: "The Share access key" - sharedAccessName: "The Share access name" + sharedAccessKey: "The Share Access Key" + sharedAccessName: "The Share Access Name" ---- diff --git a/docs/modules/ROOT/pages/azure-eventhubs-source.adoc b/docs/modules/ROOT/pages/azure-eventhubs-source.adoc index 9e7acd0..1a1af7f 100644 --- a/docs/modules/ROOT/pages/azure-eventhubs-source.adoc +++ b/docs/modules/ROOT/pages/azure-eventhubs-source.adoc @@ -11,13 +11,13 @@ The following table summarizes the configuration options available for the `azur [width="100%",cols="2,^2,3,^2,^2,^3",options="header"] |=== | Property| Name| Description| Type| Default| Example -| *blobAccessKey {empty}* *| Azure Storage Blob access key| The key for Azure Storage Blob service associated with the Blob account name| string| | -| *blobAccountName {empty}* *| Azure Storage Blob account name| The name of the storage blob account to be use| string| | -| *blobContainerName {empty}* *| Azure Storage Blob container name| The name of the storage blob container to be use| string| | -| *eventhubName {empty}* *| Eventhubs name| The eventhub name| string| | +| *blobAccessKey {empty}* *| Azure Storage Blob Access Key| The key for Azure Storage Blob service associated with the Blob account name| string| | +| *blobAccountName {empty}* *| Azure Storage Blob Account Name| The name of the storage blob account to be use| string| | +| *blobContainerName {empty}* *| Azure Storage Blob Container Name| The name of the storage blob container to be use| string| | +| *eventhubName {empty}* *| Eventhubs Name| The eventhub name| string| | | *namespaceName {empty}* *| Eventhubs Namespace| The eventhubs namespace| string| | -| *sharedAccessKey {empty}* *| Share access key| The key for EventHubs SAS key name| string| | -| *sharedAccessName {empty}* *| Share access name| EventHubs SAS key name| string| | +| *sharedAccessKey {empty}* *| Share Access Key| The key for EventHubs SAS key name| string| | +| *sharedAccessName {empty}* *| Share Access Name| EventHubs SAS key name| string| | |=== NOTE: Fields marked with ({empty}*) are mandatory. @@ -44,13 +44,13 @@ spec: apiVersion: camel.apache.org/v1alpha1 name: azure-eventhubs-source properties: - blobAccessKey: "The Azure Storage Blob access key" - blobAccountName: "The Azure Storage Blob account name" - blobContainerName: "The Azure Storage Blob container name" - eventhubName: "The Eventhubs name" + blobAccessKey: "The Azure Storage Blob Access Key" + blobAccountName: "The Azure Storage Blob Account Name" + blobContainerName: "The Azure Storage Blob Container Name" + eventhubName: "The Eventhubs Name" namespaceName: "The Eventhubs Namespace" - sharedAccessKey: "The Share access key" - sharedAccessName: "The Share access name" + sharedAccessKey: "The Share Access Key" + sharedAccessName: "The Share Access Name" sink: ref: kind: InMemoryChannel diff --git a/docs/modules/ROOT/pages/azure-storage-blob-source.adoc b/docs/modules/ROOT/pages/azure-storage-blob-source.adoc index 703d9a7..edb8450 100644 --- a/docs/modules/ROOT/pages/azure-storage-blob-source.adoc +++ b/docs/modules/ROOT/pages/azure-storage-blob-source.adoc @@ -14,7 +14,7 @@ The following table summarizes the configuration options available for the `azur | *accessKey {empty}* *| Access Key| The Azure Storage Blob access Key.| string| | | *accountName {empty}* *| Account Name| The Azure Storage Blob account name.| string| | | *containerName {empty}* *| Container Name| The Azure Storage Blob container name.| string| | -| *period {empty}* *| Period between polls| The interval between fetches to the Azure Storage Container in milliseconds| integer| `10000`| +| *period {empty}* *| Period between Polls| The interval between fetches to the Azure Storage Container in milliseconds| integer| `10000`| |=== NOTE: Fields marked with ({empty}*) are mandatory. diff --git a/docs/modules/ROOT/pages/bitcoin-source.adoc b/docs/modules/ROOT/pages/bitcoin-source.adoc index 9130b62..6c52ca1 100644 --- a/docs/modules/ROOT/pages/bitcoin-source.adoc +++ b/docs/modules/ROOT/pages/bitcoin-source.adoc @@ -11,7 +11,7 @@ The following table summarizes the configuration options available for the `bitc [width="100%",cols="2,^2,3,^2,^2,^3",options="header"] |=== | Property| Name| Description| Type| Default| Example -| period| Period between updates| The interval between updates in milliseconds| integer| `10000`| +| period| Period between Updates| The interval between updates in milliseconds| integer| `10000`| |=== NOTE: Fields marked with ({empty}*) are mandatory. diff --git a/docs/modules/ROOT/pages/cassandra-sink.adoc b/docs/modules/ROOT/pages/cassandra-sink.adoc index bfd5c03..5863e92 100644 --- a/docs/modules/ROOT/pages/cassandra-sink.adoc +++ b/docs/modules/ROOT/pages/cassandra-sink.adoc @@ -17,9 +17,9 @@ The following table summarizes the configuration options available for the `cass | *keyspace {empty}* *| Keyspace| Keyspace to use| string| | `"customers"` | *password {empty}* *| Password| The password to use for accessing a secured Cassandra Cluster| string| | | *port {empty}* *| Port| Port number of cassandra server(s)| string| | `9042` +| *preparedStatement {empty}* *| Prepared Statement| The Prepared statement to execute against the Cassandra cluster table| string| | | *username {empty}* *| Username| The username to use for accessing a secured Cassandra Cluster| string| | | consistencyLevel| Consistency Level| Consistency level to use. The value can be one of ANY, ONE, TWO, THREE, QUORUM, ALL, LOCAL_QUORUM, EACH_QUORUM, SERIAL, LOCAL_SERIAL, LOCAL_ONE| string| `"ANY"`| -| preparedStatement| The Prepared statement| The Prepared statement to execute against the Cassandra cluster table| string| | |=== NOTE: Fields marked with ({empty}*) are mandatory. @@ -55,6 +55,7 @@ spec: keyspace: "customers" password: "The Password" port: 9042 + preparedStatement: "The Prepared Statement" username: "The Username" ---- diff --git a/docs/modules/ROOT/pages/dropbox-sink.adoc b/docs/modules/ROOT/pages/dropbox-sink.adoc index b71a5b7..24f6d0a 100644 --- a/docs/modules/ROOT/pages/dropbox-sink.adoc +++ b/docs/modules/ROOT/pages/dropbox-sink.adoc @@ -18,8 +18,8 @@ The following table summarizes the configuration options available for the `drop |=== | Property| Name| Description| Type| Default| Example | *accessToken {empty}* *| Dropbox Access Token| The access Token to use to access Dropbox| string| | -| *clientIdentifier {empty}* *| The client identifier| Dropbox App client Identifier| string| | -| *remotePath {empty}* *| Remote path| Original file or folder to work with| string| | +| *clientIdentifier {empty}* *| Client Identifier| Dropbox App client Identifier| string| | +| *remotePath {empty}* *| Remote Path| Original file or folder to work with| string| | | *uploadMode {empty}* *| Upload Mode| Which mode to upload. in case of add the new file will be renamed if a file with the same name already exists on dropbox. in case of force if a file with the same name already exists on dropbox, this will be overwritten. The value can be one of add, force.| string| `"add"`| |=== @@ -53,8 +53,8 @@ spec: name: dropbox-sink properties: accessToken: "The Dropbox Access Token" - clientIdentifier: "The The client identifier" - remotePath: "The Remote path" + clientIdentifier: "The Client Identifier" + remotePath: "The Remote Path" ---- diff --git a/docs/modules/ROOT/pages/dropbox-source.adoc b/docs/modules/ROOT/pages/dropbox-source.adoc index 10601a6..695faba 100644 --- a/docs/modules/ROOT/pages/dropbox-source.adoc +++ b/docs/modules/ROOT/pages/dropbox-source.adoc @@ -12,10 +12,10 @@ The following table summarizes the configuration options available for the `drop |=== | Property| Name| Description| Type| Default| Example | *accessToken {empty}* *| Dropbox Access Token| The access Token to use to access Dropbox| string| | -| *clientIdentifier {empty}* *| The client identifier| Dropbox App client Identifier| string| | -| *period {empty}* *| Period between polls| The interval between fetches to the Dropbox remote path in milliseconds| integer| `10000`| -| *query {empty}* *| Querys| A space-separated list of sub-strings to search for. A file matches only if it contains all the sub-strings. If this option is not set, all files will be matched.| string| | -| *remotePath {empty}* *| Remote path| Original file or folder to work with| string| | +| *clientIdentifier {empty}* *| Client Identifier| Dropbox App client Identifier| string| | +| *period {empty}* *| Period between Polls| The interval between fetches to the Dropbox remote path in milliseconds| integer| `10000`| +| *query {empty}* *| Queries| A space-separated list of sub-strings to search for. A file matches only if it contains all the sub-strings. If this option is not set, all files will be matched.| string| | +| *remotePath {empty}* *| Remote Path| Original file or folder to work with| string| | |=== NOTE: Fields marked with ({empty}*) are mandatory. @@ -43,9 +43,9 @@ spec: name: dropbox-source properties: accessToken: "The Dropbox Access Token" - clientIdentifier: "The The client identifier" - query: "The Querys" - remotePath: "The Remote path" + clientIdentifier: "The Client Identifier" + query: "The Queries" + remotePath: "The Remote Path" sink: ref: kind: InMemoryChannel diff --git a/docs/modules/ROOT/pages/earthquake-source.adoc b/docs/modules/ROOT/pages/earthquake-source.adoc index b664673..e3a023e 100644 --- a/docs/modules/ROOT/pages/earthquake-source.adoc +++ b/docs/modules/ROOT/pages/earthquake-source.adoc @@ -11,8 +11,8 @@ The following table summarizes the configuration options available for the `eart [width="100%",cols="2,^2,3,^2,^2,^3",options="header"] |=== | Property| Name| Description| Type| Default| Example -| lookAhead| Look-ahead minutes| The amount of minutes to look ahead when starting the integration afresh| integer| `120`| -| period| Period between polls| The interval between fetches to the earthquake API in milliseconds| integer| `60000`| +| lookAhead| Look-ahead Minutes| The amount of minutes to look ahead when starting the integration afresh| integer| `120`| +| period| Period between Polls| The interval between fetches to the earthquake API in milliseconds| integer| `60000`| |=== NOTE: Fields marked with ({empty}*) are mandatory. diff --git a/docs/modules/ROOT/pages/elasticsearch-search-source.adoc b/docs/modules/ROOT/pages/elasticsearch-search-source.adoc index 5203d56..16524c4 100644 --- a/docs/modules/ROOT/pages/elasticsearch-search-source.adoc +++ b/docs/modules/ROOT/pages/elasticsearch-search-source.adoc @@ -11,8 +11,8 @@ The following table summarizes the configuration options available for the `elas [width="100%",cols="2,^2,3,^2,^2,^3",options="header"] |=== | Property| Name| Description| Type| Default| Example -| *clusterName {empty}* *| ElasticSearch cluster name| Name of the cluster.| string| | -| *hostAddresses {empty}* *| Host addresses| Comma separated list with ip:port formatted remote transport addresses to use.| string| | +| *clusterName {empty}* *| ElasticSearch Cluster Name| Name of the cluster.| string| | +| *hostAddresses {empty}* *| Host Addresses| Comma separated list with ip:port formatted remote transport addresses to use.| string| | | *indexName {empty}* *| Index in ElasticSearch| The name of the index to act against.| string| | | *query {empty}* *| Query| The query we want to use to search on ElasticSearch.| string| | | enableSSL| Enable SSL| Do we want to connect using SSL?| boolean| `true`| @@ -45,8 +45,8 @@ spec: apiVersion: camel.apache.org/v1alpha1 name: elasticsearch-search-source properties: - clusterName: "The ElasticSearch cluster name" - hostAddresses: "The Host addresses" + clusterName: "The ElasticSearch Cluster Name" + hostAddresses: "The Host Addresses" indexName: "The Index in ElasticSearch" query: "The Query" sink: diff --git a/docs/modules/ROOT/pages/exec-sink.adoc b/docs/modules/ROOT/pages/exec-sink.adoc index 0b7defa..0199360 100644 --- a/docs/modules/ROOT/pages/exec-sink.adoc +++ b/docs/modules/ROOT/pages/exec-sink.adoc @@ -7,7 +7,7 @@ Execute system commands The Kamelet expects the following headers to be set: -- `args/ `ce-args`: as the args to be set on the executable. +- `args` / `ce-args`: as the args to be set on the executable. If the header won't be set the executable will be run without arguments. @@ -17,7 +17,7 @@ The following table summarizes the configuration options available for the `exec [width="100%",cols="2,^2,3,^2,^2,^3",options="header"] |=== | Property| Name| Description| Type| Default| Example -| *executable {empty}* *| Executable command| The command to execute| string| | +| *executable {empty}* *| Executable Command| The command to execute| string| | |=== NOTE: Fields marked with ({empty}*) are mandatory. @@ -49,7 +49,7 @@ spec: apiVersion: camel.apache.org/v1alpha1 name: exec-sink properties: - executable: "The Executable command" + executable: "The Executable Command" ---- diff --git a/docs/modules/ROOT/pages/fhir-source.adoc b/docs/modules/ROOT/pages/fhir-source.adoc index dee17a4..b410db4 100644 --- a/docs/modules/ROOT/pages/fhir-source.adoc +++ b/docs/modules/ROOT/pages/fhir-source.adoc @@ -14,8 +14,8 @@ The following table summarizes the configuration options available for the `fhir | *password {empty}* *| Password| The password to access the Fhir server| string| | | *serverUrl {empty}* *| Server URL| The Fhir server url| string| | | *username {empty}* *| Username| The username to access the Fhir server| string| | -| encoding| encoding| Encoding to use for all request. Possible values are JSON and XML| string| `"JSON"`| -| fhirVersion| Fhir version| The FHIR Version to use. There are 6 enums and the value can be one of DSTU2, DSTU2_HL7ORG, DSTU2_1, DSTU3, R4, R5| string| `"R4"`| +| encoding| Encoding| Encoding to use for all request. Possible values are JSON and XML| string| `"JSON"`| +| fhirVersion| Fhir Version| The FHIR Version to use. There are 6 enums and the value can be one of DSTU2, DSTU2_HL7ORG, DSTU2_1, DSTU3, R4, R5| string| `"R4"`| | prettyPrint| Json Pretty Print| Define if the Json must be pretty print or not| boolean| `true`| | url| URL| The Fhir resource type url| string| `"/Patient"`| |=== diff --git a/docs/modules/ROOT/pages/file-watch-source.adoc b/docs/modules/ROOT/pages/file-watch-source.adoc index 4cc21b9..d379b4a 100644 --- a/docs/modules/ROOT/pages/file-watch-source.adoc +++ b/docs/modules/ROOT/pages/file-watch-source.adoc @@ -11,8 +11,8 @@ The following table summarizes the configuration options available for the `file [width="100%",cols="2,^2,3,^2,^2,^3",options="header"] |=== | Property| Name| Description| Type| Default| Example -| *events {empty}* *| The events| The type of events to consume| boolean| `"CREATE,MODIFY,DELETE"`| -| *path {empty}* *| The path| Path of file or folder to watch| string| | +| *events {empty}* *| Events| The type of events to consume| boolean| `"CREATE,MODIFY,DELETE"`| +| *path {empty}* *| Path to Watch| Path of file or folder to watch| string| | |=== NOTE: Fields marked with ({empty}*) are mandatory. @@ -39,7 +39,7 @@ spec: apiVersion: camel.apache.org/v1alpha1 name: file-watch-source properties: - path: "The The path" + path: "The Path to Watch" sink: ref: kind: InMemoryChannel diff --git a/docs/modules/ROOT/pages/github-source.adoc b/docs/modules/ROOT/pages/github-source.adoc index 8ed2d86..a1670d6 100644 --- a/docs/modules/ROOT/pages/github-source.adoc +++ b/docs/modules/ROOT/pages/github-source.adoc @@ -14,7 +14,7 @@ The following table summarizes the configuration options available for the `gith | *oauthToken {empty}* *| OAuth Token| Oauth token| string| | | *repoName {empty}* *| Repository Name| The Github Repository name| string| | | *repoOwner {empty}* *| Repository Owner| The repository owner| string| | -| *type {empty}* *| Event type| The type of event to consume. One of event, pullRequest, pullRequestComment or tag| string| `"event"`| +| *type {empty}* *| Event Type| The type of event to consume. One of event, pullRequest, pullRequestComment or tag| string| `"event"`| |=== NOTE: Fields marked with ({empty}*) are mandatory. diff --git a/docs/modules/ROOT/pages/google-mail-source.adoc b/docs/modules/ROOT/pages/google-mail-source.adoc index 15a7bf1..71c6f8b 100644 --- a/docs/modules/ROOT/pages/google-mail-source.adoc +++ b/docs/modules/ROOT/pages/google-mail-source.adoc @@ -13,14 +13,14 @@ The following table summarizes the configuration options available for the `goog | Property| Name| Description| Type| Default| Example | *accessToken {empty}* *| Access Token| OAuth 2 access token for google mail application. This typically expires after an hour so refreshToken is recommended for long term usage.| string| | | *applicationName {empty}* *| Application name| Google Mail application name| string| | -| *clientId {empty}* *| Client Id| Client ID of the gmail application| string| | +| *clientId {empty}* *| Client ID| Client ID of the gmail application| string| | | *clientSecret {empty}* *| Client Secret| Client Secret of the gmail application| string| | | *index {empty}* *| Index| An index for the google mail endpoint| string| | | *refreshToken {empty}* *| Refresh Token| OAuth 2 refresh token for google mail application. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.| string| | | delay| Delay| Milliseconds before the next poll| integer| `500`| -| labels| Gmail labels| Comma separated list of labels to take into account| string| | `"inbox"` -| markAsRead| Mark as read| Mark the message as read once it has been consumed| boolean| `true`| -| query| Gmail query| The query to execute on gmail box| string| `"is:unread"`| `"is:unread -category:(promotions OR social)"` +| labels| Gmail Labels| Comma separated list of labels to take into account| string| | `"inbox"` +| markAsRead| Mark as Read| Mark the message as read once it has been consumed| boolean| `true`| +| query| Gmail Query| The query to execute on gmail box| string| `"is:unread"`| `"is:unread -category:(promotions OR social)"` |=== NOTE: Fields marked with ({empty}*) are mandatory. @@ -49,7 +49,7 @@ spec: properties: accessToken: "The Access Token" applicationName: "The Application name" - clientId: "The Client Id" + clientId: "The Client ID" clientSecret: "The Client Secret" index: "The Index" refreshToken: "The Refresh Token" diff --git a/docs/modules/ROOT/pages/http-source.adoc b/docs/modules/ROOT/pages/http-source.adoc index 721a456..eaa1936 100644 --- a/docs/modules/ROOT/pages/http-source.adoc +++ b/docs/modules/ROOT/pages/http-source.adoc @@ -12,8 +12,8 @@ The following table summarizes the configuration options available for the `http |=== | Property| Name| Description| Type| Default| Example | *url {empty}* *| URL| The URL to fetch for data| string| | `"https://gist.githubusercontent.com/nicolaferraro/e3c72ace3c751f9f88273896611ce5fe/raw/3b6f54060bacb56b6719b7386a4645cb59ad6cc1/quote.json"` -| contentType| Content type| The content type accepted for the resource| string| `"application/json"`| -| period| Period between updates| The interval between fetches in milliseconds| integer| `10000`| +| contentType| Content Type| The content type accepted for the resource| string| `"application/json"`| +| period| Period between Updates| The interval between fetches in milliseconds| integer| `10000`| |=== NOTE: Fields marked with ({empty}*) are mandatory. diff --git a/docs/modules/ROOT/pages/kafka-source.adoc b/docs/modules/ROOT/pages/kafka-source.adoc index 5095592..e8e2295 100644 --- a/docs/modules/ROOT/pages/kafka-source.adoc +++ b/docs/modules/ROOT/pages/kafka-source.adoc @@ -12,7 +12,7 @@ The following table summarizes the configuration options available for the `kafk |=== | Property| Name| Description| Type| Default| Example | *brokers {empty}* *| Brokers| Comma separated list of Kafka Broker URLs| string| | -| *topic {empty}* *| Topic names| Comma separated list of Kafka topic names| string| | +| *topic {empty}* *| Topic Names| Comma separated list of Kafka topic names| string| | |=== NOTE: Fields marked with ({empty}*) are mandatory. @@ -40,7 +40,7 @@ spec: name: kafka-source properties: brokers: "The Brokers" - topic: "The Topic names" + topic: "The Topic Names" sink: ref: kind: InMemoryChannel diff --git a/docs/modules/ROOT/pages/minio-sink.adoc b/docs/modules/ROOT/pages/minio-sink.adoc index 1596986..a554f90 100644 --- a/docs/modules/ROOT/pages/minio-sink.adoc +++ b/docs/modules/ROOT/pages/minio-sink.adoc @@ -21,7 +21,7 @@ The following table summarizes the configuration options available for the `mini | *bucketName {empty}* *| Bucket Name| The Minio Bucket name| string| | | *endpoint {empty}* *| Endpoint| The Minio Endpoint, it can be an URL, domain name, IPv4 address or IPv6 address.| string| | `"http://localhost:9000"` | *secretKey {empty}* *| Secret Key| The secret key obtained from Minio| string| | -| autoCreateBucket| Autocreate bucket| Setting the autocreation of the S3 bucket bucketName.| boolean| `false`| +| autoCreateBucket| Autocreate Bucket| Setting the autocreation of the S3 bucket bucketName.| boolean| `false`| |=== NOTE: Fields marked with ({empty}*) are mandatory. diff --git a/docs/modules/ROOT/pages/minio-source.adoc b/docs/modules/ROOT/pages/minio-source.adoc index f0a2ff2..8f45e81 100644 --- a/docs/modules/ROOT/pages/minio-source.adoc +++ b/docs/modules/ROOT/pages/minio-source.adoc @@ -15,8 +15,8 @@ The following table summarizes the configuration options available for the `mini | *bucketName {empty}* *| Bucket Name| The Minio Bucket name| string| | | *endpoint {empty}* *| Endpoint| The Minio Endpoint, it can be an URL, domain name, IPv4 address or IPv6 address.| string| | `"http://localhost:9000"` | *secretKey {empty}* *| Secret Key| The secret key obtained from Minio| string| | -| autoCreateBucket| Autocreate bucket| Setting the autocreation of the S3 bucket bucketName.| boolean| `false`| -| deleteAfterRead| Auto-delete objects| Delete objects after consuming them| boolean| `true`| +| autoCreateBucket| Autocreate Bucket| Setting the autocreation of the S3 bucket bucketName.| boolean| `false`| +| deleteAfterRead| Auto-delete Objects| Delete objects after consuming them| boolean| `true`| |=== NOTE: Fields marked with ({empty}*) are mandatory. diff --git a/docs/modules/ROOT/pages/nats-source.adoc b/docs/modules/ROOT/pages/nats-source.adoc index cd6afec..005c21b 100644 --- a/docs/modules/ROOT/pages/nats-source.adoc +++ b/docs/modules/ROOT/pages/nats-source.adoc @@ -11,8 +11,8 @@ The following table summarizes the configuration options available for the `nats [width="100%",cols="2,^2,3,^2,^2,^3",options="header"] |=== | Property| Name| Description| Type| Default| Example -| *topic {empty}* *| topic| NATS Topic name| string| | -| brokers| servers| Comma separated list of NATS Servers| string| | +| *servers {empty}* *| Servers| Comma separated list of NATS Servers| string| | +| *topic {empty}* *| Topic| NATS Topic name| string| | |=== NOTE: Fields marked with ({empty}*) are mandatory. @@ -39,7 +39,8 @@ spec: apiVersion: camel.apache.org/v1alpha1 name: nats-source properties: - topic: "The topic" + servers: "The Servers" + topic: "The Topic" sink: ref: kind: InMemoryChannel diff --git a/docs/modules/ROOT/pages/ssh-source.adoc b/docs/modules/ROOT/pages/ssh-source.adoc index 2424690..73e7a9f 100644 --- a/docs/modules/ROOT/pages/ssh-source.adoc +++ b/docs/modules/ROOT/pages/ssh-source.adoc @@ -11,11 +11,11 @@ The following table summarizes the configuration options available for the `ssh- [width="100%",cols="2,^2,3,^2,^2,^3",options="header"] |=== | Property| Name| Description| Type| Default| Example -| *host {empty}* *| SSH Host| The SSH Host| string| | -| *password {empty}* *| The SSH password| The SSH password to use| string| | -| *pollCommand {empty}* *| The Poll command| The command to run while polling the SSH session| string| | `"date"` -| *port {empty}* *| SSH Port| The SSH Port| string| `22`| -| *username {empty}* *| The SSH username| The SSH username to use| string| | +| *host {empty}* *| Host| The SSH Host| string| | +| *password {empty}* *| Password| The SSH password to use| string| | +| *pollCommand {empty}* *| Poll Command| The command to run while polling the SSH session| string| | `"date"` +| *port {empty}* *| Port| The SSH Port| string| `22`| +| *username {empty}* *| Username| The SSH username to use| string| | | delay| Delay| Milliseconds before the next poll| integer| `500`| |=== @@ -43,10 +43,10 @@ spec: apiVersion: camel.apache.org/v1alpha1 name: ssh-source properties: - host: "The SSH Host" - password: "The The SSH password" + host: "The Host" + password: "The Password" pollCommand: "date" - username: "The The SSH username" + username: "The Username" sink: ref: kind: InMemoryChannel diff --git a/dropbox-sink.kamelet.yaml b/dropbox-sink.kamelet.yaml index ed060c1..bb072c9 100644 --- a/dropbox-sink.kamelet.yaml +++ b/dropbox-sink.kamelet.yaml @@ -31,11 +31,11 @@ spec: x-descriptors: - urn:alm:descriptor:com.tectonic.ui:password clientIdentifier: - title: The client identifier + title: Client Identifier description: Dropbox App client Identifier type: string remotePath: - title: Remote path + title: Remote Path description: Original file or folder to work with type: string uploadMode: diff --git a/dropbox-source.kamelet.yaml b/dropbox-source.kamelet.yaml index 5a1a3d4..19b1732 100644 --- a/dropbox-source.kamelet.yaml +++ b/dropbox-source.kamelet.yaml @@ -20,7 +20,7 @@ spec: - query properties: period: - title: Period between polls + title: Period between Polls description: The interval between fetches to the Dropbox remote path in milliseconds type: integer default: 10000 @@ -31,15 +31,15 @@ spec: x-descriptors: - urn:alm:descriptor:com.tectonic.ui:password clientIdentifier: - title: The client identifier + title: Client Identifier description: Dropbox App client Identifier type: string remotePath: - title: Remote path + title: Remote Path description: Original file or folder to work with type: string query: - title: Querys + title: Queries description: A space-separated list of sub-strings to search for. A file matches only if it contains all the sub-strings. If this option is not set, all files will be matched. type: string flow: diff --git a/earthquake-source.kamelet.yaml b/earthquake-source.kamelet.yaml index 1954140..8afb6e6 100755 --- a/earthquake-source.kamelet.yaml +++ b/earthquake-source.kamelet.yaml @@ -16,12 +16,12 @@ spec: Get data about current earthquake events happening in the world using the USGS API properties: period: - title: Period between polls + title: Period between Polls description: The interval between fetches to the earthquake API in milliseconds type: integer default: 60000 lookAhead: - title: Look-ahead minutes + title: Look-ahead Minutes description: The amount of minutes to look ahead when starting the integration afresh type: integer default: 120 diff --git a/elasticsearch-search-source.kamelet.yaml b/elasticsearch-search-source.kamelet.yaml index 83953bd..3aa8ce3 100755 --- a/elasticsearch-search-source.kamelet.yaml +++ b/elasticsearch-search-source.kamelet.yaml @@ -51,7 +51,7 @@ spec: type: boolean default: true hostAddresses: - title: Host addresses + title: Host Addresses description: Comma separated list with ip:port formatted remote transport addresses to use. type: string indexName: @@ -59,7 +59,7 @@ spec: description: The name of the index to act against. type: string clusterName: - title: ElasticSearch cluster name + title: ElasticSearch Cluster Name description: Name of the cluster. type: string dependencies: diff --git a/exec-sink.kamelet.yaml b/exec-sink.kamelet.yaml index 78bbadf..ed89525 100644 --- a/exec-sink.kamelet.yaml +++ b/exec-sink.kamelet.yaml @@ -15,15 +15,14 @@ spec: The Kamelet expects the following headers to be set: - - `args/ `ce-args`: as the args to be set on the executable. + - `args` / `ce-args`: as the args to be set on the executable. If the header won't be set the executable will be run without arguments. required: - - executable - - args + - executable properties: executable: - title: Executable command + title: Executable Command description: The command to execute type: string flow: diff --git a/fhir-source.kamelet.yaml b/fhir-source.kamelet.yaml index 5d48f2f..f6b7cb8 100644 --- a/fhir-source.kamelet.yaml +++ b/fhir-source.kamelet.yaml @@ -27,12 +27,12 @@ spec: type: string default: "/Patient" encoding: - title: encoding + title: Encoding description: Encoding to use for all request. Possible values are JSON and XML type: string default: "JSON" fhirVersion: - title: Fhir version + title: Fhir Version description: The FHIR Version to use. There are 6 enums and the value can be one of DSTU2, DSTU2_HL7ORG, DSTU2_1, DSTU3, R4, R5 type: string default: "R4" diff --git a/file-watch-source.kamelet.yaml b/file-watch-source.kamelet.yaml index 415a7d4..c59a51a 100644 --- a/file-watch-source.kamelet.yaml +++ b/file-watch-source.kamelet.yaml @@ -17,11 +17,11 @@ spec: - events properties: path: - title: The path + title: Path to Watch description: Path of file or folder to watch type: string events: - title: The events + title: Events description: The type of events to consume type: boolean default: "CREATE,MODIFY,DELETE" diff --git a/github-source.kamelet.yaml b/github-source.kamelet.yaml index 0adf74c..e63ac56 100644 --- a/github-source.kamelet.yaml +++ b/github-source.kamelet.yaml @@ -33,7 +33,7 @@ spec: x-descriptors: - urn:alm:descriptor:com.tectonic.ui:password type: - title: Event type + title: Event Type description: The type of event to consume. One of event, pullRequest, pullRequestComment or tag type: string default: event diff --git a/google-mail-source.kamelet.yaml b/google-mail-source.kamelet.yaml index ed4461c..c1abb1a 100644 --- a/google-mail-source.kamelet.yaml +++ b/google-mail-source.kamelet.yaml @@ -25,7 +25,7 @@ spec: description: An index for the google mail endpoint type: string clientId: - title: Client Id + title: Client ID description: Client ID of the gmail application type: string x-descriptors: @@ -58,19 +58,19 @@ spec: description: Google Mail application name type: string markAsRead: - title: Mark as read + title: Mark as Read description: Mark the message as read once it has been consumed type: boolean x-descriptors: - 'urn:alm:descriptor:com.tectonic.ui:checkbox' default: true labels: - title: Gmail labels + title: Gmail Labels description: Comma separated list of labels to take into account type: string example: "inbox" query: - title: Gmail query + title: Gmail Query description: The query to execute on gmail box type: string example: "is:unread -category:(promotions OR social)" diff --git a/http-source.kamelet.yaml b/http-source.kamelet.yaml index 39da2db..bcdc2cf 100644 --- a/http-source.kamelet.yaml +++ b/http-source.kamelet.yaml @@ -17,12 +17,12 @@ spec: - url properties: period: - title: Period between updates + title: Period between Updates description: The interval between fetches in milliseconds type: integer default: 10000 contentType: - title: Content type + title: Content Type description: The content type accepted for the resource type: string default: "application/json" diff --git a/kafka-source.kamelet.yaml b/kafka-source.kamelet.yaml index 3dd616e..670f95a 100644 --- a/kafka-source.kamelet.yaml +++ b/kafka-source.kamelet.yaml @@ -17,7 +17,7 @@ spec: - brokers properties: topic: - title: Topic names + title: Topic Names description: Comma separated list of Kafka topic names type: string brokers: diff --git a/minio-sink.kamelet.yaml b/minio-sink.kamelet.yaml index 78e894c..0dc94d0 100644 --- a/minio-sink.kamelet.yaml +++ b/minio-sink.kamelet.yaml @@ -46,7 +46,7 @@ spec: type: string example: http://localhost:9000 autoCreateBucket: - title: Autocreate bucket + title: Autocreate Bucket description: Setting the autocreation of the S3 bucket bucketName. type: boolean x-descriptors: diff --git a/minio-source.kamelet.yaml b/minio-source.kamelet.yaml index da7e82a..f79c9bf 100644 --- a/minio-source.kamelet.yaml +++ b/minio-source.kamelet.yaml @@ -23,7 +23,7 @@ spec: description: The Minio Bucket name type: string deleteAfterRead: - title: Auto-delete objects + title: Auto-delete Objects description: Delete objects after consuming them type: boolean x-descriptors: @@ -47,7 +47,7 @@ spec: type: string example: http://localhost:9000 autoCreateBucket: - title: Autocreate bucket + title: Autocreate Bucket description: Setting the autocreation of the S3 bucket bucketName. type: boolean x-descriptors: diff --git a/nats-source.kamelet.yaml b/nats-source.kamelet.yaml index ed5ee90..8ceee77 100644 --- a/nats-source.kamelet.yaml +++ b/nats-source.kamelet.yaml @@ -17,11 +17,11 @@ spec: - servers properties: topic: - title: topic + title: Topic description: NATS Topic name type: string - brokers: - title: servers + servers: + title: Servers description: Comma separated list of NATS Servers type: string types: diff --git a/script/generator/README.md b/script/generator/README.md new file mode 100644 index 0000000..5f3ff78 --- /dev/null +++ b/script/generator/README.md @@ -0,0 +1,8 @@ +# Website Generator + +To generate the adoc and svg files for the website (you need `go`): + +``` +# From the /tools/generator directory +go run . ../../ ../../docs/modules/ROOT/ +``` diff --git a/docs/generator/generator.go b/script/generator/generator.go similarity index 100% rename from docs/generator/generator.go rename to script/generator/generator.go diff --git a/script/generator/go.mod b/script/generator/go.mod new file mode 100644 index 0000000..9833de2 --- /dev/null +++ b/script/generator/go.mod @@ -0,0 +1,10 @@ +module github.com/apache/camel-kamelets/docs/generator + +go 1.14 + +require ( + github.com/apache/camel-k/pkg/apis/camel v1.4.0 + k8s.io/apimachinery v0.19.8 + k8s.io/klog v1.0.0 // indirect + sigs.k8s.io/structured-merge-diff/v3 v3.0.0 // indirect +) diff --git a/docs/generator/go.sum b/script/generator/go.sum similarity index 52% rename from docs/generator/go.sum rename to script/generator/go.sum index aead593..2576cd7 100644 --- a/docs/generator/go.sum +++ b/script/generator/go.sum @@ -1,42 +1,72 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/apache/camel-k/pkg/apis/camel v1.3.1 h1:8w3oXV1gQbTeazfOGuvYiSy52s3Zx9f3TeFF0pWyJvs= github.com/apache/camel-k/pkg/apis/camel v1.3.1/go.mod h1:N3N41+jPM447J8CvnzUcIdGZVvMh1dxP31xDSpZDeUk= +github.com/apache/camel-k/pkg/apis/camel v1.4.0 h1:iXa6uCVvMUItFejc+7WuLvcRyfQaRYWtg+9pEexgcM8= +github.com/apache/camel-k/pkg/apis/camel v1.4.0/go.mod h1:uv2KugsT0kfLiRJZS15UqQ3gHsvuhmOax9+0Rs9L1wY= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0 h1:QvGt2nLcHH0WK9orKa+ppBPAxREcH364nPUedEpK0TY= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok= github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= @@ -54,31 +84,80 @@ github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+ github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20191004110552-13f9640d40b9 h1:rjwSpXsdiK0dV8/Naq3kAw9ymfAeJIyd0upUIElB+lI= golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= @@ -87,18 +166,31 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= k8s.io/api v0.18.9 h1:7VDtivqwbvLOf8hmXSd/PDSSbpCBq49MELg84EYBYiQ= k8s.io/api v0.18.9/go.mod h1:9u/h6sUh6FxfErv7QqetX1EB3yBMIYOBXzdcf0Gf0rc= +k8s.io/api v0.19.8 h1:U50vBUCb5kc2J483mnITLKfdyoITaC7PnaOJwT7oRRM= +k8s.io/api v0.19.8/go.mod h1:9TMGoKoidvicOK0LSqj+Mj98pugQycbViPKyZHqutBc= k8s.io/apimachinery v0.18.9 h1:3ZABKQx3F3xPWlsGhCfUl8W+JXRRblV6Wo2A3zn0pvY= k8s.io/apimachinery v0.18.9/go.mod h1:PF5taHbXgTEJLU+xMypMmYTXTWPJ5LaW8bfsisxnEXk= +k8s.io/apimachinery v0.19.8 h1:MaehcNcx8brsgvMsqspcI0bi22E1np/DACnjf2mhJ5A= +k8s.io/apimachinery v0.19.8/go.mod h1:6sRbGRAVY5DOCuZwB5XkqguBqpqLU6q/kOaOdk29z6Q= k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0 h1:XRvcwJozkgZ1UQJmfMGpvRthQHOvihEhYtDfAaxMz/A= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E= +k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= sigs.k8s.io/structured-merge-diff/v3 v3.0.0 h1:dOmIZBMfhcHS09XZkMyUgkq5trg3/jRyJYFZUiaOp8E= sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.1 h1:YXTMot5Qz/X1iBRJhAt+vI+HVttY0WkSqqhKxQ0xVbA= +sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/script/validator/README.md b/script/validator/README.md new file mode 100644 index 0000000..5fec61f --- /dev/null +++ b/script/validator/README.md @@ -0,0 +1,8 @@ +# Kamelet Validator + +To validate the Kamelets: + +``` +# From the /tools/validator directory +go run . ../../ +``` diff --git a/script/validator/go.mod b/script/validator/go.mod new file mode 100644 index 0000000..093cb04 --- /dev/null +++ b/script/validator/go.mod @@ -0,0 +1,12 @@ +module github.com/apache/camel-kamelets/docs/generator + +go 1.14 + +require ( + github.com/apache/camel-k/pkg/apis/camel v1.4.0 + github.com/bbalet/stopwords v1.0.0 + github.com/pkg/errors v0.9.1 + k8s.io/apimachinery v0.19.8 + k8s.io/klog v1.0.0 // indirect + sigs.k8s.io/structured-merge-diff/v3 v3.0.0 // indirect +) diff --git a/script/validator/go.sum b/script/validator/go.sum new file mode 100644 index 0000000..286352c --- /dev/null +++ b/script/validator/go.sum @@ -0,0 +1,208 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/apache/camel-k/pkg/apis/camel v1.3.1 h1:8w3oXV1gQbTeazfOGuvYiSy52s3Zx9f3TeFF0pWyJvs= +github.com/apache/camel-k/pkg/apis/camel v1.3.1/go.mod h1:N3N41+jPM447J8CvnzUcIdGZVvMh1dxP31xDSpZDeUk= +github.com/apache/camel-k/pkg/apis/camel v1.4.0 h1:iXa6uCVvMUItFejc+7WuLvcRyfQaRYWtg+9pEexgcM8= +github.com/apache/camel-k/pkg/apis/camel v1.4.0/go.mod h1:uv2KugsT0kfLiRJZS15UqQ3gHsvuhmOax9+0Rs9L1wY= +github.com/bbalet/stopwords v1.0.0 h1:0TnGycCtY0zZi4ltKoOGRFIlZHv0WqpoIGUsObjztfo= +github.com/bbalet/stopwords v1.0.0/go.mod h1:sAWrQoDMfqARGIn4s6dp7OW7ISrshUD8IP2q3KoqPjc= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0 h1:QvGt2nLcHH0WK9orKa+ppBPAxREcH364nPUedEpK0TY= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9 h1:rjwSpXsdiK0dV8/Naq3kAw9ymfAeJIyd0upUIElB+lI= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +k8s.io/api v0.18.9 h1:7VDtivqwbvLOf8hmXSd/PDSSbpCBq49MELg84EYBYiQ= +k8s.io/api v0.18.9/go.mod h1:9u/h6sUh6FxfErv7QqetX1EB3yBMIYOBXzdcf0Gf0rc= +k8s.io/api v0.19.8 h1:U50vBUCb5kc2J483mnITLKfdyoITaC7PnaOJwT7oRRM= +k8s.io/api v0.19.8/go.mod h1:9TMGoKoidvicOK0LSqj+Mj98pugQycbViPKyZHqutBc= +k8s.io/apimachinery v0.18.9 h1:3ZABKQx3F3xPWlsGhCfUl8W+JXRRblV6Wo2A3zn0pvY= +k8s.io/apimachinery v0.18.9/go.mod h1:PF5taHbXgTEJLU+xMypMmYTXTWPJ5LaW8bfsisxnEXk= +k8s.io/apimachinery v0.19.8 h1:MaehcNcx8brsgvMsqspcI0bi22E1np/DACnjf2mhJ5A= +k8s.io/apimachinery v0.19.8/go.mod h1:6sRbGRAVY5DOCuZwB5XkqguBqpqLU6q/kOaOdk29z6Q= +k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= +k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0 h1:XRvcwJozkgZ1UQJmfMGpvRthQHOvihEhYtDfAaxMz/A= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E= +k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= +sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= +sigs.k8s.io/structured-merge-diff/v3 v3.0.0 h1:dOmIZBMfhcHS09XZkMyUgkq5trg3/jRyJYFZUiaOp8E= +sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.1 h1:YXTMot5Qz/X1iBRJhAt+vI+HVttY0WkSqqhKxQ0xVbA= +sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/script/validator/validator.go b/script/validator/validator.go new file mode 100644 index 0000000..6097385 --- /dev/null +++ b/script/validator/validator.go @@ -0,0 +1,239 @@ +package main + +import ( + "fmt" + "io/ioutil" + "os" + "path" + "path/filepath" + "sort" + "strings" + + camel "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" + "github.com/bbalet/stopwords" + perrors "github.com/pkg/errors" + "k8s.io/apimachinery/pkg/api/equality" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" + "k8s.io/apimachinery/pkg/util/json" + "k8s.io/apimachinery/pkg/util/yaml" +) + +func main() { + if len(os.Args) != 2 { + println("usage: validator kamelets-path") + os.Exit(1) + } + + dir := os.Args[1] + + kamelets := listKamelets(dir) + + errors := verifyFileNames(kamelets) + errors = append(errors, verifyKameletType(kamelets)...) + errors = append(errors, verifyAnnotations(kamelets)...) + errors = append(errors, verifyParameters(kamelets)...) + errors = append(errors, verifyInvalidContent(kamelets)...) + + for _, err := range errors { + fmt.Printf("ERROR: %v\n", err) + } + if len(errors) > 0 { + os.Exit(1) + } +} + +func verifyInvalidContent(kamelets []KameletInfo) (errors []error) { + for _, kamelet := range kamelets { + ser, err := json.Marshal(&kamelet.Kamelet) + if err != nil { + errors = append(errors, perrors.Wrapf(err, "cannot marshal kamelet %q", kamelet.Name)) + continue + } + var unstr unstructured.Unstructured + err = json.Unmarshal(ser, &unstr) + if err != nil { + errors = append(errors, perrors.Wrapf(err, "cannot unmarshal kamelet %q", kamelet.Name)) + continue + } + + file, err := ioutil.ReadFile(kamelet.FileName) + if err != nil { + errors = append(errors, perrors.Wrapf(err, "cannot load kamelet %q", kamelet.Name)) + continue + } + jsonFile, err := yaml.ToJSON(file) + if err != nil { + errors = append(errors, perrors.Wrapf(err, "cannot convert kamelet %q to JSON", kamelet.Name)) + continue + } + unstrFile := unstructured.Unstructured{} + err = json.Unmarshal(jsonFile, &unstrFile) + if err != nil { + errors = append(errors, perrors.Wrapf(err, "cannot unmarshal kamelet file %q", kamelet.Name)) + continue + } + + if !equality.Semantic.DeepDerivative(unstrFile, unstr) { + errors = append(errors, fmt.Errorf("kamelet %q contains invalid content that is not supported by the Kamelet schema", kamelet.Name)) + } + } + return errors +} + +func verifyParameters(kamelets []KameletInfo) (errors []error) { + for _, kamelet := range kamelets { + if kamelet.Spec.Definition == nil { + errors = append(errors, fmt.Errorf("kamelet %q does not contain the JSON schema definition", kamelet.Name)) + continue + } + if kamelet.Spec.Definition.Title == "" { + errors = append(errors, fmt.Errorf("kamelet %q does not contain title", kamelet.Name)) + } + if kamelet.Spec.Definition.Description == "" { + errors = append(errors, fmt.Errorf("kamelet %q does not contain description", kamelet.Name)) + } + for k, p := range kamelet.Spec.Definition.Properties { + if p.Type == "" { + errors = append(errors, fmt.Errorf("property %q in kamelet %q does not contain type", k, kamelet.Name)) + } + if p.Title == "" { + errors = append(errors, fmt.Errorf("property %q in kamelet %q does not contain title", k, kamelet.Name)) + } else { + cleanTitle := stopwords.CleanString(p.Title, "en", false) + goodWords := strings.Split(cleanTitle, " ") + check := make(map[string]bool, len(goodWords)) + for _, w := range goodWords { + check[strings.ToLower(w)] = true + } + words := strings.Split(p.Title, " ") + for _, w := range words { + if !check[strings.ToLower(w)] { + continue + } + if len(w) > 0 && strings.ToUpper(w[0:1]) != w[0:1] { + errors = append(errors, fmt.Errorf("property %q in kamelet %q does has non-capitalized word in the title: %q", k, kamelet.Name, w)) + } + } + } + if strings.HasPrefix(p.Title, "The ") { + errors = append(errors, fmt.Errorf("property %q in kamelet %q has a title starting with \"The \"", k, kamelet.Name)) + } + if strings.HasPrefix(p.Title, "A ") { + errors = append(errors, fmt.Errorf("property %q in kamelet %q has a title starting with \"A \"", k, kamelet.Name)) + } + if strings.HasPrefix(p.Title, "An ") { + errors = append(errors, fmt.Errorf("property %q in kamelet %q has a title starting with \"An \"", k, kamelet.Name)) + } + if p.Description == "" { + errors = append(errors, fmt.Errorf("property %q in kamelet %q does not contain a description", k, kamelet.Name)) + } + } + for _, k := range kamelet.Spec.Definition.Required { + if _, ok := kamelet.Spec.Definition.Properties[k]; !ok { + errors = append(errors, fmt.Errorf("required property %q in kamelet %q is not defined", k, kamelet.Name)) + } + } + } + return errors +} + +func verifyAnnotations(kamelets []KameletInfo) (errors []error) { + for _, kamelet := range kamelets { + if icon := kamelet.Annotations["camel.apache.org/kamelet.icon"]; icon == "" { + errors = append(errors, fmt.Errorf("kamelet %q does not contain the camel.apache.org/kamelet.icon annotation", kamelet.Name)) + } + expectedProvider := "Apache Software Foundation" + if provider := kamelet.Annotations["camel.apache.org/provider"]; provider != expectedProvider { + errors = append(errors, fmt.Errorf("kamelet %q does not contain the right value for the camel.apache.org/provider annotation: expected %q, found %q", kamelet.Name, expectedProvider, provider)) + } + } + return errors +} + +func verifyKameletType(kamelets []KameletInfo) (errors []error) { + for _, kamelet := range kamelets { + tp := kamelet.Labels["camel.apache.org/kamelet.type"] + switch tp { + case "source": + fallthrough + case "sink": + fallthrough + case "action": + expectedSuffix := fmt.Sprintf("-%s", tp) + if !strings.HasSuffix(kamelet.Name, expectedSuffix) { + errors = append(errors, fmt.Errorf("name of kamelet %q does not end with %q", kamelet.Name, expectedSuffix)) + } + default: + errors = append(errors, fmt.Errorf("kamelet %q contains an invalid value for the camel.apache.org/kamelet.type label: %q", kamelet.Name, tp)) + } + } + return errors +} + +func verifyFileNames(kamelets []KameletInfo) (errors []error) { + for _, kamelet := range kamelets { + if kamelet.Name != strings.TrimSuffix(path.Base(kamelet.FileName), ".kamelet.yaml") { + errors = append(errors, fmt.Errorf("file %q does not match the name of the contained kamelet: %q", kamelet.FileName, kamelet.Name)) + } + } + return errors +} + +func listKamelets(dir string) []KameletInfo { + scheme := runtime.NewScheme() + err := camel.AddToScheme(scheme) + handleGeneralError("cannot to add camel APIs to scheme", err) + + codecs := serializer.NewCodecFactory(scheme) + gv := camel.SchemeGroupVersion + gvk := schema.GroupVersionKind{ + Group: gv.Group, + Version: gv.Version, + Kind: "Kamelet", + } + decoder := codecs.UniversalDecoder(gv) + + kamelets := make([]KameletInfo, 0) + files, err := ioutil.ReadDir(dir) + filesSorted := make([]string, 0) + handleGeneralError(fmt.Sprintf("cannot list dir %q", dir), err) + for _, fd := range files { + if !fd.IsDir() && strings.HasSuffix(fd.Name(), ".kamelet.yaml") { + fullName := filepath.Join(dir, fd.Name()) + filesSorted = append(filesSorted, fullName) + } + } + sort.Strings(filesSorted) + for _, fileName := range filesSorted { + content, err := ioutil.ReadFile(fileName) + handleGeneralError(fmt.Sprintf("cannot read file %q", fileName), err) + + json, err := yaml.ToJSON(content) + handleGeneralError(fmt.Sprintf("cannot convert file %q to JSON", fileName), err) + + kamelet := camel.Kamelet{} + _, _, err = decoder.Decode(json, &gvk, &kamelet) + handleGeneralError(fmt.Sprintf("cannot unmarshal file %q into Kamelet", fileName), err) + kameletInfo := KameletInfo{ + Kamelet: kamelet, + FileName: fileName, + } + kamelets = append(kamelets, kameletInfo) + } + return kamelets +} + +type KameletInfo struct { + camel.Kamelet + FileName string +} + +func handleGeneralError(desc string, err error) { + if err != nil { + fmt.Printf("%s: %+v\n", desc, err) + os.Exit(2) + } +} diff --git a/ssh-source.kamelet.yaml b/ssh-source.kamelet.yaml index b0533b0..773133e 100644 --- a/ssh-source.kamelet.yaml +++ b/ssh-source.kamelet.yaml @@ -20,22 +20,22 @@ spec: - pollCommand properties: host: - title: SSH Host + title: Host description: The SSH Host type: string port: - title: SSH Port + title: Port description: The SSH Port type: string default: 22 username: - title: The SSH username + title: Username description: The SSH username to use type: string x-descriptors: - urn:alm:descriptor:com.tectonic.ui:password password: - title: The SSH password + title: Password description: The SSH password to use type: string x-descriptors: @@ -46,7 +46,7 @@ spec: type: integer default: 500 pollCommand: - title: The Poll command + title: Poll Command description: The command to run while polling the SSH session type: string example: date diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/twitter-directmessage.kamelet.yaml b/twitter-directmessage-source.kamelet.yaml old mode 100644 new mode 100755 similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/twitter-directmessage.kamelet.yaml rename to twitter-directmessage-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/twitter-search.kamelet.yaml b/twitter-search-source.kamelet.yaml old mode 100644 new mode 100755 similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/twitter-search.kamelet.yaml rename to twitter-search-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/twitter-timeline.kamelet.yaml b/twitter-timeline-source.kamelet.yaml old mode 100644 new mode 100755 similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/twitter-timeline.kamelet.yaml rename to twitter-timeline-source.kamelet.yaml