/slipstream

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

Primary LanguageRustGNU Affero General Public License v3.0AGPL-3.0

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