Skip to content

docs: update standalone dashboard image location - #1952

Merged
David Pine (IEvangelist) merged 2 commits into
mainfrom
ievangelist-dashboard-image-sample-draft
Oct 12, 2026
Merged

David Pine (IEvangelist) merged 2 commits into
mainfrom
ievangelist-dashboard-image-sample-draft

Conversation

@IEvangelist

@IEvangelist David Pine (IEvangelist) commented Sep 16, 2026 •

Copy link
Copy Markdown
Member

Summary

The repository-wide audit covered all 1,136 tracked paths, including samples, documentation, Docker/configuration files, scripts, tests, and workflows. These are the only two active dashboard image references; only samples/standalone-dashboard/README.md differs from main.

Publication prerequisite - satisfied

The publisher migration dotnet/dotnet-docker#7337 merged on 2026-09-15. Current publisher manifests use aspire/dashboard on main and aspire/nightly/dashboard on nightly, both under mcr.microsoft.com.

The exact selected image mcr.microsoft.com/aspire/nightly/dashboard:13.6 returned HTTP 200 from the MCR manifest endpoint on 2026-10-12, with digest sha256:03a6f96028282634e3e957fb0b146e83fcc88e98f34aa3d689a38cd8ac31e5e7. The previous unpublished-image draft warning no longer applies.

Downstream coordination

The aspire.dev synchronization in microsoft/aspire.dev#1679 depends on this source PR. Synchronize the standalone sample from the final source/main before docs publication, preserving its nightly 13.6 pin. Companion product consumer migration: microsoft/aspire#20177.

Validation

  • Audited all tracked files and confirmed no active dotnet/aspire-dashboard or dotnet/nightly/aspire-dashboard references remain.
  • Verified canonical publisher configuration and availability of the exact image/tag.
  • Checked the final two-line README diff against main, matching command/explanation image values, unresolved merge entries, and whitespace.
  • No containers were executed; this documentation change does not claim runtime validation.
  • Current-head CI and valid human approval are required before merge.

Use the renamed Aspire dashboard image and align the command explanation with the stable latest tag.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve the sample's 13.6 prerelease pin while migrating both dashboard image references to the canonical Aspire nightly repository.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@IEvangelist
David Pine (IEvangelist) marked this pull request as ready for review October 12, 2026 11:42
Copilot AI balanced review requested due to automatic review settings October 12, 2026 11:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The documentation consistently uses the verified canonical image path with no unresolved issues.

0 open findings

What changed in this PR

Updates the standalone dashboard sample to use the renamed canonical nightly container image.

Changes:

  • Updates the Docker command and explanatory text to mcr.microsoft.com/aspire/nightly/dashboard:13.6.
File Description
samples/​standalone-dashboard/​README.md Updates both dashboard image references.

🧠 Review effort: Balanced


💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@IEvangelist
David Pine (IEvangelist) enabled auto-merge (squash) October 12, 2026 12:02
@IEvangelist
David Pine (IEvangelist) merged commit 9e83d52 into main Oct 12, 2026
5 checks passed
@IEvangelist
David Pine (IEvangelist) deleted the ievangelist-dashboard-image-sample-draft branch October 12, 2026 12:06
David Pine (IEvangelist) added a commit to microsoft/aspire.dev that referenced this pull request Oct 12, 2026
## Summary

<!-- Describe what this pull request changes and why. -->

Update active dashboard image references to the published canonical
Aspire repositories. The previous draft/publication warnings are
resolved: all exact image tags consumed by this PR returned HTTP 200 on
October 12, 2026. The PR is ready for review and conflict-free; an
explicit user-directed merge hold remains in effect.

