Right now, we have this section in the v6 update docs:
https://masstransit-project.com/getting-started/upgrade-v6.html#masstransit-host-service-coming-later-but-soon
The latest version of the host is built entirely from scratch, and takes advantage of:
Microsoft Dependency Injection
.NET Core Generic Host
Microsoft Extensions Logging
MassTransit's most excellent container registration/discovery extensions
Once it's built, the details will all be... revealed!
I am a bit confused because the DI integration is done in the DI container integration package and the hosted service with logging configuration and health checks is available in the AspNetCore integration package.
What would in the new generic host? Is the idea to give people a console app package? We do it internally, but it's because we have a set of requirements about how logging is done, how we collect traces and metrics, how health endpoint is exposed, how metrics are exposed, and so on. It could be quite hard and also restrictive to package those things, or I maybe I am wrong? Maybe a sample repo for .NET Core Web SDK would suffice?
That鈥檚 basically what we have at this point. There is a console sample and it鈥檚 updated with the latest v3.1 service support.
I don鈥檛 think much more will come of it.
What would be useful is a template for dotnet that would create the shell with everything setup. Basically the sample as a template with some nice options for adding consumers, sagas, etc.
@kevbite wrote some templates a while back, maybe we could get these updated and part of the MassTransit build? https://github.com/kevbite/masstransit-dotnetTemplates
I actually have build one, but it's a bit dated now. It was for .NET Core 2.2. Should be quite easy to upgrade.
Sorry, they're a little outdated, my plan was to get these working with all the different types of transports but not had much time to work on these. I'm totally happy to give a hand if required though 馃憤.
_Different transports_ is another issue. My template uses RMQ, Prometheus metrics and OpenTracing but I am quite sure that's not what everyone uses...
Within the templates, you can use the same template and just switch out parts using #if (xxx) which means you don't need 100's of the same example just one that's plugged in different parts.
Then you'd update the template.json with the possible options
https://github.com/kevbite/masstransit-dotnetTemplates/blob/master/src/templates/MassTransitService/.template.config/template.json#L17
Yeah, being able to specify the transport on the command-line would be great. With v6, most everything else is standardized and I'd only care to target the MS built-in stuff (DI, etc.).
I was thinking about using the same technique that is used in Web app templates, where you can choose Empty, Web API and so on. Essentially, those are different templates but grouped.
So I have a plan for this, and it's already started. It will be focused around docker and having base docker images for the MassTransit Platform.
any chance to extend MassTransitHostedService with logger?
So can get on startup something like:
Message bus started and ready for rocking... :)

@alexeyzimarev @kevbite I have the future posted.
Platform GitHub: https://github.com/MassTransit/MassTransit-Platform
Platform Docker image: https://hub.docker.com/r/masstransit/platform
Sample: https://github.com/MassTransit/Sample-Platform
Feedback is appreciated.
Most helpful comment
Yeah, being able to specify the transport on the command-line would be great. With v6, most everything else is standardized and I'd only care to target the MS built-in stuff (DI, etc.).