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.
