You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Discord Feedback] App Model API gaps - CORS, console apps, naming, networking
Summary
Based on analysis of 20,415 Discord messages + 147 #help threads from the Aspire community (April 2025 - February 2026), several App Model API features lack documentation.
Missing Documentation
1. CORS Configuration (10+ questions)
Current State: Zero documentation
Customer Quotes:
"Wait.. hold on, hold on, hold on, hold on, hold on.... What? do we need to configure cors?"
"I seem to be having some CORS issues with a test deployment. Would this also have to be something I configure somewhere in my project?"
Requested Documentation:
When CORS configuration is needed with Aspire
How to configure CORS for dev vs prod
Common CORS issues and solutions
2. Console Application Integration (17 questions)
Customer Quotes:
"if I want to hook up a Console project with Aspire, so that it can still (maybe?) use service discovery, service defaults, etc. with Aspire resources... is that possible?"
"Colleague asked how to start a console app with aspire. I got it to connect to another resource (redis) and write a kv.... but then was wondering how to 'launch the console window' so one could interact with Console.Readline."
Requested Documentation:
Adding Console apps to Aspire AppHost
Service discovery in Console apps (non-ASP.NET Core)
Background worker / hosted service patterns
Interactive console apps with stdin/stdout
3. Resource Naming Conventions
Customer Quote:
"How does WithReference treat names that have dashes? e.g. AddWhatever("my-service") and then will it be like MY_SERVICE_[PROPERTY]? Or MY-SERVICE_[PROPERTY]?"
Requested Documentation:
How resource names map to environment variables
Dashes → underscores transformation rules
Best practices for naming resources
4. Network Binding (0.0.0.0 / LAN Access)
From #help thread: "How to bind services to 0.0.0.0 for LAN access?"
Requested Documentation:
Exposing services to external network
Binding to 0.0.0.0 vs localhost
LAN development scenarios
5. Container-to-Host Networking
Customer Quote:
"I'm struggling to get endpoints resolved in the context of a container. If I use KnownNetworkIdentifiers.LocalhostNetwork, it always comes back with localhost not host.docker.internal"
From #help: "Containers can't reach localhost SQL"
Based on analysis of 20,415 Discord messages + 147 #help threads (April 2025 - February 2026).
Question counts:
Topic
Questions
Azure DevOps/Pipelines
87
azd integration
75
ACA/Container Apps
70
Kubernetes
54
aspire deploy
44
Container Registry
42
GitHub Actions
22
Docs That Exist
Slug
Title
Coverage
deploy-using-the-aspire-cli
Deploy using the Aspire CLI
✅ Basic ACA deployment
building-custom-deployment-pipelines
Building custom deployment pipelines
✅ Image building, progress reporting
publishing-and-deployment
Publishing and deployment
✅ Overview
deployment-manifest-format
Deployment manifest format
✅ Manifest structure
kubernetes-integration
Kubernetes integration
⚠️ Hosting only, not publishing
Gaps in Existing Docs
1. aspire deploy - Missing Topics (44 questions)
Customer Quotes:
"how does aspire deploy handle WaitFor? for example, if i set a database migration service to run before an api and frontend, how is this handled when deploying to i.e. azure?"
"did aspire deploy not get resource specific deploys like azd?"
Missing from deploy-using-the-aspire-cli:
WaitFor behavior during deployment (vs local dev)
Selective/resource-specific deployment
aspire deploy vs azd comparison table
Parameters file format and examples (partially mentioned but unclear per user feedback)
Handling dev-only resources during deploy
2. CI/CD Integration - No Dedicated Docs (109 questions)
Verified:kubernetes-integration exists but covers hosting only, not publishing/deployment.
Customer Quotes:
"I was wondering if anyone has considered an option where you could orchestrate resources in an actual Kubernetes cluster running locally (with MiniKube, Kind, Docker Desktop)"
From #help threads:
"How to get Kubernetes integration to use container registry image names?"
AddKubernetesEnvironment() mentioned but undocumented
Action Items:
AddKubernetesEnvironment() documentation
Helm chart generation patterns
Local Kubernetes (MiniKube, Kind) workflows
cert-manager integration
Aspirate mention/comparison
4. Container Registry / Airgapped (42 questions)
Verified:azure-container-registry-integration exists for ACR, but no private/airgapped patterns.
Customer Quotes:
"Is there an easy way to override container registry hostnames? Internally we use a jfrog artifactory proxy for mcr.microsoft.com."
"Could someone have a look at dotnet/aspire#14128? This would help us to support container registry mirrors in airgapped environments."
Based on analysis of 20,415 Discord messages + 147 #help threads (April 2025 - February 2026).
Total integration questions: 446
Docs Verified via list_docs
Integration
Doc Exists
Slug
JavaScript
✅
javascript-integration
Python
✅
python-integration
PostgreSQL
✅
azure-postgresql-*
Dapr
✅
dapr-integration
YARP
✅
yarp-integration
Redis
✅
redis-integration
Keycloak
✅
keycloak-integration
MAUI
✅
net-maui-integration
WPF/WinForms
❌
None
1. JavaScript/Vite/Node (102 questions)
Doc exists:javascript-integration ✅
Gaps in existing doc:
Customer Quotes:
"Has anyone done monorepo/turborepo with Aspire? Wondering if it's possible to do a pnpm dev on the root of the monorepo and host / expose multiple apps within"
"I have react+vite in the frontend calling a minimal API. I can't get the API URL to work -always undefined-"
Action Items:
Monorepo/Turborepo patterns
Passing API URLs to Vite apps (VITE_API_BASE_URL)
TypeScript debugging (from #help: "How to debug TypeScript/Node.js apps in Aspire?")
Docker build troubleshooting for JS apps
2. Python (47 questions)
Doc exists:python-integration ✅
Gaps:
Customer Quotes:
"Ok. So I can force https in the python app in publish mode today to make it work without my hack?"
"Even for internal requests? I don't actually need the python api exposed publicly"
Action Items:
HTTPS/certificate configuration for Python apps
Internal vs external service exposure
Deployment patterns (aspire deploy with Python)
Docker build troubleshooting
3. Dapr (43 questions)
Doc exists:dapr-integration ✅ (local dev only)
Gaps:
Customer Quotes:
"I just redeployed my container apps that have WithDaprSidecar but the Azure portal now shows Dapr is disabled - what gives?"
"when using AddDaprStateStore, how do I configure it as an ActorStateStore?"
From #help:
"How to configure Dapr sidecars with PublishAsAzureContainerApp in Aspire 13?"
Action Items:
Azure Container Apps + Dapr deployment
Dapr settings preservation on redeploy
Actor state store configuration
Migration from Aspire 9 to 13 for Dapr
4. YARP (41 questions)
Doc exists:yarp-integration ✅
Gaps:
Customer Quote:
"Just updated to Aspire 13.1 and tried using AddYarp with an https endpoint. My Yarp configuration proxies calls to an ASP.NET Core Razor Pages site that is using https as well."
"Does distributedapplicationtestingbuilder work with single file apphosts?"
"Can the DistributedApplicationTestingBuilder.CreateAsync<>() target an apphost that uses a file based app? Since the apphost then is not a project it naturally does not appear in the generated Projects namespace."
"How to override services/env vars in tests when services run in separate processes?"
From #help threads:
"How to exclude/disable certain resources during integration tests?"
"Removing WaitAnnotation in tests"
Action Items:
Single-file AppHost testing patterns
File-based AppHost with testing builder
Selectively disabling resources in tests
Cross-process service replacement
Environment variable overrides in tests
2. CI/CD Testing Patterns
Customer Quotes:
"Tests pass locally but fail in Azure DevOps because Cosmos uses principalType 'User' but CI uses Service Principal"
"I started some spikes for getting otel out of aspire tests in CI pipelines"
From #help threads:
Tests run indefinitely in GitHub Actions
principalType issues with Azure resources
Action Items:
Service Principal configuration for CI
Timeout handling in CI environments
OTEL extraction from tests for CI reporting
Running aspire CLI detached for E2E tests
3. Unit Testing Custom Publishers
From #help threads:
"Best practice for unit testing custom publisher/deployment?"
[Docs] MCP gaps - security documentation and troubleshooting
Summary
Based on analysis of 20,415 Discord messages from the Aspire community, MCP documentation exists but is missing security information for enterprise approval and troubleshooting guidance.
Current State
MCP docs exist and cover:
✅ configure-the-mcp-server - setup guide
✅ aspire-mcp-command - CLI reference
✅ aspire-mcp-init-command - initialization
✅ aspire-mcp-start-command - starting server
✅ Supported AI assistants (VS Code, Claude Code, Copilot CLI, OpenCode)
Missing Documentation
1. Security Documentation for Enterprise Approval (multiple questions)
Customer Quote:
"I am submitting tomorrow a request to approve the aspire mcp for general use, and they need this type of information up front. Is there a security doc for the mcp? I know you have internal security reviews for the aspire cli/mcp"
Requested Documentation:
Security model of MCP server
What data is exposed/accessible
Network boundaries (localhost only?)
Authentication/authorization
Enterprise deployment considerations
2. Claude Code Troubleshooting
Customer Quote:
"I've been battling Aspire MCP + Claude Code for quite a while now without success. Am I missing something? It seems like the MCP only detects AppHosts running at MCP startup, but you need to start/stop AppHosts during the session, so it doesn't work to just start the AppHost before starting Claude. This creates a chicken-and-egg problem..."
Requested Documentation:
AppHost detection lifecycle
How to handle start/stop during session
Common Claude Code integration issues
Debugging MCP connection problems
3. MCP + aspire deploy
Customer Quote:
"Trying to run aspire deploy and I have an MCP inspector resource via .AddMcpInspector(...). If I don't include it during publish, the pipeline executes and my ACA environment gets stood up. If I include it, I get this error..."
Requested Documentation:
Which resources should be excluded from publish
ExcludeFromMcp() vs excluding from deployment
Dev-only resources pattern
Verification
grep -i "security" aspire-docs-list.txt | grep -i mcp
# Result: NOT FOUND
Reviewed configure-the-mcp-server doc - no security section.
Based on analysis of 20,415 Discord messages from the Aspire community (April 2025 - February 2026), core developer workflow features lack documentation.
Missing Documentation
1. Debugging Guide (77 questions)
Current State: No dedicated debugging documentation. Some IDE-specific info exists in VS Code extension docs.
Customer Quotes:
"Hey does anyone know if you can attach a debugger to your server if you are running it through Aspire?"
"Hello, is there a way to configure a project so that the debugger is not attached to a specific application when the app host is run under the debugger?"
Requested Documentation:
Attaching debugger to running Aspire services
Selective debugging (debug some services, not others)
Debugging containers
Debugging in VS Code vs Visual Studio
Common debugging scenarios and solutions
2. Watch Mode / Hot Reload (42 questions)
Current State: Zero documentation exists (confirmed via list_docs grep)
Customer Quotes:
"Our team is struggling a bit with Aspire during development. Is there currently support for watch mode? Issues on Github range from 2023 to now, but I can't seem to find any recent updates on the topic?"
"yea but it sucks... so avoid it until it doesn't suck" - davidfowl (in response)
Requested Documentation:
Current status and known limitations
Workarounds for development workflows
Timeline or roadmap for improvements (if appropriate)
Why it's challenging (if appropriate to share)
Verification
grep -i "debug" aspire-docs-list.txt
# Result: Only "Debug Option" for CLI, no debugging guide
grep -i "watch" aspire-docs-list.txt
# Result: NOT FOUND
grep -i "hot reload" aspire-docs-list.txt
# Result: NOT FOUND
Doc exists:azure-functions-integration ✅ but missing deployment config
Customer Quote:
"When deploying with aspire deploy, it's asking me to specify the worker runtime. Is this not possible to do at the .AddAzureFunctionsProject() level?"
Action Items:
Worker runtime configuration for deployment
Deployment prompts and how to pre-configure them
KEDA scaling configuration details
2. Service Discovery on Azure Container Apps
No dedicated doc found for ACA service discovery behavior
Customer Quotes:
"Or is https+http service discovery not a supported scenario for apps deployed to ACA?"
"Does AddServiceDiscoveryDestinationResolver not support pass-through resolution?"
Action Items:
Service discovery behavior differences: local vs ACA
https+http scheme resolution on ACA
AddServiceDiscoveryDestinationResolver API reference
3. YARP with Azure Container Apps
Doc exists:yarp-integration ✅ but no ACA deployment guidance
Customer Quote:
"Have a yarp bff project that proxies to various backends, all of which gets deployed to container apps environment. What URLs should I be using in the yarp config? https+http://<app-name> is causing 404's in Azure"
Action Items:
YARP URL configuration for ACA deployment
Service discovery + YARP in production
Troubleshooting 404s after deployment
4. Cross-Subscription Resources
No docs found for cross-subscription patterns
Customer Quote:
"How would I go about using Azure resource .AsExisting() from different subscriptions? Is this possible with the Aspire API?"
Action Items:
AsExisting from different subscriptions
Multi-resource-group deployments
Sharing resources across Aspire apps
5. Blob Storage SAS URI Configuration
Doc exists:azure-blob-storage ✅ but missing SAS patterns
Customer Quotes:
"Locally, User SAS against Blob Storage doesn't work. However, when deployed to Azure, ONLY User SAS against Blob Storage works. Has anybody had and solved this issue?"
"How do I grant my Azure Blob storage through Aspire access to generate SAS URIs?"
Action Items:
SAS URI generation permissions
User delegation vs account SAS
Local vs deployed authentication behavior differences
6. OTEL Collector Integration
No docs found for custom OTEL collector setup
Customer Quotes:
"do you know if there's a samples / template somewhere with a config.yaml that's targeting aspire endpoint from the collector?"
"the toolkit collector knows where and how to send it back to the aspire otel endpoint?"
Action Items:
Custom OTEL collector configuration
Forwarding traces to Aspire dashboard
config.yaml examples for collector
7. HTTPS/Certificate in Azure Deployment
Docs exist:certificate-configuration ✅ but Azure deployment gaps
Customer Quote:
"System.InvalidOperationException: Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer certificate could not be found or is out of date."
Action Items:
Dev certificate behavior in Azure deployment
Production certificate setup for ACA
Troubleshooting certificate errors
8. Integration Status/Roadmap
No integration status documentation found
Customer Quotes:
"Any idea when Aspire.Microsoft.Azure.StackExchangeRedis is supposed to go GA?"
"does all Integration respectively have like a CheckList on what's blocking GA?"
Action Items:
Integration maturity status (preview vs GA)
What's blocking GA for preview integrations
Migration paths for breaking changes
9. Azure Permissions/RBAC for Deployment
Doc exists:manage-azure-role-assignments ✅ but deployment permissions unclear
Customer Quote:
"Because one deployment step need a permission to create a rg. That is strange based on your setup > everything in the same rg defined in the settings."
Action Items:
Required Azure permissions for aspire deploy
Troubleshooting permission errors
Minimal RBAC requirements
Data Source
Discord channel: #🔵│azure (1,334 messages)
Help threads: 147 from #🆘│help
Date range: July 2025 - February 2026
Verified against:aspire-list_docs and aspire-search_docs
Generated: 2026-02-01 Source: 20,415 Discord messages + 147 #help threads Date Range: April 2025 - February 2026
1. React/Vite Frontend with API URL Configuration (102 questions)
Problem: Users struggle to pass API URLs from Aspire to Vite/React frontends. Environment variables come through as undefined.
Customer Quote:
"I have react+vite in the frontend calling a minimal API. I can't get the API URL to work -always undefined-. I even tried WithEnvironment("VITE_API_BASE_URL", webApi.GetEndpoint("https")) and yet nothing."
Problem: Users want to debug some services while running others without the debugger attached.
Customer Quote:
"is there a way to configure a project so that the debugger is not attached to a specific application when the app host is run under the debugger?"
Conceptual Pattern:
varapi=builder.AddProject<Projects.Api>("api");// Will attach debuggervarworker=builder.AddProject<Projects.Worker>("worker").WithEnvironment("DOTNET_DEBUGGER_ATTACH","false");// Skip debugger// Or use launchSettings.json profiles with different debug configurations
4. Dapr with Azure Container Apps Deployment (43 questions)
Problem: Dapr sidecars work locally but get disabled or reset when deploying to ACA.
Customer Quote:
"I just redeployed my container apps that have WithDaprSidecar but the Azure portal now shows Dapr is disabled - what gives? Am I supposed to add something to the PublishAsContainerApp section?"
5. Console Application with Service Discovery (17 questions)
Problem: Users want to add console apps to Aspire and use service discovery without ASP.NET Core.
Customer Quote:
"if I want to hook up a Console project with Aspire, so that it can still (maybe?) use service discovery, service defaults, etc. with Aspire resources... is that possible?"
6. Kubernetes with AddKubernetesEnvironment (54 questions)
Problem: Users want to deploy to Kubernetes but AddKubernetesEnvironment() is undocumented.
Customer Quote:
"I was wondering if anyone has considered an option where you could orchestrate resources in an actual Kubernetes cluster running locally (with MiniKube, Kind, Docker Desktop or whatever)"
9. WaitFor Behavior in Production Deployment (70 questions)
Problem: Users don't understand how WaitFor translates to production deployments.
Customer Quote:
"how does aspire deploy handle WaitFor? for example, if i set a database migration service to run before an api and frontend, how is this handled when deploying to i.e. azure?"
Conceptual Pattern:
vardb=builder.AddPostgres("db");varmigrations=builder.AddProject<Projects.Migrations>("migrations").WithReference(db);varapi=builder.AddProject<Projects.Api>("api").WithReference(db).WaitFor(migrations);// Local: waits for migrations to complete// ACA: Creates dependency but doesn't block deployment
10. Integration Testing in CI with Service Principal (41 questions)
Problem: Tests using Azure resources fail in CI due to User vs ServicePrincipal identity issues.
Customer Quote:
"Tests pass locally but fail in Azure DevOps because Cosmos uses principalType 'User' but CI uses Service Principal"
Conceptual Pattern:
// In test setupvarbuilder=awaitDistributedApplicationTestingBuilder.CreateAsync<Projects.AppHost>();// Configure for CI environmentbuilder.WithEnvironment("AZURE_CLIENT_ID",Environment.GetEnvironmentVariable("SP_CLIENT_ID"));builder.WithEnvironment("AZURE_TENANT_ID",Environment.GetEnvironmentVariable("TENANT_ID"));builder.WithEnvironment("AZURE_CLIENT_SECRET",Environment.GetEnvironmentVariable("SP_SECRET"));awaitusingvarapp=awaitbuilder.BuildAsync();
11. Blazor WASM with OpenTelemetry (140 questions - dashboard related)
Problem: Users want to send traces from Blazor WASM frontend to Aspire dashboard.
Customer Quote (from #help):
"How to send OTEL traces from Blazor WASM frontend through authenticated proxy?"
Problem: Users struggle with MCP + Claude Code integration, especially AppHost detection timing.
Customer Quote:
"I've been battling Aspire MCP + Claude Code for quite a while now without success. It seems like the MCP only detects AppHosts running at MCP startup, but you need to start/stop AppHosts during the session"
Problem: Containers can't reach localhost services; users confused about host.docker.internal.
Customer Quote:
"I'm struggling to get endpoints resolved in the context of a container. If I use KnownNetworkIdentifiers.LocalhostNetwork, it always comes back with localhost not host.docker.internal"
Conceptual Pattern:
// For container that needs to reach host SQL Servervarcontainer=builder.AddContainer("mycontainer","myimage").WithEnvironment("SQL_SERVER","host.docker.internal").WithContainerRuntimeArgs("--add-host=host.docker.internal:host-gateway");// Or use Aspire's built-in networkingvarsql=builder.AddSqlServer("sql");// Aspire handles networkingvarcontainer=builder.AddContainer("mycontainer","myimage").WithReference(sql);// Correct connection string injected
14. CORS Configuration (10+ questions)
Problem: Users don't know when or how to configure CORS with Aspire.
Customer Quote:
"Wait.. hold on, hold on, hold on, hold on, hold on.... What? do we need to configure cors?"
Conceptual Pattern:
// AppHost - Aspire doesn't configure CORS; it's done in the service// Api Program.csbuilder.Services.AddCors(options =>{options.AddDefaultPolicy(policy =>{// In dev, allow Aspire frontend endpointspolicy.WithOrigins(builder.Configuration["services:frontend:https:0"]??"https://localhost:5001").AllowAnyMethod().AllowAnyHeader();});});
15. Watch Mode / Hot Reload (42 questions)
Problem: Teams want hot reload during Aspire development but it's not working well.
Customer Quote:
"Our team is struggling a bit with Aspire during development. Is there currently support for watch mode?"
Conceptual Pattern:
// Current workaround - run services outside Aspire for hot reloadvarapi=builder.AddProject<Projects.Api>("api").WithEnvironment("DOTNET_WATCH","true")// Hint for tooling.ExcludeFromManifest();// During dev, run separately with `dotnet watch`// For container-based servicesvarnode=builder.AddNpmApp("frontend","../frontend","dev")// npm run dev includes watch.WithHttpEndpoint(port:3000,env:"PORT");