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

nferraro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit 0b999d00edf13651f7bfa9def218e16b136f35db
Author: nicolaferraro <[email protected]>
AuthorDate: Tue Oct 6 12:12:13 2020 +0200

    Fix #1686: update doc
---
 docs/modules/ROOT/pages/kamelets/kamelets.adoc | 43 +++++++++++++++++++++++++-
 pkg/util/bindings/bindings_test.go             |  2 +-
 2 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/docs/modules/ROOT/pages/kamelets/kamelets.adoc 
b/docs/modules/ROOT/pages/kamelets/kamelets.adoc
index a5d7889..d3a0f2a 100644
--- a/docs/modules/ROOT/pages/kamelets/kamelets.adoc
+++ b/docs/modules/ROOT/pages/kamelets/kamelets.adoc
@@ -250,6 +250,8 @@ doing additional processing (such as tranformations or 
other enterprise integrat
 A common use case is that of **Knative Sources**, for which the Apache Camel 
developers maintain the 
https://knative.dev/docs/eventing/samples/apache-camel-source/[Knative 
CamelSources].
 Kamelets represent an **evolution** of the model proposed in CamelSources, but 
they allow using the same declarative style of binding, via a resource named 
**KameletBinding**.
 
+=== Binding to a Knative Destination
+
 A KameletBinding allows to declaratively move data from a system described by 
a Kamelet towards a Knative destination (or other kind of destinations, in the 
future), or from
 a Knative channel/broker to another external system described by a Kamelet.
 
@@ -289,6 +291,44 @@ A Kamelet of type "sink", by contrast, can only be used in 
the `sink` section of
 
 **Under the covers, a KameletBinding creates an Integration** resource that 
implements the binding, but this is transparent to the end user.
 
+=== Binding to a Kafka Topic
+
+The example seen in the previous paragraph can be also configured to push data 
a https://strimzi.io/[Strimzi] Kafka topic (Kamelets can be also configured to 
pull data from topics).
+
+To do so, you need to:
+
+- Install Strimzi on your cluster
+- Create a Strimzi *Kafka* cluster using plain listener and **no 
authentication**
+- Create a Strimzi *KafkaTopic* named `my-topic`
+
+Refer to the https://strimzi.io/[Strimzi documentation] for instructions on 
how to do that.
+
+The following binding can be created to push data into the `my-topic` topic:
+
+[source,yaml]
+----
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: telegram-text-source-to-kafka
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: telegram-text-source
+    properties:
+      botToken: the-token-here
+  sink:
+    ref: # <1>
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+----
+<1> Kubernetes reference to a Strimzi KafkaTopic
+
+After creating it, messages will flow from Telegram to Kafka.
+
 === Binding to an explicit URI
 
 An alternative way to use a KameletBinding is to configure the source/sink to 
be an explicit Camel URI.
@@ -315,7 +355,8 @@ spec:
 
 This KameletBinding explicitly defines an URI where data is going to be pushed.
 
-NOTE: the `uri` option is also conventionally used in Knative to specify a 
non-kubernetes destination
+NOTE: the `uri` option is also conventionally used in Knative to specify a 
non-kubernetes destination.
+To comply with the Knative specifications, in case an "http" or "https" URI is 
used, Camel will send https://cloudevents.io/[CloudEvents] to the destination.
 
 [[kamelets-specification]]
 == Kamelet Specification
diff --git a/pkg/util/bindings/bindings_test.go 
b/pkg/util/bindings/bindings_test.go
index 8ad28a2..385febf 100644
--- a/pkg/util/bindings/bindings_test.go
+++ b/pkg/util/bindings/bindings_test.go
@@ -21,13 +21,13 @@ import (
        "context"
        "encoding/json"
        "fmt"
-       "github.com/apache/camel-k/pkg/util/test"
        "net/url"
        "testing"
 
        camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1"
        knativeapis "github.com/apache/camel-k/pkg/apis/camel/v1/knative"
        "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
+       "github.com/apache/camel-k/pkg/util/test"
        "github.com/stretchr/testify/assert"
        corev1 "k8s.io/api/core/v1"
 )

Reply via email to