You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2023/10/20 14:10:10 UTC

[camel-kamelets] branch kafka-apicurio-sink created (now 2467f375)

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

acosentino pushed a change to branch kafka-apicurio-sink
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git


      at 2467f375 Added Kafka Apicurio Registry Sink Kamelet

This branch includes the following new commits:

     new d6a4ae79 Added Kafka Apicurio Registry Sink Kamelet
     new 2467f375 Added Kafka Apicurio Registry Sink Kamelet

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[camel-kamelets] 01/02: Added Kafka Apicurio Registry Sink Kamelet

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit d6a4ae7930b10dac43823ad1dd9045703c56baff
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Oct 19 11:12:10 2023 +0200

    Added Kafka Apicurio Registry Sink Kamelet
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 ...apicurio-registry-not-secured-sink.kamelet.yaml | 114 +++++++++++++++++++++
 ...apicurio-registry-not-secured-sink.kamelet.yaml | 114 +++++++++++++++++++++
 2 files changed, 228 insertions(+)

diff --git a/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml b/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml
new file mode 100644
index 00000000..52542c44
--- /dev/null
+++ b/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml
@@ -0,0 +1,114 @@
+# ---------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ---------------------------------------------------------------------------
+apiVersion: camel.apache.org/v1
+kind: Kamelet
+metadata:
+  name: kafka-apicurio-registry-not-secured-sink
+  annotations:
+    camel.apache.org/kamelet.support.level: "Stable"
+    camel.apache.org/catalog.version: "4.1.0-SNAPSHOT"
+    camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MD [...]
+    camel.apache.org/provider: "Apache Software Foundation"
+    camel.apache.org/kamelet.group: "Kafka"
+    camel.apache.org/kamelet.namespace: "Kafka"
+  labels:
+    camel.apache.org/kamelet.type: "sink"
+spec:
+  definition:
+    title: "Kafka Not Secured with Apicurio Registry Sink"
+    description: |-
+      Send data to Kafka topics on an insecure broker with Apicurio Registry.
+
+      The Kamelet is able to understand the following headers to be set:
+
+      - `key` / `ce-key`: as message key
+    
+      - `partition-key` / `ce-partitionkey`: as message partition key
+
+      Both the headers are optional.
+
+      Three headers, if specified, will be deduplicated with different names, kafka.key will be duplicated into kafka.KEY, kafka.topic into kafka.TOPIC and kafka.override_topic into kafka.OVERRIDE_TOPIC
+    required:
+      - topic
+      - bootstrapServers
+      - apicurioRegistryUrl
+    type: object
+    properties:
+      topic:
+        title: Topic Names
+        description: Comma separated list of Kafka topic names
+        type: string
+      bootstrapServers:
+        title: Bootstrap Servers
+        description: Comma separated list of Kafka Broker URLs
+        type: string
+      valueSerializer:
+        title: Value Serializer
+        description: Serliazer class for value that implements the Serializer interface.
+        type: string
+        default: "io.apicurio.registry.serde.avro.AvroKafkaSerializer"
+      apicurioRegistryUrl:
+        title: Apicurio Registry URL
+        description: The Apicurio Schema Registry URL
+        type: string
+        x-descriptors:
+        - urn:keda:metadata:apicurioRegistryUrl
+        - urn:keda:required
+      avroDatumProvider:
+        title: Avro Datum Provider
+        description: How to write data with Avro
+        type: string
+        default: "io.apicurio.registry.serde.avro.ReflectAvroDatumProvider"
+  dependencies:
+    - "camel:core"
+    - "camel:kamelet"
+    - "mvn:io.apicurio:apicurio-registry-serdes-avro-serde:2.4.12.Final"
+  template:
+    from:
+      uri: "kamelet:source"
+      steps:
+      - choice:
+          when:
+          - simple: "${header[key]}"
+            steps:
+            - set-header:
+                name: kafka.KEY
+                simple: "${header[key]}"
+          - simple: "${header[ce-key]}"
+            steps:
+            - set-header:
+                name: kafka.KEY
+                simple: "${header[ce-key]}"
+      - choice:
+          when:
+          - simple: "${header[partition-key]}"
+            steps:
+            - set-header:
+                name: kafka.PARTITION_KEY
+                simple: "${header[partition-key]}"
+          - simple: "${header[ce-partitionkey]}"
+            steps:
+            - set-header:
+                name: kafka.PARTITION_KEY
+                simple: "${header[ce-partitionkey]}"
+      - to:
+          uri: "kafka:{{topic}}"
+          parameters:
+            brokers: "{{bootstrapServers}}"
+            valueSerializer: "{{valueSerializer}}"
+            additionalProperties.apicurio.registry.url: "{{apicurioRegistryUrl}}"
+            additionalProperties.apicurio.registry.avro-datum-provider: "{{avroDatumProvider}}"
diff --git a/library/camel-kamelets/src/main/resources/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml
new file mode 100644
index 00000000..52542c44
--- /dev/null
+++ b/library/camel-kamelets/src/main/resources/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml
@@ -0,0 +1,114 @@
+# ---------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ---------------------------------------------------------------------------
+apiVersion: camel.apache.org/v1
+kind: Kamelet
+metadata:
+  name: kafka-apicurio-registry-not-secured-sink
+  annotations:
+    camel.apache.org/kamelet.support.level: "Stable"
+    camel.apache.org/catalog.version: "4.1.0-SNAPSHOT"
+    camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MD [...]
+    camel.apache.org/provider: "Apache Software Foundation"
+    camel.apache.org/kamelet.group: "Kafka"
+    camel.apache.org/kamelet.namespace: "Kafka"
+  labels:
+    camel.apache.org/kamelet.type: "sink"
+spec:
+  definition:
+    title: "Kafka Not Secured with Apicurio Registry Sink"
+    description: |-
+      Send data to Kafka topics on an insecure broker with Apicurio Registry.
+
+      The Kamelet is able to understand the following headers to be set:
+
+      - `key` / `ce-key`: as message key
+    
+      - `partition-key` / `ce-partitionkey`: as message partition key
+
+      Both the headers are optional.
+
+      Three headers, if specified, will be deduplicated with different names, kafka.key will be duplicated into kafka.KEY, kafka.topic into kafka.TOPIC and kafka.override_topic into kafka.OVERRIDE_TOPIC
+    required:
+      - topic
+      - bootstrapServers
+      - apicurioRegistryUrl
+    type: object
+    properties:
+      topic:
+        title: Topic Names
+        description: Comma separated list of Kafka topic names
+        type: string
+      bootstrapServers:
+        title: Bootstrap Servers
+        description: Comma separated list of Kafka Broker URLs
+        type: string
+      valueSerializer:
+        title: Value Serializer
+        description: Serliazer class for value that implements the Serializer interface.
+        type: string
+        default: "io.apicurio.registry.serde.avro.AvroKafkaSerializer"
+      apicurioRegistryUrl:
+        title: Apicurio Registry URL
+        description: The Apicurio Schema Registry URL
+        type: string
+        x-descriptors:
+        - urn:keda:metadata:apicurioRegistryUrl
+        - urn:keda:required
+      avroDatumProvider:
+        title: Avro Datum Provider
+        description: How to write data with Avro
+        type: string
+        default: "io.apicurio.registry.serde.avro.ReflectAvroDatumProvider"
+  dependencies:
+    - "camel:core"
+    - "camel:kamelet"
+    - "mvn:io.apicurio:apicurio-registry-serdes-avro-serde:2.4.12.Final"
+  template:
+    from:
+      uri: "kamelet:source"
+      steps:
+      - choice:
+          when:
+          - simple: "${header[key]}"
+            steps:
+            - set-header:
+                name: kafka.KEY
+                simple: "${header[key]}"
+          - simple: "${header[ce-key]}"
+            steps:
+            - set-header:
+                name: kafka.KEY
+                simple: "${header[ce-key]}"
+      - choice:
+          when:
+          - simple: "${header[partition-key]}"
+            steps:
+            - set-header:
+                name: kafka.PARTITION_KEY
+                simple: "${header[partition-key]}"
+          - simple: "${header[ce-partitionkey]}"
+            steps:
+            - set-header:
+                name: kafka.PARTITION_KEY
+                simple: "${header[ce-partitionkey]}"
+      - to:
+          uri: "kafka:{{topic}}"
+          parameters:
+            brokers: "{{bootstrapServers}}"
+            valueSerializer: "{{valueSerializer}}"
+            additionalProperties.apicurio.registry.url: "{{apicurioRegistryUrl}}"
+            additionalProperties.apicurio.registry.avro-datum-provider: "{{avroDatumProvider}}"


