[docs] Document proxyless container endpoint on-demand allocation (Aspire 13.5)#1199
Conversation
Documents the on-demand port allocation behavior for dynamic proxyless container endpoints introduced in Aspire 13.5 (microsoft/aspire#17851). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Frontend HTML artifact readyThe latest frontend build uploaded the This comment updates automatically when a new frontend build artifact is uploaded. |
There was a problem hiding this comment.
Pull request overview
Adds documentation to the inner-loop networking overview describing Aspire 13.5’s on-demand resolution behavior for proxyless container endpoints when those endpoints are referenced before container creation (to avoid deadlocks/failures in certain configuration patterns).
Changes:
- Adds a new section explaining why proxyless container endpoint ports may be unavailable prior to container creation.
- Documents Aspire 13.5’s on-demand port allocation behavior for early endpoint resolution.
- Includes a C# AppHost example showing how to inject the endpoint port as an environment variable.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| ### Resolving proxyless container endpoints before container creation | ||
|
|
||
| Proxyless container endpoints normally defer host port assignment until DCP creates the container. This means that if you reference an endpoint in a `WithEnvironment` callback or similar configuration that runs before the container is fully built, the port may not yet be available, which can cause deadlocks or failures. |
IEvangelist
left a comment
There was a problem hiding this comment.
Source-of-truth branch mismatch — review skipped
Cannot verify this PR against microsoft/aspire.
PR base branch (microsoft/aspire.dev) |
release/13.5 |
Matching branch in microsoft/aspire |
does not exist |
Latest release branch in microsoft/aspire |
release/13.4 (4f2189335) |
| Source PR cited in body | microsoft/aspire# — merged to main, milestone 13.5 |
My review protocol requires using the matching microsoft/aspire release branch as the single source of truth for claim verification. Because no release/13.5 branch exists on microsoft/aspire yet (13.5 has not been cut), I cannot verify the API/CLI/config claims in this PR against an authoritative source code snapshot for that release.
Possible resolutions:
- Re-target this PR to
release/13.4inaspire.devif the documented behavior is already present in 13.4. - Wait until
release/13.5is cut inmicrosoft/aspire, then re-run review against that branch.
Skipping Phase B (doc-tester) as well — running it without the Phase A claim verification would produce an incomplete review per protocol.
|
This will soon become invalid due to microsoft/aspire#17924 which will switch 13.5 to pre-allocation of undefined proxyless ports. |
danegsta
left a comment
There was a problem hiding this comment.
This will need changes after another PR merges.
Source-of-truth branch mismatch — review feedback not appliedI checked the matching source-of-truth branch required by the docs-feedback protocol and cannot evaluate this PR yet.
Because there is no matching |
Source-of-truth branch mismatch - review feedback not appliedI checked the matching source-of-truth branch required by the docs-feedback protocol and cannot evaluate this PR yet.
Because there is no matching microsoft/aspire branch, I can't verify the review feedback or the documented behavior against an authoritative source snapshot. Per protocol, I'm leaving the PR unchanged and not resolving any threads. Once |
Source-of-truth branch mismatch - review feedback not appliedI checked the matching source-of-truth branch required by the docs-feedback protocol and cannot evaluate this PR yet.
Because there is no matching |
Documents changes from microsoft/aspire#17851 by
@danegsta.Targeting
release/13.4— the latest release branch onmicrosoft/aspire.dev— becauserelease/13.5(from the source PR milestone13.5) does not exist there.Why this PR is needed
Aspire 13.5 adds on-demand port allocation for dynamic proxyless container endpoints (microsoft/aspire#17851). Before this change, referencing a proxyless container endpoint before container creation — for example, to inject the container’s own port as an environment variable — could deadlock or fail because the host port is normally assigned by DCP only after the container is created.
The existing networking-overview page documents proxyless endpoints but does not cover this new resolution behavior.
What changed
Updated
src/frontend/src/content/docs/fundamentals/networking-overview.mdxto add a new subsection “Resolving proxyless container endpoints before container creation” under the existing### Proxyless endpointssection. The new subsection:Files modified
src/frontend/src/content/docs/fundamentals/networking-overview.mdx— updated (new subsection added)