Sample Applications
A companion repository, CritterStackSamples, contains complete, runnable sample solutions that show CritterWatch monitoring real Wolverine fleets across the supported transport and storage combinations. Each one is F5-able: clone the repo, open the solution, and press F5 — a .NET Aspire AppHost provisions every Docker dependency (brokers, databases, emulators), launches the CritterWatch console and the monitored services, and each solution ships an Aspire.Hosting.Testing battery that boots the whole stack and asserts the fleet registers.
The CritterWatch samples live under critterwatch/ in that repository.
The samples
| Sample | Transport | Storage | What it shows |
|---|---|---|---|
| Fleet.RabbitMq | RabbitMQ | Marten / Postgres | The flagship — a Trip-trio + Incidents fleet over a broker. The template every other fleet copies. |
| Fleet.AzureServiceBus | Azure Service Bus (emulator) | Marten / Postgres | The flagship with the transport swapped to Azure Service Bus, including the emulator's pre-declared-topology constraints. |
| Fleet.PostgresqlQueues | PostgreSQL database queues (broker-free) | Marten / Postgres | A control channel that is the database — no broker — over the shared-schema Wolverine DB-queue transport. |
| Fleet.SqlServerQueues | SQL Server database queues (broker-free) | Polecat / SQL Server | The Polecat / SQL Server flavor of the console plus a SQL Server DB-queue control channel. |
| Fleet.GooglePubSub | Google Cloud Pub/Sub (emulator) | Marten / Postgres | The fleet over Pub/Sub, with a leader-pinned single-consumer control subscription. |
| WebService.Http | Wolverine HTTP transport (broker-free) | Marten / Postgres | Monitoring a Wolverine HTTP web service where the monitoring link itself rides HTTP. |
A shared Aspire.Hosting.Testing harness (Shared/CritterWatch.Samples.Testing) is reused by every solution's Tests/ project, so the "boot the AppHost and assert the routes respond" battery is written once.
Running a sample
Each solution is self-contained — pick one and run it:
git clone https://github.com/JasperFx/CritterStackSamples.git
cd CritterStackSamples/critterwatch/Fleet.RabbitMqOpen the .sln and run the AppHost project (F5). Aspire pulls the required container images, starts the console and the monitored fleet, and exposes the CritterWatch dashboard on the critterwatch resource's HTTP endpoint — open it to watch the fleet register and the message flow light up. To run a solution's smoke battery instead (needs a running Docker daemon):
dotnet testTIP
The samples consume the published CritterWatch NuGet packages (CritterWatch, Wolverine.CritterWatch, and friends) — never a project reference into this repository — so each one mirrors exactly what a real consumer writes.
