[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. |
|
CI has been retriggered multiple times and is still failing on validation/build checks. This appears to be caused by the current PR changes rather than a transient workflow issue and likely needs a docs/code fix in this PR. |
|
This PR has had CI retriggered multiple times and is still failing on PR-specific checks. It likely needs a change in this PR to pass. |
|
CI has been retriggered several times and is still failing for this PR. |
|
We've retriggered CI many times on this PR and it's still failing. At this point, the failure likely comes from changes in this PR rather than transient CI flakiness, so this probably needs a content/code fix in the PR itself. |
|
CI has failed repeatedly on this docs-from-code PR after multiple reruns, and the failures appear to be related to the changes in this PR. Please review and adjust the PR content so the checks can pass. |
|
CI has been retriggered multiple times on this PR and is still failing. The failures appear tied to the current PR changes rather than a transient runner issue, so this likely needs an update in the PR content before CI will pass. |
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 · ◷