├── .github └── workflows │ ├── ci.yaml │ └── release.yaml ├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── app ├── avro │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── kpipe │ │ └── App.java ├── build.gradle.kts ├── json │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── kpipe │ │ └── App.java └── protobuf │ ├── build.gradle.kts │ └── src │ └── main │ └── java │ └── org │ └── kpipe │ └── App.java ├── docker-compose.yaml ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── img ├── kpipe.png └── kpipe_1.png ├── lib ├── build.gradle.kts └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── kpipe │ │ │ ├── config │ │ │ ├── AppConfig.java │ │ │ └── KafkaConsumerConfig.java │ │ │ ├── consumer │ │ │ ├── ConsumerRunner.java │ │ │ ├── FunctionalConsumer.java │ │ │ ├── MessageTracker.java │ │ │ ├── OffsetManager.java │ │ │ ├── RebalanceListener.java │ │ │ └── enums │ │ │ │ ├── ConsumerCommand.java │ │ │ │ ├── ConsumerState.java │ │ │ │ └── OffsetState.java │ │ │ ├── metrics │ │ │ ├── ConsumerMetricsReporter.java │ │ │ ├── MetricsReporter.java │ │ │ └── ProcessorMetricsReporter.java │ │ │ ├── processor │ │ │ ├── AvroMessageProcessor.java │ │ │ └── JsonMessageProcessor.java │ │ │ ├── registry │ │ │ ├── MessageFormat.java │ │ │ ├── MessageProcessorRegistry.java │ │ │ ├── MessageSinkRegistry.java │ │ │ └── RegistryFunctions.java │ │ │ └── sink │ │ │ ├── AvroConsoleSink.java │ │ │ ├── JsonConsoleSink.java │ │ │ └── MessageSink.java │ └── resources │ │ └── avro │ │ └── customer.avsc │ └── test │ ├── java │ └── org │ │ └── kpipe │ │ ├── config │ │ ├── AppConfigTest.java │ │ └── KafkaConsumerConfigTest.java │ │ ├── consumer │ │ ├── ConsumerRunnerTest.java │ │ ├── FunctionalConsumerMockingTest.java │ │ ├── FunctionalConsumerTest.java │ │ ├── MessageTrackerTest.java │ │ ├── OffsetManagerTest.java │ │ └── RebalanceListenerTest.java │ │ ├── metrics │ │ ├── ConsumerMetricsReporterTest.java │ │ └── ProcessorMetricsReporterTest.java │ │ ├── processor │ │ ├── AvroMessageProcessorTest.java │ │ └── JsonMessageProcessorTest.java │ │ ├── registry │ │ ├── MessageFormatTest.java │ │ ├── MessageProcessorRegistryTest.java │ │ ├── MessageSinkRegistryTest.java │ │ └── RegistryFunctionsTest.java │ │ └── sink │ │ ├── AvroConsoleSinkTest.java │ │ └── JsonConsoleSinkTest.java │ └── resources │ └── avro │ └── customer.avsc ├── scripts └── wait-for-it.sh └── settings.gradle.kts /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/.github/workflows/ci.yaml -------------------------------------------------------------------------------- /.github/workflows/release.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/.github/workflows/release.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/README.md -------------------------------------------------------------------------------- /app/avro/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/app/avro/build.gradle.kts -------------------------------------------------------------------------------- /app/avro/src/main/java/org/kpipe/App.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/app/avro/src/main/java/org/kpipe/App.java -------------------------------------------------------------------------------- /app/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/app/build.gradle.kts -------------------------------------------------------------------------------- /app/json/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/app/json/build.gradle.kts -------------------------------------------------------------------------------- /app/json/src/main/java/org/kpipe/App.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/app/json/src/main/java/org/kpipe/App.java -------------------------------------------------------------------------------- /app/protobuf/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/app/protobuf/build.gradle.kts -------------------------------------------------------------------------------- /app/protobuf/src/main/java/org/kpipe/App.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/app/protobuf/src/main/java/org/kpipe/App.java -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/gradlew.bat -------------------------------------------------------------------------------- /img/kpipe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/img/kpipe.png -------------------------------------------------------------------------------- /img/kpipe_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/img/kpipe_1.png -------------------------------------------------------------------------------- /lib/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/build.gradle.kts -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/config/AppConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/config/AppConfig.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/config/KafkaConsumerConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/config/KafkaConsumerConfig.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/consumer/ConsumerRunner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/consumer/ConsumerRunner.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/consumer/FunctionalConsumer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/consumer/FunctionalConsumer.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/consumer/MessageTracker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/consumer/MessageTracker.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/consumer/OffsetManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/consumer/OffsetManager.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/consumer/RebalanceListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/consumer/RebalanceListener.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/consumer/enums/ConsumerCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/consumer/enums/ConsumerCommand.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/consumer/enums/ConsumerState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/consumer/enums/ConsumerState.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/consumer/enums/OffsetState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/consumer/enums/OffsetState.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/metrics/ConsumerMetricsReporter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/metrics/ConsumerMetricsReporter.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/metrics/MetricsReporter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/metrics/MetricsReporter.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/metrics/ProcessorMetricsReporter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/metrics/ProcessorMetricsReporter.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/processor/AvroMessageProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/processor/AvroMessageProcessor.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/processor/JsonMessageProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/processor/JsonMessageProcessor.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/registry/MessageFormat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/registry/MessageFormat.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/registry/MessageProcessorRegistry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/registry/MessageProcessorRegistry.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/registry/MessageSinkRegistry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/registry/MessageSinkRegistry.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/registry/RegistryFunctions.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/registry/RegistryFunctions.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/sink/AvroConsoleSink.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/sink/AvroConsoleSink.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/sink/JsonConsoleSink.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/sink/JsonConsoleSink.java -------------------------------------------------------------------------------- /lib/src/main/java/org/kpipe/sink/MessageSink.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/java/org/kpipe/sink/MessageSink.java -------------------------------------------------------------------------------- /lib/src/main/resources/avro/customer.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/main/resources/avro/customer.avsc -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/config/AppConfigTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/config/AppConfigTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/config/KafkaConsumerConfigTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/config/KafkaConsumerConfigTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/consumer/ConsumerRunnerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/consumer/ConsumerRunnerTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/consumer/FunctionalConsumerMockingTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/consumer/FunctionalConsumerMockingTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/consumer/FunctionalConsumerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/consumer/FunctionalConsumerTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/consumer/MessageTrackerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/consumer/MessageTrackerTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/consumer/OffsetManagerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/consumer/OffsetManagerTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/consumer/RebalanceListenerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/consumer/RebalanceListenerTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/metrics/ConsumerMetricsReporterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/metrics/ConsumerMetricsReporterTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/metrics/ProcessorMetricsReporterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/metrics/ProcessorMetricsReporterTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/processor/AvroMessageProcessorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/processor/AvroMessageProcessorTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/processor/JsonMessageProcessorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/processor/JsonMessageProcessorTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/registry/MessageFormatTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/registry/MessageFormatTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/registry/MessageProcessorRegistryTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/registry/MessageProcessorRegistryTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/registry/MessageSinkRegistryTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/registry/MessageSinkRegistryTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/registry/RegistryFunctionsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/registry/RegistryFunctionsTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/sink/AvroConsoleSinkTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/sink/AvroConsoleSinkTest.java -------------------------------------------------------------------------------- /lib/src/test/java/org/kpipe/sink/JsonConsoleSinkTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/java/org/kpipe/sink/JsonConsoleSinkTest.java -------------------------------------------------------------------------------- /lib/src/test/resources/avro/customer.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/lib/src/test/resources/avro/customer.avsc -------------------------------------------------------------------------------- /scripts/wait-for-it.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/scripts/wait-for-it.sh -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eschizoid/kpipe/HEAD/settings.gradle.kts --------------------------------------------------------------------------------