EdwinVW / pitstop

This repo contains a sample application based on a Garage Management System for Pitstop - a fictitious garage. The primary goal of this sample is to demonstrate several software-architecture concepts like: Microservices, CQRS, Event Sourcing, Domain Driven Design (DDD), Eventual Consistency.
Apache License 2.0
1.08k stars 472 forks source link

Add .NET Aspire Sample #152

Closed wmeints closed 4 months ago

wmeints commented 8 months ago

Hey Edwin! I figured it would be fun to give .NET Aspire a try. Pitstop is the single best option to give it a try since you're running microservices :-) So here it is, my PR to show the .NET Aspire bits.

What's in the pull request

wmeints commented 8 months ago

Time to show off. Structured logging works. It also correctly detects errors.

image

wmeints commented 8 months ago

The dashboard itself looks cool too. All endpoints show up. And I can see when a service fails.

image

wmeints commented 8 months ago

Tracing also works really well. It links to logs and provides a nice overview of where the data is going. I'm missing the link to RabbitMQ here. Maybe we need to add extra code in the messaging infrastructure to copy over trace IDs.

image

wmeints commented 8 months ago

My conclusions:

Things I haven't tried:

Turns out that Kubernetes isn't supported as a deployment target yet. They do support Azure Container Apps

Please let me know what you think! I had a lot of fun trying it out on the code.

avans-marc commented 4 months ago

Thanks for integrating dotnet aspire into this. We're using this repo as an example repository to teach students several architecture styles, and I was looking for that I can now press F5 and be on my way feel.

Unfortunately I am having a lot of trouble getting it to build and run. Can you provide some guidance ? I suspect the issues are between the aspire workload version and visual studio preview version.

Here's what i've encountered:

Clearly i am missing something 😄

EdwinVW commented 4 months ago

Hi @avans-marc, thanks for your interest in Pitstop. This PR was simply an experiment by wmeints to see what it takes to integrate Aspire into an existing application. It was not my intention to actually add Aspire to Pitstop and the code in the PR is also not updated. Therefore I cannot help you with this. I will also close the PR to prevent any confusion in the future.