Skip to content

Rename Aspire Dashboard image to aspire/dashboard family#7218

Open
joperezr wants to merge 3 commits into
nightlyfrom
joperezr/aspire-dashboard-rename
Open

Rename Aspire Dashboard image to aspire/dashboard family#7218
joperezr wants to merge 3 commits into
nightlyfrom
joperezr/aspire-dashboard-rename

Conversation

@joperezr
Copy link
Copy Markdown
Member

@joperezr joperezr commented Jun 2, 2026

Summary

Renames the .NET Aspire Dashboard container image to a dedicated aspire product family:

  • mcr.microsoft.com/dotnet/aspire-dashboardmcr.microsoft.com/aspire/dashboard
  • nightly: dotnet/nightly/aspire-dashboardaspire/nightly/dashboard

This is a hard cutover — no syndication/back-compat alias to the old repo. Tag scheme is unchanged (13.x.y, 13.x, 13, latest).

All internal identifiers are intentionally kept as aspire-dashboard: manifest id, on-disk src/aspire-dashboard/ paths, template dirs (eng/dockerfile-templates/aspire-dashboard/, eng/mcr-tags-metadata-templates/aspire-dashboard-tags.yml), $(aspire-dashboard|...) version variables, README.aspire-dashboard.md filenames, and test categories/traits. Only the published name and user-facing docs change.

Changes

  • manifest.json: repo nameaspire/nightly/dashboard (id unchanged).
  • Test infra: ImageData.GetRepoName reconstructs the new published name for the aspire repo; StaticTagTests appliance matcher updated.
  • README templates: the new top-level aspire/ family parses (via ImageBuilder) to SHORT_REPO=dashboard / PARENT_REPO=nightly, so template special-cases map it back to aspire-dashboard for readme-filename/qualifier derivation; the /nightly insertion and Announcement.md family wording were generalized.
  • documentation/image-signatures.md: registry-scope example updated to mcr.microsoft.com/aspire/dashboard.
  • Regenerated all READMEs + portal docs. Dockerfiles unchanged (no baseline updates).

Validation

  • Pre-build tests: 137 passed, 0 failed
  • Dockerfile generation: in sync (no diff)
  • README generation: clean; verified aspire/dashboard across generated docs, and the dotnet product-family README.md is un-regressed
  • Built the aspnet base chain + aspire image → tagged aspire/nightly/dashboard; aspire image tests 7 passed, 0 failed
  • Final repo-wide grep: the only remaining dotnet/aspire-dashboard is the BAR version-source-name in eng/Set-DotnetVersions.ps1 (build identity, not the MCR repo — correctly left unchanged)

Related work

  • WS2: microsoft/mcr#5042
  • WS3: microsoft/mcrdocs#48002

Publish the .NET Aspire Dashboard image under a dedicated 'aspire' product family (mcr.microsoft.com/aspire/dashboard, nightly: aspire/nightly/dashboard) instead of dotnet/aspire-dashboard. Hard cutover with no syndication alias.

Internal identifiers (manifest id, src/aspire-dashboard paths, template dirs, version variables, README filenames, test categories) are intentionally kept as aspire-dashboard; only the published name and user-facing docs change.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@joperezr joperezr requested review from a team and wiktork as code owners June 2, 2026 22:34
joperezr and others added 2 commits June 2, 2026 15:48
Under the hard cutover to the aspire/ product family there is no
microsoft/aspire-dashboard Docker Hub repo, so stop generating the
Docker Hub portal README for the family and avoid emitting dead
hub.docker.com links to it.

- manifest.json: remove the .portal-docs/docker-hub README entry for
  the aspire repo (keep GitHub + MAR portal READMEs).
- Get-GeneratedReadmes.ps1: stop copying the aspire docker-hub README.
- Url.md: for the aspire family, emit the MAR artifact link instead of
  a hub.docker.com link when rendering for the dockerhub host, so other
  repos' Related Repositories lists point to MAR.
- Remove the generated .portal-docs/docker-hub/README.aspire-dashboard.md
  and regenerate all docker-hub READMEs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace the broad substring checks (find/match of REPO containing
"aspire"), introduced when renaming the published name to the aspire/
family, with an exact first-path-segment check in the README templates.
This precisely identifies the new top-level aspire/ product family and
avoids false-positives on any future repo whose path merely contains the
substring "aspire". Behavioral no-op for the current repo set
(regenerated READMEs are unchanged).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Comment thread README.aspnet.md
* [dotnet/nightly/runtime-deps](https://github.com/dotnet/dotnet-docker/blob/nightly/README.runtime-deps.md): .NET Runtime Dependencies (Preview)
* [dotnet/nightly/monitor](https://github.com/dotnet/dotnet-docker/blob/nightly/README.monitor.md): .NET Monitor Tool (Preview)
* [dotnet/nightly/aspire-dashboard](https://github.com/dotnet/dotnet-docker/blob/nightly/README.aspire-dashboard.md): Aspire Dashboard (Preview)
* [aspire/nightly/dashboard](https://github.com/dotnet/dotnet-docker/blob/nightly/README.aspire-dashboard.md): Aspire Dashboard (Preview)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

General question: If it's not a dotnet/* repo anymore, should we remove it from the related repos lists for the dotnet/* images?

Another way of thinking about it - If the dashboard image wasn't built out of this repo, I don't think we'd go out of our way to add it to these lists.

cc @mthalman

Comment on lines 138 to 140
* [Microsoft Support for .NET](https://github.com/dotnet/core/blob/main/support.md)
* [Supported Container Platforms Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-platforms.md)
* [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think that these links, in particular the first one, aren't super relevant to this repo anymore.

Comment on lines +3 to +5
> **Important**: The images from the aspire/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core).
>
> See [dotnet](https://github.com/dotnet/dotnet-docker/blob/main/README.aspire-dashboard.md) for images with official releases of [.NET](https://github.com/dotnet/core).
> See [aspire](https://github.com/dotnet/dotnet-docker/blob/main/README.aspire-dashboard.md) for images with official releases of [.NET](https://github.com/dotnet/core).
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This comment isn't super coherent anymore.

The Aspire Dashboard nightly image typically has a stable version of .NET but a pre-release version of the Dashboard, and sometimes (rarely) has early fixes from the .NET base image. It also isn't signed.

Comment thread manifest.json
{
"productVersion": "$(aspire-dashboard|product-version)",
"sharedTags": {
"$(aspire-dashboard|fixed-tag)": {},
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Tags are missing syndication to the old dotnet/aspire-dashboard repo:

Suggested change
"$(aspire-dashboard|fixed-tag)": {
"syndication": {
"repo": "dotnet/aspire-dashboard"
}
},

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