utility to enable flexible ETL scenarios, supports golang plug-in for built-in consumer|transformer|producer options
consumer’s EventHandler could choose desired flow for every event received
if no transformation is required for this
consumer, the Producer could be triggered directly as well
here all 3,
consumer,transformerandproducerare instantiated as per config and thus any combination of available types could be brought into play all 3 support usage of plugin, so separately managed and developed constructs could be used in combination
this package provides a
Consume(consumer)method to be able to munch on any kafka-topic,currently
confluent-kafkaimplementation for consumer is available and can be configured and passed
topic subscriber currently handles
- for each messages recieved, invoke
 ogi's tansformerwith producer and value from message- assign partition
 - unassign partition
 - exit on error event
 
this package provides a
Produce(producer, topic, message)method to be able to churn out required message to any topic on provided producer,currently
confluent-kafkaimplementation for producer is available which can be configured and passed
confluent-kafkaproducer let’s figure out a partition for message using CRC32 over total partition count, if can’t uses PartitionAny confthen message and topic gets produced to the calculated partition using
ProduceMessage
this package provides
Transform(producer, message)method which calls delegates transform to configuredLogTransformerfor that process,currently
KubernetesKafkaLogis available implementation ofLogTransformer
KubernetesKafkaLogwhich checks for Kubernetes.Labels for configured label to be picked as destination kafka topicit applies Kubernetes.PodName as message-key to be used and then produces message to passed through producer