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

acosentino pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git

commit 0848e86e6009f2ae833ff74015a60d65f8cb7970
Author: Andrea Cosentino <[email protected]>
AuthorDate: Fri Jun 25 14:33:33 2021 +0200

    Added MongoDB Sink Kamelet
---
 .../ROOT/assets/images/kamelets/mongodb-sink.svg   |   1 +
 docs/modules/ROOT/pages/mongodb-sink.adoc          | 138 +++++++++++++++++++++
 2 files changed, 139 insertions(+)

diff --git a/docs/modules/ROOT/assets/images/kamelets/mongodb-sink.svg 
b/docs/modules/ROOT/assets/images/kamelets/mongodb-sink.svg
new file mode 100644
index 0000000..bf6e1f5
--- /dev/null
+++ b/docs/modules/ROOT/assets/images/kamelets/mongodb-sink.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-sink.adoc 
b/docs/modules/ROOT/pages/mongodb-sink.adoc
new file mode 100644
index 0000000..d3f517a
--- /dev/null
+++ b/docs/modules/ROOT/pages/mongodb-sink.adoc
@@ -0,0 +1,138 @@
+// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
+= image:kamelets/mongodb-sink.svg[] MongoDB Sink
+
+*Provided by: "Apache Software Foundation"*
+
+*Support Level for this Kamelet is: "Preview"*
+
+Send documents to MongoDB.
+
+This Kamelet expects a JSON as body.
+
+== Configuration Options
+
+The following table summarizes the configuration options available for the 
`mongodb-sink` 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-sink` can be used in various contexts.
+
+=== Knative Sink
+
+The `mongodb-sink` Kamelet can be used as Knative sink by binding it to a 
Knative object.
+
+.mongodb-sink-binding.yaml
+[source,yaml]
+----
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mongodb-sink-binding
+spec:
+  source:
+    ref:
+      kind: InMemoryChannel
+      apiVersion: messaging.knative.dev/v1
+      name: mychannel
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mongodb-sink
+    properties:
+      collection: "The MongoDB Collection"
+      database: "The MongoDB Database"
+      hosts: "The MongoDB Hosts"
+      password: "The MongoDB Password"
+      username: "The MongoDB Username"
+
+----
+
+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-sink-binding.yaml` file into your hard drive, then configure 
it according to your needs.
+
+You can run the sink using the following command:
+
+[source,shell]
+----
+kubectl apply -f mongodb-sink-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 channel/mychannel mongodb-sink -p "sink.collection=The MongoDB 
Collection" -p "sink.database=The MongoDB Database" -p "sink.hosts=The MongoDB 
Hosts" -p "sink.password=The MongoDB Password" -p "sink.username=The MongoDB 
Username"
+----
+
+This will create the KameletBinding under the hood and apply it to the current 
namespace in the cluster.
+
+=== Kafka Sink
+
+The `mongodb-sink` Kamelet can be used as Kafka sink by binding it to a Kafka 
topic.
+
+.mongodb-sink-binding.yaml
+[source,yaml]
+----
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mongodb-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mongodb-sink
+    properties:
+      collection: "The MongoDB Collection"
+      database: "The MongoDB Database"
+      hosts: "The MongoDB Hosts"
+      password: "The MongoDB Password"
+      username: "The MongoDB Username"
+
+----
+
+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-sink-binding.yaml` file into your hard drive, then configure 
it according to your needs.
+
+You can run the sink using the following command:
+
+[source,shell]
+----
+kubectl apply -f mongodb-sink-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 kafka.strimzi.io/v1beta1:KafkaTopic:my-topic mongodb-sink -p 
"sink.collection=The MongoDB Collection" -p "sink.database=The MongoDB 
Database" -p "sink.hosts=The MongoDB Hosts" -p "sink.password=The MongoDB 
Password" -p "sink.username=The MongoDB Username"
+----
+
+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

Reply via email to