[docs] Document proxyless endpoint port pre-allocation (Aspire 13.5)#1199
[docs] Document proxyless endpoint port pre-allocation (Aspire 13.5)#1199aspire-repo-bot[bot] wants to merge 2 commits into
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 |
|
@copilot we need to re-evaluate these doc changes now that microsoft/aspire#17924 is merged. |
Co-authored-by: danegsta <50252651+danegsta@users.noreply.github.com>
Re-evaluated after microsoft/aspire#17924 and updated the section to describe pre-allocation from the proxyless endpoint port range, fixed ports, persistent resource reuse, and added TypeScript parity. Addressed in aaab7dd. |
Documents changes from microsoft/aspire#17924 by
@danegsta.Why this PR is needed
Aspire 13.5 pre-allocates public host ports for dynamic proxyless endpoints before workload resources are created. This makes endpoint properties such as
EndpointProperty.Portavailable during resource configuration, including patterns that pass an endpoint's allocated public port into environment variables.The existing networking-overview page documents proxyless endpoints but does not cover this pre-allocation behavior or the configurable proxyless endpoint port range.
What changed
Updated
src/frontend/src/content/docs/fundamentals/networking-overview.mdxto add a new subsection “Allocate ports for dynamic proxyless endpoints” under the existing### Proxyless endpointssection. The new subsection:portbehavior versus allocation from the proxyless endpoint port range.10000-32767range and theASPIRE_PROXYLESS_ENDPOINT_PORT_RANGEoverride.Files modified
src/frontend/src/content/docs/fundamentals/networking-overview.mdx— updated (new subsection added)> Generated by PR Documentation Check for issue #17851 · sonnet46 3.3M · ◷