This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch mongodb-fix in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git
commit d3fa0617c88d6fc3db5d3c92b9beb4237640b0e5 Author: Andrea Cosentino <[email protected]> AuthorDate: Fri Jun 25 11:39:19 2021 +0200 Added MongoDB Source Kamelet --- .../ROOT/assets/images/kamelets/mongodb-source.svg | 1 + docs/modules/ROOT/pages/mongodb-source.adoc | 136 +++++++++++++++++++++ 2 files changed, 137 insertions(+) diff --git a/docs/modules/ROOT/assets/images/kamelets/mongodb-source.svg b/docs/modules/ROOT/assets/images/kamelets/mongodb-source.svg new file mode 100644 index 0000000..bf6e1f5 --- /dev/null +++ b/docs/modules/ROOT/assets/images/kamelets/mongodb-source.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 31 67" fill="#fff" fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round"><use xlink:href="#A" x="1" y="1"/><symbol id="A" overflow="visible"><g stroke="none" fill-rule="nonzero"><path d="M14.174.175l1.708 3.208c.371.579.804 1.117 1.29 1.604 1.43 1.43 2.788 2.928 4.008 4.532 2.894 3.8 4.846 8 6.24 12.584a30.94 30.94 0 0 1 1.324 8.54c.14 8.646-2.824 16.07-8.8 22.24-.97 [...] \ No newline at end of file diff --git a/docs/modules/ROOT/pages/mongodb-source.adoc b/docs/modules/ROOT/pages/mongodb-source.adoc new file mode 100644 index 0000000..a49b9a1 --- /dev/null +++ b/docs/modules/ROOT/pages/mongodb-source.adoc @@ -0,0 +1,136 @@ +// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT += image:kamelets/mongodb-source.svg[] MongoDB Source + +*Provided by: "Apache Software Foundation"* + +*Support Level for this Kamelet is: "Preview"* + +Consume documents from MongoDB + +== Configuration Options + +The following table summarizes the configuration options available for the `mongodb-source` Kamelet: +[width="100%",cols="2,^2,3,^2,^2,^3",options="header"] +|=== +| Property| Name| Description| Type| Default| Example +| *collection {empty}* *| MongoDB Collection| Sets the name of the MongoDB collection to bind to this endpoint.| string| | +| *database {empty}* *| MongoDB Database| Sets the name of the MongoDB database to target.| string| | +| *hosts {empty}* *| MongoDB Hosts| Comma separated list of MongoDB Host Addresses in host:port format.| string| | +| *password {empty}* *| MongoDB Password| User password for accessing MongoDB.| string| | +| *username {empty}* *| MongoDB Username| Username for accessing MongoDB.| string| | +|=== + +NOTE: Fields marked with ({empty}*) are mandatory. + +== Usage + +This section summarizes how the `mongodb-source` can be used in various contexts. + +=== Knative Source + +The `mongodb-source` Kamelet can be used as Knative source by binding it to a Knative object. + +.mongodb-source-binding.yaml +[source,yaml] +---- +apiVersion: camel.apache.org/v1alpha1 +kind: KameletBinding +metadata: + name: mongodb-source-binding +spec: + source: + ref: + kind: Kamelet + apiVersion: camel.apache.org/v1alpha1 + name: mongodb-source + properties: + collection: "The MongoDB Collection" + database: "The MongoDB Database" + hosts: "The MongoDB Hosts" + password: "The MongoDB Password" + username: "The MongoDB Username" + sink: + ref: + kind: InMemoryChannel + apiVersion: messaging.knative.dev/v1 + name: mychannel + +---- + +Make sure you have xref:latest@camel-k::installation/installation.adoc[Camel K installed] into the Kubernetes cluster you're connected to. + +Save the `mongodb-source-binding.yaml` file into your hard drive, then configure it according to your needs. + +You can run the source using the following command: + +[source,shell] +---- +kubectl apply -f mongodb-source-binding.yaml +---- + +==== *Binding to Knative using the Kamel CLI:* + +The procedure described above can be simplified into a single execution of the `kamel bind` command: + +[source,shell] +---- +kamel bind mongodb-source -p "source.collection=The MongoDB Collection" -p "source.database=The MongoDB Database" -p "source.hosts=The MongoDB Hosts" -p "source.password=The MongoDB Password" -p "source.username=The MongoDB Username" channel/mychannel +---- + +This will create the KameletBinding under the hood and apply it to the current namespace in the cluster. + +=== Kafka Source + +The `mongodb-source` Kamelet can be used as Kafka source by binding it to a Kafka topic. + +.mongodb-source-binding.yaml +[source,yaml] +---- +apiVersion: camel.apache.org/v1alpha1 +kind: KameletBinding +metadata: + name: mongodb-source-binding +spec: + source: + ref: + kind: Kamelet + apiVersion: camel.apache.org/v1alpha1 + name: mongodb-source + properties: + collection: "The MongoDB Collection" + database: "The MongoDB Database" + hosts: "The MongoDB Hosts" + password: "The MongoDB Password" + username: "The MongoDB Username" + sink: + ref: + kind: KafkaTopic + apiVersion: kafka.strimzi.io/v1beta1 + name: my-topic + +---- + +Ensure that you've installed https://strimzi.io/[Strimzi] and created a topic named `my-topic` in the current namespace. +Make also sure you have xref:latest@camel-k::installation/installation.adoc[Camel K installed] into the Kubernetes cluster you're connected to. + +Save the `mongodb-source-binding.yaml` file into your hard drive, then configure it according to your needs. + +You can run the source using the following command: + +[source,shell] +---- +kubectl apply -f mongodb-source-binding.yaml +---- + +==== *Binding to Kafka using the Kamel CLI:* + +The procedure described above can be simplified into a single execution of the `kamel bind` command: + +[source,shell] +---- +kamel bind mongodb-source -p "source.collection=The MongoDB Collection" -p "source.database=The MongoDB Database" -p "source.hosts=The MongoDB Hosts" -p "source.password=The MongoDB Password" -p "source.username=The MongoDB Username" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic +---- + +This will create the KameletBinding under the hood and apply it to the current namespace in the cluster. + +// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
