kproxy is an exploration for building a Kafka protocol proxy, addressing use cases such as multi-tenancy, schema validation, or encryption.
Java, version 11 or newer, and Apache Maven are required for building this project. Build the project like this:
$ mvn clean verify
Optionally, skip long-running system tests like this:
$ mvn clean verify -DexcludedGroups="system-test"
Pass the -Dquick
option to skip all non-essential plug-ins and create the output artifact as quickly as possible:
$ mvn clean verify -Dquick
Run the following command to format the source code and organize the imports as per the project's conventions:
$ mvn process-sources
Build with the dist
profile for creating an executable JAR:
$ mvn clean verify -Pdist -Dquick
Run the following to add missing license headers e.g. when adding new source files:
$ mvn license:format -Dlicense.header=etc/license.txt
Build with the dist
profile as shown above, then execute this:
$ java -jar target/kproxy-1.0-SNAPSHOT.jar
See benchmarking.md for information on running basic performance tests for this proxy.
This code base is available under the Apache License, version 2.