[camel-kamelets] 02/02: Added Kafka Apicurio Registry Sink Kamelet

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 2467f37512c48f3c65d19ffbfe01b79fe86c8069
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Fri Oct 20 16:09:38 2023 +0200

    Added Kafka Apicurio Registry Sink Kamelet
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 docs/modules/ROOT/nav.adoc                                               | 1 +
 kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml           | 1 +
 .../kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml       | 1 +
 3 files changed, 3 insertions(+)

diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 258bdec5..14f4ea32 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -123,6 +123,7 @@
 * xref:json-schema-validator-action.adoc[]
 * xref:json-serialize-action.adoc[]
 * xref:jsonata-action.adoc[]
+* xref:kafka-apicurio-registry-not-secured-sink.adoc[]
 * xref:kafka-apicurio-registry-not-secured-source.adoc[]
 * xref:kafka-manual-commit-action.adoc[]
 * xref:kafka-not-secured-sink.adoc[]
diff --git a/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml b/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml
index 52542c44..ebb2604d 100644
--- a/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml
+++ b/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml
@@ -76,6 +76,7 @@ spec:
   dependencies:
     - "camel:core"
     - "camel:kamelet"
+    - "camel:kafka"
     - "mvn:io.apicurio:apicurio-registry-serdes-avro-serde:2.4.12.Final"
   template:
     from:
diff --git a/library/camel-kamelets/src/main/resources/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml
index 52542c44..ebb2604d 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml
@@ -76,6 +76,7 @@ spec:
   dependencies:
     - "camel:core"
     - "camel:kamelet"
+    - "camel:kafka"
     - "mvn:io.apicurio:apicurio-registry-serdes-avro-serde:2.4.12.Final"
   template:
     from: