Skip to content

Iris

Iris is a visual testing tool for distributed applications — think "Postman for message brokers." It eliminates the need to write boilerplate code for publishing and consuming messages, providing a desktop GUI for testing event-driven architectures.

Key Features

Supported Brokers

Connect to and test with multiple message broker systems:

  • RabbitMQ — Queues, exchanges, and routing via EasyNetQ Management Client
  • Azure Service Bus — Queues and topics with native Azure SDK support
  • Azure Storage Queues — Simple messaging scenarios
  • AWS SQS — Amazon Simple Queue Service

Framework Adapters

Automatically wrap messages in framework-specific envelopes so your broker consumers process them correctly:

  • MassTransit — MassTransit message envelope format
  • NServiceBus — NServiceBus message wrapping
  • EasyNetQ — EasyNetQ envelope format
  • Wolverine — Wolverine message format

Select a framework adapter and Iris handles the envelope wrapping — no need to manually construct framework-specific JSON.

Message Publishing

Send messages to queues and topics with a visual editor:

  • Monaco-based JSON editor for composing message payloads
  • Endpoint selector for choosing the target queue, topic, or exchange
  • Framework selector for automatic envelope wrapping
  • Custom headers and properties support

Message Consumption

Listen to and inspect incoming messages in real-time directly from the Iris UI.

Auto-Discovery

Iris automatically detects local broker instances to reduce setup friction:

  • RabbitMQ — Detects running Docker containers
  • Azure Storage Emulator — Detects local Azure storage emulation

Message Templates

Save and reuse common message patterns to avoid repetitive setup when testing the same endpoints.

Dynamic Type Loading

Load your application's .NET assemblies at runtime to work with your actual message contracts. Iris reflects types from loaded assemblies, letting you compose messages that match your application's exact data structures.

Message History

Every sent and received message is persisted locally for auditing and replay. Browse, search, and re-send previous messages.

Multi-Connection Management

Connect to multiple brokers simultaneously and switch between them. Manage connections to different environments (local, dev, staging, production) side by side.

Endpoint Discovery

Iris automatically lists all available queues, topics, and exchanges from connected brokers — no need to manually enter endpoint names.

Cross-Platform

Runs on Windows, macOS, and Linux.

Architecture

Iris is built on .NET with Blazor and uses Hermes for cross-platform desktop hosting. It follows a provider pattern for broker abstraction — each broker type (RabbitMQ, Azure, AWS) implements a common IConnector/IConnection interface, making it straightforward to add new broker support. Uses the Mythetech Framework for settings, message bus, and desktop services.

Getting Started

Visit the Iris GitHub Repository for installation and usage instructions.

Last updated: