generic-examples/kamelets/error-handler/error-handler.kamelet.yaml (54 lines of code) (raw):

# --------------------------------------------------------------------------- # 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/v1alpha1 kind: Kamelet metadata: name: error-handler spec: definition: title: "DLC and Log" description: "Push an event to a kafka topic and log an error message" required: - kafka-brokers - kafka-topic - kafka-service-account-id - kafka-service-account-secret - log-message properties: kafka-brokers: title: Kafka Brokers description: the bootstrap server type: string example: "xyz-ins--rplssqfz-yyyyyyy-crojg.bf2.kafka.my-clud-service.com:443" kafka-topic: title: Kafka Topic description: the DLC topic type: string example: "my-dlc" kafka-service-account-id: title: Service Account ID description: the SA to use type: string example: "srvc-acct-xxxxxx-519b-453f-9f68-yyyyyyyyy" kafka-service-account-secret: title: Service Account Secret description: the SA secrete to use type: string example: "xxxxxxxxx-46c7-4c6c-a753-yyyyyyyyyyyyyyy" log-message: title: Message description: A message warning to log type: string example: "error while checking the source" template: from: uri: kamelet:source steps: # First step: send to the DLC (dead letter channel) for future processing - to: uri: kafka:{{kafka-topic}} parameters: brokers: "{{kafka-brokers}}" security-protocol: SASL_SSL sasl-mechanism: PLAIN sasl-jaas-config: "org.apache.kafka.common.security.plain.PlainLoginModule required username='{{kafka-service-account-id}}' password='{{kafka-service-account-secret}}';" # Log an error message to notify about the failure - set-body: constant: "{{log-message}} - worry not, the event is stored in the DLC" - to: "log:error-sink"