# ---------------------------------------------------------------------------
# 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-batch-apicurio-registry-source
  annotations:
    camel.apache.org/kamelet.support.level: "Preview"
    camel.apache.org/catalog.version: "4.6.0-SNAPSHOT"
    camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K"
    camel.apache.org/provider: "Apache Software Foundation"
    camel.apache.org/kamelet.group: "Kafka"
    camel.apache.org/kamelet.namespace: "Kafka"
    camel.apache.org/keda.type: "kafka"
  labels:
    camel.apache.org/kamelet.type: "source"
spec:
  definition:
    title: "Kafka Batch with Apicurio Registry secured with Keycloak Source"
    description: |-
      Receive data from Kafka topics in batch on an insecure broker combined with Apicurio Registry secured with Keycloak and commit them manually through KafkaManualCommit or auto commit.
    required:
      - topic
      - bootstrapServers
      - apicurioRegistryUrl
      - apicurioAuthServiceUrl
      - apicurioAuthRealm
      - apicurioAuthClientId
      - apicurioAuthClientSecret
      - apicurioAuthUsername
      - apicurioAuthPassword
    type: object
    properties:
      topic:
        title: Topic Names
        description: Comma separated list of Kafka topic names
        type: string
        x-descriptors:
        - urn:keda:metadata:topic
        - urn:keda:required
      bootstrapServers:
        title: Bootstrap Servers
        description: Comma separated list of Kafka Broker URLs
        type: string
        x-descriptors:
        - urn:keda:metadata:bootstrapServers
        - urn:keda:required
      autoCommitEnable:
        title: Auto Commit Enable
        description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer
        type: boolean
        default: true
      allowManualCommit:
        title: Allow Manual Commit
        description: Whether to allow doing manual commits
        type: boolean
        default: false
      pollOnError:
        title: Poll On Error Behavior
        description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of DISCARD, ERROR_HANDLER, RECONNECT, RETRY, STOP
        type: string
        default: "ERROR_HANDLER"
      autoOffsetReset:
        title: Auto Offset Reset
        description: What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none
        type: string
        default: "latest"
        x-descriptors:
        - urn:keda:metadata:offsetResetPolicy
      consumerGroup:
        title: Consumer Group
        description: A string that uniquely identifies the group of consumers to which this source belongs
        type: string
        example: "my-group-id"
        x-descriptors:
        - urn:keda:metadata:consumerGroup
        - urn:keda:required
      deserializeHeaders:
        title: Automatically Deserialize Headers
        description: When enabled the Kamelet source will deserialize all message headers to String representation.
        type: boolean
        default: true
      valueDeserializer:
        title: Value Deserializer
        description: Deserializer class for value that implements the Deserializer interface.
        type: string
        default: "io.apicurio.registry.serde.avro.AvroKafkaDeserializer"
      apicurioRegistryUrl:
        title: Apicurio Registry URL
        description: The Apicurio Schema Registry URL
        type: string
        x-descriptors:
        - urn:keda:metadata:bootstrapServers
        - urn:keda:required
      avroDatumProvider:
        title: Avro Datum Provider
        description: How to read data with Avro
        type: string
        default: "io.apicurio.registry.serde.avro.ReflectAvroDatumProvider"
      batchSize:
        title: Batch Dimension
        description: The maximum number of records returned in a single call to poll()
        type: int
        default: 500
      pollTimeout:
        title: Poll Timeout Interval
        description: The timeout used when polling the KafkaConsumer
        type: int
        default: 5000
      maxPollIntervalMs:
        title: Max Poll Interval
        description: The maximum delay between invocations of poll() when using consumer group management
        type: int
      apicurioAuthServiceUrl:
        title: Apicurio Registry Auth Service URL
        description: The URL for Keycloak instance securing the Apicurio Registry
        type: string
        example: "http://my-keycloak.com:8080/"
      apicurioAuthRealm:
        title: Apicurio Registry Auth Realm
        description: The Realm in Keycloak instance securing the Apicurio Registry
        type: string
      apicurioAuthClientId:
        title: Apicurio Registry Auth Client ID
        description: The Client ID in Keycloak instance securing the Apicurio Registry
        type: string
      apicurioAuthClientSecret:
        title: Apicurio Registry Auth Client Secret
        description: The Client Secret in Keycloak instance securing the Apicurio Registry
        type: string
        format: password
        x-descriptors:
        - urn:camel:group:credentials
        - urn:keda:authentication:password
        - urn:keda:required
      apicurioAuthUsername:
        title: Apicurio Registry Auth Username
        description: The Username in Keycloak instance securing the Apicurio Registry
        type: string
      apicurioAuthPassword:
        title: Apicurio Registry Auth Password
        description: The Password in Keycloak instance securing the Apicurio Registry
        type: string
        format: password
        x-descriptors:
        - urn:camel:group:credentials
        - urn:keda:authentication:password
        - urn:keda:required
      topicIsPattern:
        title: Topic Is Pattern
        description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern.
        type: boolean
        default: false
  dependencies:
    - "mvn:org.apache.camel.kamelets:camel-kamelets-utils:4.6.0-SNAPSHOT"
    - "camel:kafka"
    - "camel:core"
    - "camel:kamelet"
    - "mvn:io.quarkus:quarkus-apicurio-registry-avro:3.6.3"
  template:
    beans:
      - name: kafkaHeaderDeserializer
        type: "#class:org.apache.camel.kamelets.utils.serialization.kafka.KafkaHeaderDeserializer"
        properties:
          enabled: '{{deserializeHeaders}}'
      - name: manualCommitFactory
        type: "#class:org.apache.camel.component.kafka.consumer.DefaultKafkaManualCommitFactory"
    from:
      uri: "kafka:{{topic}}"
      parameters:
        brokers: "{{bootstrapServers}}"
        autoCommitEnable: "{{autoCommitEnable}}"
        allowManualCommit: "{{allowManualCommit}}"
        pollOnError: "{{pollOnError}}"
        autoOffsetReset: "{{autoOffsetReset}}"
        groupId: "{{?consumerGroup}}"
        valueDeserializer: "{{valueDeserializer}}"
        additionalProperties.apicurio.registry.url: "{{apicurioRegistryUrl}}"
        additionalProperties.apicurio.registry.avro-datum-provider: "{{avroDatumProvider}}"
        additionalProperties.apicurio.auth.service.url: "{{apicurioAuthServiceUrl}}"
        additionalProperties.apicurio.auth.realm: "{{apicurioAuthRealm}}"
        additionalProperties.apicurio.auth.client.id: "{{apicurioAuthClientId}}"
        additionalProperties.apicurio.auth.client.secret: "{{apicurioAuthClientSecret}}"
        additionalProperties.apicurio.auth.username: "{{apicurioAuthUsername}}"
        additionalProperties.apicurio.auth.password: "{{apicurioAuthPassword}}"
        maxPollRecords: "{{batchSize}}"
        pollTimeoutMs: "{{pollTimeout}}"
        maxPollIntervalMs: "{{?maxPollIntervalMs}}"
        batching: true
        kafkaManualCommitFactory: "#bean:{{manualCommitFactory}}"
        topicIsPattern: "{{topicIsPattern}}"
      steps:
        - process:
            ref: "{{kafkaHeaderDeserializer}}"
        - to: "kamelet:sink"