- Audit all 2,475 tracked files, including 611 documentation pages and
every available localization, plus generated data, runnable examples,
configuration, scripts, and workflows. All active tagged references now
use canonical names; legacy names remain only in migration explanations.
Historical release pages and the hosting-integration image catalog are
unchanged.
- Use `mcr.microsoft.com/aspire/dashboard:latest` in all standalone
Docker examples, including the newly added persistence examples.
Preserve container names, ports, authentication, telemetry limits, CORS,
volumes, and persistence settings.
- Keep the English Compose examples on the intentional floating
`mcr.microsoft.com/aspire/nightly/dashboard:latest` selection, with an
explicit publisher-output caveat. Align both Japanese generated-output
examples with the current publisher's version-line selection,
`mcr.microsoft.com/aspire/nightly/dashboard:13.6`, rather than
introducing a new manual translation.
- Preserve the upstream sample's nightly `13.6` pin in its command and
explanation, in both generated README fields. Retain current-main
screenshots and metadata; no other sample fields change semantically.
After the source change merged, normal-main generation verified that the
entire 29-sample catalog is semantically identical to this committed
data.
- Explain repository mappings, tag availability, immutable digests, and
Aspire 13 servicing compatibility. Do not silently upgrade a
version-constrained example when its old tag is unavailable in the new
repository.
- Merge canonical `main` (`1a61517655b4fd7811ef63fb5913f6fb623d9d6a`)
while preserving the original PR commits. Resolve the generated catalog
conflict through the existing updater and extend regression coverage to
persistence commands, all active documentation locales, and arbitrary
valid Docker image tags.

### Feedback addressed

Both actionable inline findings were fixed in
`728e2b88638808155fe10d8f9b0e5f078aa71635`, replied to, and resolved
after pushing to the existing upstream head:

- Match Docker tag grammar rather than three hard-coded tags. Regression
fixtures cover versions, architecture/preview tags, underscores, mixed
case, 128-character tags, end-of-input, and tag-plus-digest references
in both legacy channels. Historical release-page exclusions remain
intact.
- Align both Japanese Compose output examples to canonical nightly
`13.6`; retain the English guide's explicit floating-nightly
explanation. Browser clipboard verification confirms the final
language-specific selections.

A fully paginated feedback refresh returned two resolved threads, no
further thread/comment pages, and zero unresolved findings. No
additional actionable general comments were present.

### Dependencies and merge gates

