[Feature]: Add Azure Traffic Manager hosting integration
- Dominant language
- C#
- Stars
- 6.3k
- Forks
- 991
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 196
Description
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Is your feature request related to a problem? Please describe the problem.
Aspire can provision and connect many Azure resources, but there is no first-class way to model Azure Traffic Manager in the app model. Teams running multi-region deployments today drop out of the app model and hand-author Bicep/ azd for DNS-based routing, endpoint definitions, and health-probe config. This breaks the code-first story and makes multi-region topologies hard to express and review.
### Describe the solution you'd like
A `Aspire.Hosting.Azure.TrafficManager` integration exposing a builder API, e.g.:
```
var tm = builder.AddAzureTrafficManager("tm")
.WithRoutingMethod(TrafficRoutingMethod.Performance);
tm.AddEndpoint(apiEastUs);
tm.AddEndpoint(apiWestEurope);
```
• Support routing methods: Priority, Weighted, Performance, Geographic, Subnet, MultiValue.
• Endpoint types: Azure endpoints (App Service / Container Apps / public IP), external, and nested profiles.
• Configurable DNS TTL and monitor/health-probe settings (protocol, port, path, interval, tolerated failures).
• Emit Bicep via the Azure provisioning model so it composes with existing resources and works in both run and publish modes.
• Expose the profile FQDN as a connection/endpoint reference other resources can consume.
### Additional context
• Docs: https://learn.microsoft.com/azure/traffic-manager/
• Related to multi-region / high-availability scenarios frequently requested by 3P teams.
• Would follow the same pattern as existing Aspire.Hosting.Azure.* integrations.
Contributor guide
Research direction
Start by reviewing the existing Aspire.Hosting.Azure.* integrations and the Azure provisioning model, then consult the linked Azure Traffic Manager documentation. Define the builder, endpoint, routing, monitoring, DNS, Bicep, and FQDN-reference requirements before implementation. Done means the integration composes with existing resources and works in both run and publish modes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp
- Domain
- cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100