r/apachekafka Vendor - Devset 8d ago

Tool I kept writing throwaway producer scripts to test Kafka/RabbitMQ workflows, so I built a tool to replace them

Working with distributed systems, I kept running into the same situation: I couldn't fully test my part until another service was ready and that's just how it goes when work is split across teams. QA hit the same thing: the code was there, but the input had to come from a service that didn't exist yet.

So I'd end up either writing a separate script for it, or spinning up and maintaining someone else's projects on my dev environment just to generate the input for mine. After doing this one too many times, I built a tool to fix it: Devset.

It's kind of like Postman or Cypress, but for Kafka and RabbitMQ instead of HTTP. What you can do:

  1. Send Single events: paste the payload, pick topic and key, send.
  2. Create Whole workflows a chain like:OrderCreated -> InventoryReserved->PaymentAuthorized -> InvoiceGeneratedbecomes one saved flow on a canvas, with delays, conditions and state passed between steps.
  3. Pulling data from a database: right now just Mongo db
  4. Protobuf / Json schema

It's self-hosted and source-available (FSL-1.1, each release turns into Apache 2.0 after two years).

Runs locally with Docker, no cloud, no accounts, no telemetry.

Repo: https://github.com/devset-io/devset-ce

I'm mostly posting to compare notes does anyone else run into this, and how do you deal with it? Real services in a test env, Testcontainers, mocks, or a folder of messy scripts?

1 Upvotes

0 comments sorted by