Veggerby.Ignition.MassTransit
0.6.0
dotnet add package Veggerby.Ignition.MassTransit --version 0.6.0
NuGet\Install-Package Veggerby.Ignition.MassTransit -Version 0.6.0
<PackageReference Include="Veggerby.Ignition.MassTransit" Version="0.6.0" />
<PackageVersion Include="Veggerby.Ignition.MassTransit" Version="0.6.0" />
<PackageReference Include="Veggerby.Ignition.MassTransit" />
paket add Veggerby.Ignition.MassTransit --version 0.6.0
#r "nuget: Veggerby.Ignition.MassTransit, 0.6.0"
#:package Veggerby.Ignition.MassTransit@0.6.0
#addin nuget:?package=Veggerby.Ignition.MassTransit&version=0.6.0
#tool nuget:?package=Veggerby.Ignition.MassTransit&version=0.6.0
Veggerby.Ignition.MassTransit
MassTransit bus readiness signals for Veggerby.Ignition - verify message bus startup and connectivity during application initialization.
Installation
dotnet add package Veggerby.Ignition.MassTransit
Quick Start
Basic Bus Readiness
builder.Services.AddMassTransit(x =>
{
x.UsingRabbitMq((context, cfg) =>
{
cfg.Host("localhost", "/");
cfg.ConfigureEndpoints(context);
});
});
builder.Services.AddMassTransitReadiness();
With Custom Timeout
builder.Services.AddMassTransitReadiness(options =>
{
options.Timeout = TimeSpan.FromSeconds(10);
options.BusReadyTimeout = TimeSpan.FromSeconds(45);
});
Configuration Options
MassTransitReadinessOptions
| Property | Type | Default | Description |
|---|---|---|---|
Timeout |
TimeSpan? |
null |
Per-signal timeout (overrides global) |
BusReadyTimeout |
TimeSpan |
30s | Max time to wait for bus to become healthy |
Features
- Bus Health Verification: Uses MassTransit's built-in health checks
- Transport Agnostic: Works with any MassTransit transport (RabbitMQ, Azure Service Bus, in-memory, etc.)
- Activity Tracing: Emits diagnostic tags for observability
- Structured Logging: Detailed logs at Info/Debug/Warning/Error levels
- Graceful Timeout Handling: Configurable wait periods for bus readiness
Transport Support
This package works with all MassTransit transports:
RabbitMQ
builder.Services.AddMassTransit(x =>
{
x.UsingRabbitMq((context, cfg) =>
{
cfg.Host("rabbitmq.example.com", "/production", h =>
{
h.Username("app");
h.Password("secret");
});
cfg.ConfigureEndpoints(context);
});
});
builder.Services.AddMassTransitReadiness();
Azure Service Bus
builder.Services.AddMassTransit(x =>
{
x.UsingAzureServiceBus((context, cfg) =>
{
cfg.Host("Endpoint=sb://...");
cfg.ConfigureEndpoints(context);
});
});
builder.Services.AddMassTransitReadiness();
In-Memory (Testing)
builder.Services.AddMassTransit(x =>
{
x.UsingInMemory((context, cfg) =>
{
cfg.ConfigureEndpoints(context);
});
});
builder.Services.AddMassTransitReadiness();
Integration with Ignition Coordinator
The MassTransit readiness signal integrates seamlessly with all Ignition coordinator features:
builder.Services.AddIgnition(options =>
{
options.GlobalTimeout = TimeSpan.FromSeconds(60);
options.Policy = IgnitionPolicy.FailFast;
options.EnableTracing = true;
});
builder.Services.AddMassTransit(/* ... */);
builder.Services.AddMassTransitReadiness(options =>
{
options.Timeout = TimeSpan.FromSeconds(15);
});
var app = builder.Build();
// Wait for all signals including MassTransit
await app.Services.GetRequiredService<IIgnitionCoordinator>().WaitAllAsync();
Health Check Integration
When using Ignition with health checks enabled, the MassTransit signal status is included in the ignition-readiness health check:
builder.Services.AddIgnition(addHealthCheck: true);
builder.Services.AddMassTransit(/* ... */);
builder.Services.AddMassTransitReadiness();
app.MapHealthChecks("/health");
MassTransit vs Direct RabbitMQ
Choose the appropriate package based on your needs:
Use Veggerby.Ignition.MassTransit when:
- You're already using MassTransit for message handling
- You need transport abstraction (might switch from RabbitMQ to Azure Service Bus)
- You want to leverage MassTransit's built-in health checks
- You care about receive endpoint readiness
Use Veggerby.Ignition.RabbitMq when:
- You're using RabbitMQ directly without MassTransit
- You need fine-grained queue/exchange verification
- You want to perform round-trip messaging tests
- You have specific RabbitMQ client requirements
Dependencies
Veggerby.Ignition- Core ignition libraryMassTransit8.3+ - Message bus abstractionMicrosoft.Extensions.*- Logging, DI, Options
Note: Transport-specific packages (e.g., MassTransit.RabbitMQ) are peer dependencies - you must add them to your application project.
License
MIT - See LICENSE in repository root.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- MassTransit (>= 8.3.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.1)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.1)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.1)
- Microsoft.Extensions.Options (>= 10.0.1)
- Veggerby.Ignition (>= 0.6.0)
-
net8.0
- MassTransit (>= 8.3.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.1)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.1)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.1)
- Microsoft.Extensions.Options (>= 10.0.1)
- Veggerby.Ignition (>= 0.6.0)
-
net9.0
- MassTransit (>= 8.3.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.1)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.1)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.1)
- Microsoft.Extensions.Options (>= 10.0.1)
- Veggerby.Ignition (>= 0.6.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.6.0 | 90 | 2/2/2026 |
| 0.5.1-prerelease0023 | 93 | 2/2/2026 |
| 0.5.1-prerelease0022 | 89 | 1/26/2026 |
| 0.5.1-prerelease0021 | 88 | 1/22/2026 |
| 0.5.1-prerelease0020 | 89 | 1/22/2026 |
| 0.5.1-prerelease0019 | 87 | 1/21/2026 |
| 0.5.1-prerelease0018 | 87 | 1/21/2026 |
| 0.5.1-prerelease0017 | 89 | 1/20/2026 |
| 0.5.1-prerelease0016 | 94 | 1/20/2026 |
| 0.5.1-prerelease0014 | 89 | 1/20/2026 |
| 0.5.1-prerelease0013 | 93 | 1/20/2026 |
| 0.5.1-prerelease0011 | 86 | 1/19/2026 |
| 0.5.1-prerelease0009 | 92 | 1/19/2026 |
| 0.5.1-prerelease0008 | 91 | 1/17/2026 |
| 0.5.1-prerelease0007 | 96 | 1/16/2026 |
| 0.5.1-prerelease0006 | 90 | 1/16/2026 |
| 0.5.1-prerelease0004 | 92 | 1/16/2026 |
| 0.5.1-prerelease0003 | 89 | 1/15/2026 |
| 0.5.1-prerelease0002 | 97 | 1/15/2026 |
| 0.5.1-prerelease0001 | 94 | 1/15/2026 |