- Publisher prerequisite
[dotnet/dotnet-docker#7337](dotnet/dotnet-docker#7337)
merged on September 15, 2026. Publisher manifests use `aspire/dashboard`
on `main` (`f731d8c7f1049741a025a3ed8c034f6921c8af5e`) and
`aspire/nightly/dashboard` on `nightly`
(`f1f5cc1b0a02f0dd4538d013cca20a89d4ada83e`); actual publication is
independently confirmed below.
- Source synchronization is fulfilled:
[microsoft/aspire-samples#1952](microsoft/aspire-samples#1952)
merged as `9e83d52d2f0e8be2c5cc61e87e2a3d9b010f1fc3`. This catalog was
initially generated from corrected head
`d9ee93a5ef275919aa81956794ad34285a262199` with the supported
`SAMPLES_BRANCH` override; running the existing generator against normal
`main` after the merge produced semantically identical data for all 29
samples. No needless follow-up catalog edit was made.
- Companion
[microsoft/aspire#20177](microsoft/aspire#20177)
is coordinated separately. At current product `main`
(`b1d4824f1249ea4297b818a3f67c48f0cdb5a3ef`),
`src/Shared/DashboardImage.cs` and the Docker publisher select the
canonical nightly name and resolve a build override or the running
product's major/minor tag. This documentation does not claim that manual
image edits rewrite installed tooling's output.
- **Do not merge, enable auto-merge, or enqueue while the user-directed
incident hold is active.** GitHub auto-merge is disabled and the PR has
no queue entry.
- A valid human approval of the final work and green required/relevant
exact-head CI are mandatory after the hold is lifted. `mitchdenny`
approved the preceding head `e55de41c1d28522ef5f40aa22a53f19134e36017`;
GitHub retains that approval after the feedback push, so a summary
`APPROVED` state must not be mistaken for review of the current head. No
self-approval or bypass was performed.

### Exact published image decisions

| Use | Image | Manifest verification |
| --- | --- | --- |
| Standalone guides | `mcr.microsoft.com/aspire/dashboard:latest` | HTTP
200;
`sha256:613f297a274958abd85e7b71664f51fb42b0ddeb697ebd4c159677774433345b`
|
| Explicitly illustrative English Compose examples |
`mcr.microsoft.com/aspire/nightly/dashboard:latest` | HTTP 200;
`sha256:03a6f96028282634e3e957fb0b146e83fcc88e98f34aa3d689a38cd8ac31e5e7`
|
| Japanese publisher-output examples and upstream sample |
`mcr.microsoft.com/aspire/nightly/dashboard:13.6` | HTTP 200;
`sha256:03a6f96028282634e3e957fb0b146e83fcc88e98f34aa3d689a38cd8ac31e5e7`
|

Both canonical tag lists contain `13`, `13.6`, and `latest`, but earlier
minors such as `13.0` are absent. Exact canonical `13.0`–`13.3` requests
returned 404 while their legacy counterparts returned 200. A repository
rename is not a reason to change an intentionally pinned version or
switch release channels.

## Third-party links and affiliations

<!--
List any third-party links added or changed by this pull request and
disclose any
material affiliation with the linked organizations, such as employment,
sponsorship, or ownership. Write "None" if this pull request doesn't add
or
change third-party links.
-->

None. Added catalog links point to Microsoft's own Microsoft Container
Registry.

## Validation

<!-- List the checks you ran or explain why validation isn't needed. -->

Validated/pushed head: `728e2b88638808155fe10d8f9b0e5f078aa71635`.

- `pnpm --dir .\src\frontend exec vitest run --config vitest.config.ts
tests/unit/dashboard-image-references.vitest.test.ts
tests/unit/dashboard-agent-commands.vitest.test.ts
tests/unit/update-samples.vitest.test.ts`: **69 passed** after the
feedback fixes. Earlier extended coverage reproduced three stale
persistence/sample-reference failures before correction.
- `pnpm --dir .\src\frontend exec eslint
tests\unit\dashboard-image-references.vitest.test.ts --max-warnings 0`:
**passed**.
- `$env:SAMPLES_BRANCH = 'd9ee93a5ef275919aa81956794ad34285a262199';
pnpm --dir .\src\frontend update:samples`: **passed**, all 29 samples
fetched; only the standalone-dashboard README fields changed
semantically versus the base. Its `readmeRaw` exactly matches the pinned
source bytes. Post-merge execution of the same `update-samples.ts` with
`SAMPLES_BRANCH=main` in a temporary output directory: **passed**, all
29 generated sample objects matched the committed catalog; temporary
assets were removed.
- `git diff upstream/main HEAD --check`: **passed**. Final PR diff: nine
intended files, 215 insertions and 20 deletions. Existing PR history and
the latest base ancestry are preserved.
- `pnpm dev --host 127.0.0.1 --port 4389` with telemetry disabled:
**started successfully**. Playwright CLI verified all seven affected
documentation routes, Bash/PowerShell
standalone/configuration/CORS/persistence variants, C#/TypeScript
deployment variants, migration anchors, both image catalogs, and
`/reference/samples/standalone-dashboard/`. Final Japanese and sample
clipboard checks passed. The owned browser/scratch artifacts and preview
server were cleaned up; port 4389 has no listener.
- `docker manifest inspect mcr.microsoft.com/aspire/dashboard:latest`,
`docker manifest inspect
mcr.microsoft.com/aspire/nightly/dashboard:latest`, and `docker manifest
inspect mcr.microsoft.com/aspire/nightly/dashboard:13.6`: **passed**,
each advertises Linux AMD64 and ARM64. Exact registry manifests were
**HTTP 200** with the digests above.
- Container execution/login/OTLP/persistence runtime checks were
**blocked by the unavailable local Docker Desktop Linux engine**, not
claimed as passed. Four copied Compose examples also exposed
pre-existing `environment must be a mapping` schema failures; a byte
comparison verified their unchanged content against canonical main apart
from dashboard image references. Those unrelated baseline defects were
not altered.
- No full local build was run. Current-head
[CI](https://github.com/microsoft/aspire.dev/actions/runs/38249739333)
has passed frontend Build, frontend lint/unit validation, release-sync,
and change detection;
[CodeQL](https://github.com/microsoft/aspire.dev/actions/runs/38249739086),
forbidden words, and CLA are green. E2E/downstream gates must finish
before merge. Previous-head checks are not reused.

---------

Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants