A tool for performing on-the-fly Kafka message validation
Go to file
R Tyler Croy c9438eedb5 Update the GitHub Actions for the new default branch 2020-09-07 09:59:23 -07:00
.github/workflows Update the GitHub Actions for the new default branch 2020-09-07 09:59:23 -07:00
schemas.d Properly use the configured schema when routing messages 2020-07-20 14:51:05 -07:00
src Make some cargo clippy suggested fixes 2020-08-02 15:51:31 -07:00
.gitignore
Cargo.lock cargo update 2020-08-02 15:42:28 -07:00
Cargo.toml Add support for globbing on the schemas.d directory 2020-07-29 13:48:42 -07:00
LICENSE.txt Add the AGPL license 2020-06-24 22:04:37 -07:00
README.adoc Update the "docs" 😸 2020-07-06 22:02:34 -07:00
docker-compose.yml Allow the message to reference a schema defined in schemas.d/ 2020-07-16 12:41:42 -07:00
slipstream.yml Remove a magic number of the channel size between consumers and the producer 2020-08-02 15:36:38 -07:00

README.adoc

<html lang="en"> <head> </head>

Slipstream 💨

A tool for doing on-the-fly message validation for Kafka using JSON Schemas.

Developing

Slipstream is still very early in its development.

See slipstream.yml and schemas.d/hello.yml for the development configuration, and a test schema to work with.

  1. Compile: cargo build

  2. Launch a Kafka stack docker-compose up

  3. Run slipstream: RUST_LOG=info ./target/debug/slipstream

  4. Produce messages to test, e.g.: echo "{\"\$schema\":\"hello.yml\",\"hello\":\"$(date)\"}" | kafkacat -P -b localhost:9092 -t test -p -1;

  5. Watch test.valid, e.g. kafkacat -C -b localhost:9092 -t test.valid

</html>