From 6dba104e981fb402b84b020c373d7d7cdde0f166 Mon Sep 17 00:00:00 2001 From: Jose Perez Rodriguez Date: Tue, 2 Jun 2026 15:33:49 -0700 Subject: [PATCH 1/3] Rename Aspire Dashboard image to aspire/dashboard family 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> --- .portal-docs/docker-hub/README.aspire-dashboard.md | 10 +++++----- .portal-docs/docker-hub/README.aspnet.md | 2 +- .portal-docs/docker-hub/README.monitor-base.md | 2 +- .portal-docs/docker-hub/README.monitor.md | 2 +- .portal-docs/docker-hub/README.runtime-deps.md | 2 +- .portal-docs/docker-hub/README.runtime.md | 2 +- .portal-docs/docker-hub/README.samples.md | 2 +- .portal-docs/docker-hub/README.sdk.md | 2 +- .portal-docs/docker-hub/README.yarp.md | 2 +- .portal-docs/mar/README.aspire-dashboard.portal.md | 8 ++++---- .portal-docs/mar/README.aspnet.portal.md | 2 +- .portal-docs/mar/README.monitor-base.portal.md | 2 +- .portal-docs/mar/README.monitor.portal.md | 2 +- .portal-docs/mar/README.runtime-deps.portal.md | 2 +- .portal-docs/mar/README.runtime.portal.md | 2 +- .portal-docs/mar/README.samples.portal.md | 2 +- .portal-docs/mar/README.sdk.portal.md | 2 +- .portal-docs/mar/README.yarp.portal.md | 2 +- README.aspire-dashboard.md | 10 +++++----- README.aspnet.md | 2 +- README.md | 4 ++-- README.monitor-base.md | 2 +- README.monitor.md | 2 +- README.runtime-deps.md | 2 +- README.runtime.md | 2 +- README.samples.md | 2 +- README.sdk.md | 2 +- README.yarp.md | 2 +- documentation/image-signatures.md | 2 +- eng/readme-templates/About.md | 4 +++- eng/readme-templates/Announcement.md | 5 +++-- eng/readme-templates/DefaultLayout.md | 4 +++- eng/readme-templates/FeaturedRepos.md | 3 ++- eng/readme-templates/FeaturedTags.md | 2 +- eng/readme-templates/RelatedRepos.md | 3 ++- eng/readme-templates/ReposProvider.md | 2 +- eng/readme-templates/Support.md | 2 +- eng/readme-templates/Url.md | 8 +++++++- eng/readme-templates/Use.md | 4 +++- manifest.json | 2 +- tests/Microsoft.DotNet.Docker.Tests/ImageData.cs | 7 ++++++- tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs | 4 +++- 42 files changed, 77 insertions(+), 55 deletions(-) diff --git a/.portal-docs/docker-hub/README.aspire-dashboard.md b/.portal-docs/docker-hub/README.aspire-dashboard.md index 47b4bdad8d..44966cf6ec 100644 --- a/.portal-docs/docker-hub/README.aspire-dashboard.md +++ b/.portal-docs/docker-hub/README.aspire-dashboard.md @@ -1,11 +1,11 @@ -> **Important**: The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core). +> **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://hub.docker.com/r/microsoft/dotnet-aspire-dashboard/) for images with official releases of [.NET](https://github.com/dotnet/core). +> See [aspire](https://hub.docker.com/r/microsoft/aspire-dashboard/) for images with official releases of [.NET](https://github.com/dotnet/core). # Featured Tags * `13` - * `docker pull mcr.microsoft.com/dotnet/nightly/aspire-dashboard:13` + * `docker pull mcr.microsoft.com/aspire/nightly/dashboard:13` # About @@ -97,7 +97,7 @@ Limits are per-resource. For example, a `MaxLogCount` value of 10,000 configures .NET: * [dotnet](https://hub.docker.com/r/microsoft/dotnet/): .NET -* [dotnet/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-aspire-dashboard/): Aspire Dashboard +* [aspire/dashboard](https://hub.docker.com/r/microsoft/aspire-dashboard/): Aspire Dashboard * [dotnet/nightly/sdk](https://hub.docker.com/r/microsoft/dotnet-nightly-sdk/): .NET SDK (Preview) * [dotnet/nightly/aspnet](https://hub.docker.com/r/microsoft/dotnet-nightly-aspnet/): ASP.NET Core Runtime (Preview) * [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview) @@ -113,7 +113,7 @@ Limits are per-resource. For example, a `MaxLogCount` value of 10,000 configures # Full Tag Listing -View the current tags at the [Microsoft Artifact Registry portal](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/aspire-dashboard/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/nightly/README.aspire-dashboard.md#full-tag-listing). +View the current tags at the [Microsoft Artifact Registry portal](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/nightly/README.aspire-dashboard.md#full-tag-listing). # Support diff --git a/.portal-docs/docker-hub/README.aspnet.md b/.portal-docs/docker-hub/README.aspnet.md index 08626fa305..a59dc6c59a 100644 --- a/.portal-docs/docker-hub/README.aspnet.md +++ b/.portal-docs/docker-hub/README.aspnet.md @@ -72,7 +72,7 @@ For more information, see the [composite images section in the Image Variants do * [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-nightly-aspire-dashboard/): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://hub.docker.com/r/microsoft/aspire-nightly-dashboard/): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://hub.docker.com/r/microsoft/dotnet-nightly-yarp/): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples diff --git a/.portal-docs/docker-hub/README.monitor-base.md b/.portal-docs/docker-hub/README.monitor-base.md index d698ef95fb..7115415d34 100644 --- a/.portal-docs/docker-hub/README.monitor-base.md +++ b/.portal-docs/docker-hub/README.monitor-base.md @@ -37,7 +37,7 @@ The following Dockerfiles demonstrate how you can use this base image to build a * [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-nightly-aspire-dashboard/): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://hub.docker.com/r/microsoft/aspire-nightly-dashboard/): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://hub.docker.com/r/microsoft/dotnet-nightly-yarp/): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples diff --git a/.portal-docs/docker-hub/README.monitor.md b/.portal-docs/docker-hub/README.monitor.md index 115af8162a..882697d8fd 100644 --- a/.portal-docs/docker-hub/README.monitor.md +++ b/.portal-docs/docker-hub/README.monitor.md @@ -38,7 +38,7 @@ See [documentation](https://go.microsoft.com/fwlink/?linkid=2158052) for how to * [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor/base](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor-base/): .NET Monitor Base (Preview) -* [dotnet/nightly/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-nightly-aspire-dashboard/): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://hub.docker.com/r/microsoft/aspire-nightly-dashboard/): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://hub.docker.com/r/microsoft/dotnet-nightly-yarp/): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples diff --git a/.portal-docs/docker-hub/README.runtime-deps.md b/.portal-docs/docker-hub/README.runtime-deps.md index 20e273c7a2..0863a9a674 100644 --- a/.portal-docs/docker-hub/README.runtime-deps.md +++ b/.portal-docs/docker-hub/README.runtime-deps.md @@ -54,7 +54,7 @@ They contain the following features: * [dotnet/nightly/aspnet](https://hub.docker.com/r/microsoft/dotnet-nightly-aspnet/): ASP.NET Core Runtime (Preview) * [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview) * [dotnet/nightly/monitor](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-nightly-aspire-dashboard/): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://hub.docker.com/r/microsoft/aspire-nightly-dashboard/): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://hub.docker.com/r/microsoft/dotnet-nightly-yarp/): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples diff --git a/.portal-docs/docker-hub/README.runtime.md b/.portal-docs/docker-hub/README.runtime.md index 070689f494..c87474dd10 100644 --- a/.portal-docs/docker-hub/README.runtime.md +++ b/.portal-docs/docker-hub/README.runtime.md @@ -61,7 +61,7 @@ They contain the following features: * [dotnet/nightly/aspnet](https://hub.docker.com/r/microsoft/dotnet-nightly-aspnet/): ASP.NET Core Runtime (Preview) * [dotnet/nightly/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-nightly-aspire-dashboard/): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://hub.docker.com/r/microsoft/aspire-nightly-dashboard/): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://hub.docker.com/r/microsoft/dotnet-nightly-yarp/): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples diff --git a/.portal-docs/docker-hub/README.samples.md b/.portal-docs/docker-hub/README.samples.md index cc93ea8fba..73ad9d18dc 100644 --- a/.portal-docs/docker-hub/README.samples.md +++ b/.portal-docs/docker-hub/README.samples.md @@ -71,7 +71,7 @@ They contain the following features: * [dotnet/runtime](https://hub.docker.com/r/microsoft/dotnet-runtime/): .NET Runtime * [dotnet/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-runtime-deps/): .NET Runtime Dependencies * [dotnet/monitor](https://hub.docker.com/r/microsoft/dotnet-monitor/): .NET Monitor Tool -* [dotnet/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-aspire-dashboard/): Aspire Dashboard +* [aspire/dashboard](https://hub.docker.com/r/microsoft/aspire-dashboard/): Aspire Dashboard .NET Framework: diff --git a/.portal-docs/docker-hub/README.sdk.md b/.portal-docs/docker-hub/README.sdk.md index 8904320240..e20c9f141c 100644 --- a/.portal-docs/docker-hub/README.sdk.md +++ b/.portal-docs/docker-hub/README.sdk.md @@ -57,7 +57,7 @@ The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/ * [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-nightly-aspire-dashboard/): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://hub.docker.com/r/microsoft/aspire-nightly-dashboard/): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://hub.docker.com/r/microsoft/dotnet-nightly-yarp/): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples diff --git a/.portal-docs/docker-hub/README.yarp.md b/.portal-docs/docker-hub/README.yarp.md index 7697aaf08d..b972172082 100644 --- a/.portal-docs/docker-hub/README.yarp.md +++ b/.portal-docs/docker-hub/README.yarp.md @@ -95,7 +95,7 @@ You can skip HTTPS validation for the OTLP endpoint only by passing the environm * [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-nightly-aspire-dashboard/): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://hub.docker.com/r/microsoft/aspire-nightly-dashboard/): Aspire Dashboard (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples .NET Framework: diff --git a/.portal-docs/mar/README.aspire-dashboard.portal.md b/.portal-docs/mar/README.aspire-dashboard.portal.md index 3e948caf59..4593db5137 100644 --- a/.portal-docs/mar/README.aspire-dashboard.portal.md +++ b/.portal-docs/mar/README.aspire-dashboard.portal.md @@ -1,8 +1,8 @@ ## About -> **Important**: The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core). +> **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://mcr.microsoft.com/artifact/mar/dotnet/aspire-dashboard/about) for images with official releases of [.NET](https://github.com/dotnet/core). +> See [aspire](https://mcr.microsoft.com/artifact/mar/aspire/dashboard/about) for images with official releases of [.NET](https://github.com/dotnet/core). This image contains the Aspire Dashboard. @@ -11,14 +11,14 @@ Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categori ## Featured Tags * `13` - * `docker pull mcr.microsoft.com/dotnet/nightly/aspire-dashboard:13` + * `docker pull mcr.microsoft.com/aspire/nightly/dashboard:13` ## Related Repositories .NET: * [dotnet](https://mcr.microsoft.com/catalog?search=dotnet): .NET -* [dotnet/aspire-dashboard](https://mcr.microsoft.com/artifact/mar/dotnet/aspire-dashboard/about): Aspire Dashboard +* [aspire/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/dashboard/about): Aspire Dashboard * [dotnet/nightly/sdk](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/sdk/about): .NET SDK (Preview) * [dotnet/nightly/aspnet](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/aspnet/about): ASP.NET Core Runtime (Preview) * [dotnet/nightly/runtime](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/runtime/about): .NET Runtime (Preview) diff --git a/.portal-docs/mar/README.aspnet.portal.md b/.portal-docs/mar/README.aspnet.portal.md index 279aa14ce5..e9d050f560 100644 --- a/.portal-docs/mar/README.aspnet.portal.md +++ b/.portal-docs/mar/README.aspnet.portal.md @@ -29,7 +29,7 @@ Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categori * [dotnet/nightly/runtime](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/runtime/about): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/runtime-deps/about): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/monitor/about): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/aspire-dashboard/about): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/yarp/about): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://mcr.microsoft.com/artifact/mar/dotnet/samples/about): .NET Samples diff --git a/.portal-docs/mar/README.monitor-base.portal.md b/.portal-docs/mar/README.monitor-base.portal.md index f1e84d7489..df878405a8 100644 --- a/.portal-docs/mar/README.monitor-base.portal.md +++ b/.portal-docs/mar/README.monitor-base.portal.md @@ -28,7 +28,7 @@ Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categori * [dotnet/nightly/runtime](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/runtime/about): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/runtime-deps/about): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/monitor/about): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/aspire-dashboard/about): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/yarp/about): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://mcr.microsoft.com/artifact/mar/dotnet/samples/about): .NET Samples diff --git a/.portal-docs/mar/README.monitor.portal.md b/.portal-docs/mar/README.monitor.portal.md index 5229c759d4..2fb0139081 100644 --- a/.portal-docs/mar/README.monitor.portal.md +++ b/.portal-docs/mar/README.monitor.portal.md @@ -28,7 +28,7 @@ Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categori * [dotnet/nightly/runtime](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/runtime/about): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/runtime-deps/about): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor/base](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/monitor/base/about): .NET Monitor Base (Preview) -* [dotnet/nightly/aspire-dashboard](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/aspire-dashboard/about): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/yarp/about): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://mcr.microsoft.com/artifact/mar/dotnet/samples/about): .NET Samples diff --git a/.portal-docs/mar/README.runtime-deps.portal.md b/.portal-docs/mar/README.runtime-deps.portal.md index 7e77e65375..2c6f5158f5 100644 --- a/.portal-docs/mar/README.runtime-deps.portal.md +++ b/.portal-docs/mar/README.runtime-deps.portal.md @@ -29,7 +29,7 @@ Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categori * [dotnet/nightly/aspnet](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/aspnet/about): ASP.NET Core Runtime (Preview) * [dotnet/nightly/runtime](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/runtime/about): .NET Runtime (Preview) * [dotnet/nightly/monitor](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/monitor/about): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/aspire-dashboard/about): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/yarp/about): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://mcr.microsoft.com/artifact/mar/dotnet/samples/about): .NET Samples diff --git a/.portal-docs/mar/README.runtime.portal.md b/.portal-docs/mar/README.runtime.portal.md index 0dd0cfe56d..6ff9988c36 100644 --- a/.portal-docs/mar/README.runtime.portal.md +++ b/.portal-docs/mar/README.runtime.portal.md @@ -29,7 +29,7 @@ Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categori * [dotnet/nightly/aspnet](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/aspnet/about): ASP.NET Core Runtime (Preview) * [dotnet/nightly/runtime-deps](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/runtime-deps/about): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/monitor/about): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/aspire-dashboard/about): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/yarp/about): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://mcr.microsoft.com/artifact/mar/dotnet/samples/about): .NET Samples diff --git a/.portal-docs/mar/README.samples.portal.md b/.portal-docs/mar/README.samples.portal.md index 0258c9583a..e19b1ab4b0 100644 --- a/.portal-docs/mar/README.samples.portal.md +++ b/.portal-docs/mar/README.samples.portal.md @@ -23,7 +23,7 @@ Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categori * [dotnet/runtime](https://mcr.microsoft.com/artifact/mar/dotnet/runtime/about): .NET Runtime * [dotnet/runtime-deps](https://mcr.microsoft.com/artifact/mar/dotnet/runtime-deps/about): .NET Runtime Dependencies * [dotnet/monitor](https://mcr.microsoft.com/artifact/mar/dotnet/monitor/about): .NET Monitor Tool -* [dotnet/aspire-dashboard](https://mcr.microsoft.com/artifact/mar/dotnet/aspire-dashboard/about): Aspire Dashboard +* [aspire/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/dashboard/about): Aspire Dashboard .NET Framework: diff --git a/.portal-docs/mar/README.sdk.portal.md b/.portal-docs/mar/README.sdk.portal.md index b1a259c899..e6b81be6fc 100644 --- a/.portal-docs/mar/README.sdk.portal.md +++ b/.portal-docs/mar/README.sdk.portal.md @@ -35,7 +35,7 @@ Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categori * [dotnet/nightly/runtime](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/runtime/about): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/runtime-deps/about): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/monitor/about): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/aspire-dashboard/about): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/yarp/about): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://mcr.microsoft.com/artifact/mar/dotnet/samples/about): .NET Samples diff --git a/.portal-docs/mar/README.yarp.portal.md b/.portal-docs/mar/README.yarp.portal.md index 9ae65f4c43..dcc91456f2 100644 --- a/.portal-docs/mar/README.yarp.portal.md +++ b/.portal-docs/mar/README.yarp.portal.md @@ -23,7 +23,7 @@ Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categori * [dotnet/nightly/runtime](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/runtime/about): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/runtime-deps/about): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/monitor/about): .NET Monitor Tool (Preview) -* [dotnet/nightly/aspire-dashboard](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/aspire-dashboard/about): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about): Aspire Dashboard (Preview) * [dotnet/samples](https://mcr.microsoft.com/artifact/mar/dotnet/samples/about): .NET Samples .NET Framework: diff --git a/README.aspire-dashboard.md b/README.aspire-dashboard.md index 480a9818b1..692eadc9a7 100644 --- a/README.aspire-dashboard.md +++ b/README.aspire-dashboard.md @@ -1,13 +1,13 @@ # Aspire Dashboard -> **Important**: The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core). +> **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). ## Featured Tags * `13` - * `docker pull mcr.microsoft.com/dotnet/nightly/aspire-dashboard:13` + * `docker pull mcr.microsoft.com/aspire/nightly/dashboard:13` ## About @@ -99,7 +99,7 @@ Limits are per-resource. For example, a `MaxLogCount` value of 10,000 configures .NET: * [dotnet](https://github.com/dotnet/dotnet-docker/blob/main/README.md): .NET -* [dotnet/aspire-dashboard](https://github.com/dotnet/dotnet-docker/blob/main/README.aspire-dashboard.md): Aspire Dashboard +* [aspire/dashboard](https://github.com/dotnet/dotnet-docker/blob/main/README.aspire-dashboard.md): Aspire Dashboard * [dotnet/nightly/sdk](https://github.com/dotnet/dotnet-docker/blob/nightly/README.sdk.md): .NET SDK (Preview) * [dotnet/nightly/aspnet](https://github.com/dotnet/dotnet-docker/blob/nightly/README.aspnet.md): ASP.NET Core Runtime (Preview) * [dotnet/nightly/runtime](https://github.com/dotnet/dotnet-docker/blob/nightly/README.runtime.md): .NET Runtime (Preview) @@ -129,7 +129,7 @@ Tags | Dockerfile | OS Version -*Tags not listed in the table above are not supported. See the [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md). See the [full list of tags](https://mcr.microsoft.com/v2/dotnet/nightly/aspire-dashboard/tags/list) for all supported and unsupported tags.* +*Tags not listed in the table above are not supported. See the [Supported Tags Policy](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md). See the [full list of tags](https://mcr.microsoft.com/v2/aspire/nightly/dashboard/tags/list) for all supported and unsupported tags.* ## Support diff --git a/README.aspnet.md b/README.aspnet.md index 43eaf3d193..d07f8404d9 100644 --- a/README.aspnet.md +++ b/README.aspnet.md @@ -74,7 +74,7 @@ For more information, see the [composite images section in the Image Variants do * [dotnet/nightly/runtime](https://github.com/dotnet/dotnet-docker/blob/nightly/README.runtime.md): .NET Runtime (Preview) * [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) * [dotnet/nightly/yarp](https://github.com/dotnet/dotnet-docker/blob/nightly/README.yarp.md): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://github.com/dotnet/dotnet-docker/blob/main/README.samples.md): .NET Samples diff --git a/README.md b/README.md index 2e5a2fe97f..39f8ac5b22 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ * [dotnet/nightly/runtime](https://github.com/dotnet/dotnet-docker/blob/nightly/README.runtime.md): .NET Runtime (Preview) * [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) ## About @@ -90,7 +90,7 @@ They contain the following features: * [dotnet/runtime](https://github.com/dotnet/dotnet-docker/blob/main/README.runtime.md): .NET Runtime * [dotnet/runtime-deps](https://github.com/dotnet/dotnet-docker/blob/main/README.runtime-deps.md): .NET Runtime Dependencies * [dotnet/monitor](https://github.com/dotnet/dotnet-docker/blob/main/README.monitor.md): .NET Monitor Tool -* [dotnet/aspire-dashboard](https://github.com/dotnet/dotnet-docker/blob/main/README.aspire-dashboard.md): Aspire Dashboard +* [aspire/dashboard](https://github.com/dotnet/dotnet-docker/blob/main/README.aspire-dashboard.md): Aspire Dashboard * [dotnet/samples](https://github.com/dotnet/dotnet-docker/blob/main/README.samples.md): .NET Samples .NET Framework: diff --git a/README.monitor-base.md b/README.monitor-base.md index 53d19f067e..bcccf86e6a 100644 --- a/README.monitor-base.md +++ b/README.monitor-base.md @@ -39,7 +39,7 @@ The following Dockerfiles demonstrate how you can use this base image to build a * [dotnet/nightly/runtime](https://github.com/dotnet/dotnet-docker/blob/nightly/README.runtime.md): .NET Runtime (Preview) * [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) * [dotnet/nightly/yarp](https://github.com/dotnet/dotnet-docker/blob/nightly/README.yarp.md): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://github.com/dotnet/dotnet-docker/blob/main/README.samples.md): .NET Samples diff --git a/README.monitor.md b/README.monitor.md index 3bff5562d3..86cad31406 100644 --- a/README.monitor.md +++ b/README.monitor.md @@ -40,7 +40,7 @@ See [documentation](https://go.microsoft.com/fwlink/?linkid=2158052) for how to * [dotnet/nightly/runtime](https://github.com/dotnet/dotnet-docker/blob/nightly/README.runtime.md): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://github.com/dotnet/dotnet-docker/blob/nightly/README.runtime-deps.md): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor/base](https://github.com/dotnet/dotnet-docker/blob/nightly/README.monitor-base.md): .NET Monitor Base (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) * [dotnet/nightly/yarp](https://github.com/dotnet/dotnet-docker/blob/nightly/README.yarp.md): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://github.com/dotnet/dotnet-docker/blob/main/README.samples.md): .NET Samples diff --git a/README.runtime-deps.md b/README.runtime-deps.md index 80138bfb54..4e958ef79d 100644 --- a/README.runtime-deps.md +++ b/README.runtime-deps.md @@ -56,7 +56,7 @@ They contain the following features: * [dotnet/nightly/aspnet](https://github.com/dotnet/dotnet-docker/blob/nightly/README.aspnet.md): ASP.NET Core Runtime (Preview) * [dotnet/nightly/runtime](https://github.com/dotnet/dotnet-docker/blob/nightly/README.runtime.md): .NET Runtime (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) * [dotnet/nightly/yarp](https://github.com/dotnet/dotnet-docker/blob/nightly/README.yarp.md): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://github.com/dotnet/dotnet-docker/blob/main/README.samples.md): .NET Samples diff --git a/README.runtime.md b/README.runtime.md index 5ec74b24c0..4a3c9476fe 100644 --- a/README.runtime.md +++ b/README.runtime.md @@ -63,7 +63,7 @@ They contain the following features: * [dotnet/nightly/aspnet](https://github.com/dotnet/dotnet-docker/blob/nightly/README.aspnet.md): ASP.NET Core Runtime (Preview) * [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) * [dotnet/nightly/yarp](https://github.com/dotnet/dotnet-docker/blob/nightly/README.yarp.md): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://github.com/dotnet/dotnet-docker/blob/main/README.samples.md): .NET Samples diff --git a/README.samples.md b/README.samples.md index 4c754488ef..4795e069ba 100644 --- a/README.samples.md +++ b/README.samples.md @@ -73,7 +73,7 @@ They contain the following features: * [dotnet/runtime](https://github.com/dotnet/dotnet-docker/blob/main/README.runtime.md): .NET Runtime * [dotnet/runtime-deps](https://github.com/dotnet/dotnet-docker/blob/main/README.runtime-deps.md): .NET Runtime Dependencies * [dotnet/monitor](https://github.com/dotnet/dotnet-docker/blob/main/README.monitor.md): .NET Monitor Tool -* [dotnet/aspire-dashboard](https://github.com/dotnet/dotnet-docker/blob/main/README.aspire-dashboard.md): Aspire Dashboard +* [aspire/dashboard](https://github.com/dotnet/dotnet-docker/blob/main/README.aspire-dashboard.md): Aspire Dashboard .NET Framework: diff --git a/README.sdk.md b/README.sdk.md index 51e37bb1f0..e9a8884381 100644 --- a/README.sdk.md +++ b/README.sdk.md @@ -59,7 +59,7 @@ The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/ * [dotnet/nightly/runtime](https://github.com/dotnet/dotnet-docker/blob/nightly/README.runtime.md): .NET Runtime (Preview) * [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) * [dotnet/nightly/yarp](https://github.com/dotnet/dotnet-docker/blob/nightly/README.yarp.md): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://github.com/dotnet/dotnet-docker/blob/main/README.samples.md): .NET Samples diff --git a/README.yarp.md b/README.yarp.md index fb3c2026e2..27be26affd 100644 --- a/README.yarp.md +++ b/README.yarp.md @@ -97,7 +97,7 @@ You can skip HTTPS validation for the OTLP endpoint only by passing the environm * [dotnet/nightly/runtime](https://github.com/dotnet/dotnet-docker/blob/nightly/README.runtime.md): .NET Runtime (Preview) * [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) * [dotnet/samples](https://github.com/dotnet/dotnet-docker/blob/main/README.samples.md): .NET Samples .NET Framework: diff --git a/documentation/image-signatures.md b/documentation/image-signatures.md index 1cf5f8cbc6..59da12005e 100644 --- a/documentation/image-signatures.md +++ b/documentation/image-signatures.md @@ -91,7 +91,7 @@ for verifying .NET images: { "name": "supplychain", "registryScopes": [ - "mcr.microsoft.com/dotnet/aspire-dashboard", + "mcr.microsoft.com/aspire/dashboard", "mcr.microsoft.com/dotnet/aspnet", "mcr.microsoft.com/dotnet/monitor", "mcr.microsoft.com/dotnet/monitor/base", diff --git a/eng/readme-templates/About.md b/eng/readme-templates/About.md index d2e20f9007..7d7ea3656d 100644 --- a/eng/readme-templates/About.md +++ b/eng/readme-templates/About.md @@ -4,7 +4,9 @@ readme-host: Moniker of the site that will host the readme ^ set templateQualifier to when(IS_PRODUCT_FAMILY, "product-family", - when(PARENT_REPO = "monitor", cat("monitor-", SHORT_REPO), SHORT_REPO)) + when(find(REPO, "aspire") >= 0, + "aspire-dashboard", + when(PARENT_REPO = "monitor", cat("monitor-", SHORT_REPO), SHORT_REPO))) }}{{ARGS["top-header"]}} About {{if ARGS["readme-host"] = "mar":{{InsertTemplate("ReposProvider.md", [ diff --git a/eng/readme-templates/Announcement.md b/eng/readme-templates/Announcement.md index bc0d750f82..45d7d29606 100644 --- a/eng/readme-templates/Announcement.md +++ b/eng/readme-templates/Announcement.md @@ -11,6 +11,7 @@ }} ^ set nonNightlyRepo to when(IS_PRODUCT_FAMILY, "dotnet", join(split(REPO, "/nightly"), "")) ^ + set announcementFamily to split(nonNightlyRepo, "/")[0] ^ set isNightlyRepo to match(split(REPO, "/")[1], "nightly") ^ set productFamilyRepo to ARGS["product-family-repos"][0][0] ^ set isNightlyOnly to find(map(ARGS["nightly-only-repos"],getRepoName), nonNightlyRepo) >= 0 ^ @@ -21,8 +22,8 @@ }}{{if isNightlyRepo || VARIABLES["branch"] = "nightly" :{{if ARGS["leading-line-break"]: -}}> **Important**: The images from the dotnet/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core). +}}> **Important**: The images from the {{announcementFamily}}/nightly repositories include last-known-good (LKG) builds for the next release of [.NET](https://github.com/dotnet/core). > -> See [dotnet]({{url}}) for images with official releases of [.NET](https://github.com/dotnet/core). +> See [{{announcementFamily}}]({{url}}) for images with official releases of [.NET](https://github.com/dotnet/core). {{if ARGS["trailing-line-break"]: }}}} diff --git a/eng/readme-templates/DefaultLayout.md b/eng/readme-templates/DefaultLayout.md index e8d138b7db..6ac3fb778e 100644 --- a/eng/readme-templates/DefaultLayout.md +++ b/eng/readme-templates/DefaultLayout.md @@ -9,7 +9,9 @@ }} ^ set isNightlyRepo to match(split(REPO, "/")[1], "nightly") ^ - set readmeRepoName to when(PARENT_REPO = "monitor", cat("monitor-", SHORT_REPO), SHORT_REPO) + set readmeRepoName to when(find(REPO, "aspire") >= 0, + "aspire-dashboard", + when(PARENT_REPO = "monitor", cat("monitor-", SHORT_REPO), SHORT_REPO)) }}{{insertReposListTemplate("Announcement.md", [ "trailing-line-break": "true" ])}}{{ if !IS_PRODUCT_FAMILY:{{InsertTemplate("FeaturedTags.md", commonArgs)}} diff --git a/eng/readme-templates/FeaturedRepos.md b/eng/readme-templates/FeaturedRepos.md index 3d57c288ce..10310c0a81 100644 --- a/eng/readme-templates/FeaturedRepos.md +++ b/eng/readme-templates/FeaturedRepos.md @@ -10,7 +10,8 @@ set isNightlyRepo to VARIABLES["branch"] = "nightly" ^ set insertNightlyRepoName(repoName) to:{{ - return token(repoName, "/", 0, "dotnet/nightly") + set repoNameParts to split(repoName, "/") ^ + return cat(repoNameParts[0], "/nightly/", join(slice(repoNameParts, 1), "/")) }} ^ set insertNightlyRepoDisplayName(displayName) to:{{ diff --git a/eng/readme-templates/FeaturedTags.md b/eng/readme-templates/FeaturedTags.md index 114d6aaef3..f86cf0d9db 100644 --- a/eng/readme-templates/FeaturedTags.md +++ b/eng/readme-templates/FeaturedTags.md @@ -20,7 +20,7 @@ elif match(REPO, "monitor/base"):* `9` (Standard Support) * `docker pull {{FULL_REPO}}:9` * `8` (Long-Term Support) * `docker pull {{FULL_REPO}}:8`^ -elif match(REPO, "aspire-dashboard"):* `13` +elif match(REPO, "aspire"):* `13` * `docker pull {{FULL_REPO}}:13`^ elif match(REPO, "yarp"):* `2.3-preview` * `docker pull {{FULL_REPO}}:2.3-preview`^ diff --git a/eng/readme-templates/RelatedRepos.md b/eng/readme-templates/RelatedRepos.md index 85cb6d8284..cb0c410445 100644 --- a/eng/readme-templates/RelatedRepos.md +++ b/eng/readme-templates/RelatedRepos.md @@ -29,7 +29,8 @@ set isNightlyRepo to VARIABLES["branch"] = "nightly" ^ set insertNightlyRepoName(repoName) to:{{ - return token(repoName, "/", 0, "dotnet/nightly") + set repoNameParts to split(repoName, "/") ^ + return cat(repoNameParts[0], "/nightly/", join(slice(repoNameParts, 1), "/")) }} ^ set insertNightlyRepoDisplayName(displayName) to:{{ diff --git a/eng/readme-templates/ReposProvider.md b/eng/readme-templates/ReposProvider.md index 0431b983e0..2c43372a6f 100644 --- a/eng/readme-templates/ReposProvider.md +++ b/eng/readme-templates/ReposProvider.md @@ -14,7 +14,7 @@ ["dotnet/runtime-deps", ".NET Runtime Dependencies"], ["dotnet/monitor", ".NET Monitor Tool"], ["dotnet/monitor/base", ".NET Monitor Base"], - ["dotnet/aspire-dashboard", "Aspire Dashboard"] + ["aspire/dashboard", "Aspire Dashboard"] ] ^ set nightlyOnlyRepos to [ ["dotnet/yarp", "YARP (Yet Another Reverse Proxy)"] diff --git a/eng/readme-templates/Support.md b/eng/readme-templates/Support.md index 5315bd4ef1..ef0479aea0 100644 --- a/eng/readme-templates/Support.md +++ b/eng/readme-templates/Support.md @@ -5,7 +5,7 @@ set isRuntimeDeps to match(SHORT_REPO, "runtime-deps") ^ set isSamples to match(SHORT_REPO, "samples") ^ set isMonitor to match(SHORT_REPO, "monitor") || match(SHORT_REPO, "base") ^ - set isAspireDashboard to match(SHORT_REPO, "aspire-dashboard") ^ + set isAspireDashboard to match(REPO, "aspire") ^ set isReverseProxy to match(SHORT_REPO, "yarp") }}{{ARGS["top-header"]}} Support diff --git a/eng/readme-templates/Url.md b/eng/readme-templates/Url.md index e5af2b8ba7..ceb86ce052 100644 --- a/eng/readme-templates/Url.md +++ b/eng/readme-templates/Url.md @@ -15,7 +15,13 @@ set isFrameworkRepo to match(repoParts[1], "framework") ^ set readmeFileName to cat( "README.", - when(isProductFamily, "", cat(join(slice(repoParts, when(isNightlyRepo || isFrameworkRepo, 2, 1)), "-"), ".")), + when(isProductFamily, + "", + cat( + when(find(repo, "aspire") >= 0, + "aspire-dashboard", + join(slice(repoParts, when(isNightlyRepo || isFrameworkRepo, 2, 1)), "-")), + ".")), "md") }}{{ diff --git a/eng/readme-templates/Use.md b/eng/readme-templates/Use.md index ead99901ab..14edcb6967 100644 --- a/eng/readme-templates/Use.md +++ b/eng/readme-templates/Use.md @@ -4,7 +4,9 @@ readme-host: Moniker of the site that will host the readme ^ set templateQualifier to when(IS_PRODUCT_FAMILY, "samples", - when(PARENT_REPO = "monitor", cat("monitor-", SHORT_REPO), SHORT_REPO)) + when(find(REPO, "aspire") >= 0, + "aspire-dashboard", + when(PARENT_REPO = "monitor", cat("monitor-", SHORT_REPO), SHORT_REPO))) }}{{ARGS["top-header"]}} Usage {{ _ Special case while aspire-dashboard image doesn't have any samples. Remove when https://github.com/dotnet/dotnet-docker/issues/5335 is resolved. ^ if templateQualifier != "aspire-dashboard": diff --git a/manifest.json b/manifest.json index f7b99804d8..01703e125d 100644 --- a/manifest.json +++ b/manifest.json @@ -11844,7 +11844,7 @@ }, { "id": "aspire-dashboard", - "name": "dotnet/nightly/aspire-dashboard", + "name": "aspire/nightly/dashboard", "readmes": [ { "path": "README.aspire-dashboard.md", diff --git a/tests/Microsoft.DotNet.Docker.Tests/ImageData.cs b/tests/Microsoft.DotNet.Docker.Tests/ImageData.cs index 9dedc1e7a9..d2d2adbbfe 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/ImageData.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/ImageData.cs @@ -143,7 +143,12 @@ public static string GetImageName(string tag, string repoName, string repoNameMo } public static string GetRepoName(string repoName, string repoNameModifier = null) => - $"dotnet{repoNameModifier ?? GetRepoNameModifier()}/{repoName}"; + // The Aspire Dashboard image is published under the dedicated "aspire" product + // family (mcr.microsoft.com/aspire/dashboard) rather than the "dotnet" family. + // Its internal/test identifier remains "aspire-dashboard". + repoName == "aspire-dashboard" + ? $"aspire{repoNameModifier ?? GetRepoNameModifier()}/dashboard" + : $"dotnet{repoNameModifier ?? GetRepoNameModifier()}/{repoName}"; protected string GetTagName(string tagPrefix, string os, string tagPostfix = null) { diff --git a/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs b/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs index 8a0da029a8..1e570a603b 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs @@ -36,7 +36,9 @@ public enum VersionType [ "monitor", "monitor-base", - "aspire-dashboard", + // The Aspire Dashboard repo is published as "aspire/[nightly/]dashboard". + // "aspire" uniquely substring-matches its repo name. + "aspire", "yarp" ]; From 931db04be8090d9c8c53fd08dcfbbbdbf82f6758 Mon Sep 17 00:00:00 2001 From: Jose Perez Rodriguez Date: Tue, 2 Jun 2026 15:48:18 -0700 Subject: [PATCH 2/3] Drop Docker Hub syndication for aspire/dashboard family 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> --- .../docker-hub/README.aspire-dashboard.md | 153 ------------------ .portal-docs/docker-hub/README.aspnet.md | 2 +- .../docker-hub/README.monitor-base.md | 2 +- .portal-docs/docker-hub/README.monitor.md | 2 +- .../docker-hub/README.runtime-deps.md | 2 +- .portal-docs/docker-hub/README.runtime.md | 2 +- .portal-docs/docker-hub/README.samples.md | 2 +- .portal-docs/docker-hub/README.sdk.md | 2 +- .portal-docs/docker-hub/README.yarp.md | 2 +- eng/readme-templates/Get-GeneratedReadmes.ps1 | 1 - eng/readme-templates/Url.md | 6 +- manifest.json | 4 - 12 files changed, 13 insertions(+), 167 deletions(-) delete mode 100644 .portal-docs/docker-hub/README.aspire-dashboard.md diff --git a/.portal-docs/docker-hub/README.aspire-dashboard.md b/.portal-docs/docker-hub/README.aspire-dashboard.md deleted file mode 100644 index 44966cf6ec..0000000000 --- a/.portal-docs/docker-hub/README.aspire-dashboard.md +++ /dev/null @@ -1,153 +0,0 @@ -> **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 [aspire](https://hub.docker.com/r/microsoft/aspire-dashboard/) for images with official releases of [.NET](https://github.com/dotnet/core). - -# Featured Tags - -* `13` - * `docker pull mcr.microsoft.com/aspire/nightly/dashboard:13` - -# About - -This image contains the Aspire Dashboard. - -Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. - -# Usage - -The Aspire Dashboard is a browser-based app to view run-time information about your distributed application. - -The dashboard shows: - -* Resources that make up your app, such as .NET projects, executables and containers. -* Live console logs of resources. -* Live telemetry, such as structured logs, traces and metrics. - -## Configuration - -The dashboard must be configured when it is started. The configuration is done via environment variables. The following environment variables are supported: - -* `ASPNETCORE_URLS` specifies one or more HTTP endpoints through which the dashboard frontend is served. The frontend endpoint is used to view the dashboard in a browser. Defaults to `http://localhost:18888`. -* `DOTNET_DASHBOARD_OTLP_ENDPOINT_URL` specifies the [OTLP/gRPC](https://opentelemetry.io/docs/specs/otlp/#otlpgrpc) endpoint. This endpoint hosts an OTLP service and receives telemetry using gRPC. When the dashboard is launched by the Aspire app host this address is secured with HTTPS. Securing the dashboard with HTTPS is recommended. Defaults to `http://localhost:18889`. -* `DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL` specifies the [OTLP/HTTP](https://opentelemetry.io/docs/specs/otlp/#otlphttp) endpoint. This endpoint hosts an OTLP service and receives telemetry using Protobuf over HTTP. Defaults to `http://localhost:18890`. -* `ASPIRE_DASHBOARD_MCP_ENDPOINT_URL` specifies the Aspire MCP endpoint. When this value isn't specified then the MCP server is hosted with an `ASPNETCORE_URLS` endpoint. The MCP server can be disabled by configuring `Dashboard:Mcp:Disabled` to `true`. Defaults to `http://localhost:18891`. -* `DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS` specifies the dashboard doesn't use authentication and accepts anonymous access. This setting is a shortcut to configuring `Dashboard:Frontend:AuthMode`, `Dashboard:Otlp:AuthMode` and `Dashboard:Mcp:AuthMode` to `Unsecured`. -* `DOTNET_DASHBOARD_CONFIG_FILE_PATH` specifies the path for an optional JSON configuration file. - -### Frontend authentication - -The dashboard's frontend supports OpenID Connect (OIDC). Set `Dashboard__Frontend__AuthMode` to `OpenIdConnect`, then add the following configuration: - -* `Authentication__Schemes__OpenIdConnect__Authority` — URL to the identity provider (IdP) -* `Authentication__Schemes__OpenIdConnect__ClientId` — Identity of the relying party (RP) -* `Authentication__Schemes__OpenIdConnect__ClientSecret`— A secret that only the real RP would know -* Other properties of [`OpenIdConnectOptions`](https://learn.microsoft.com/dotnet/api/microsoft.aspnetcore.builder.openidconnectoptions) specified in configuration container `Authentication__Schemes__OpenIdConnect__*` - -It may also be run unsecured. Set `Dashboard__Frontend__AuthMode` to `Unsecured`. The frontend endpoint will allow anonymous access. This setting is used during local development, but is not recommended if you attempt to host the dashboard in other settings. - -## OTLP authentication - -The OTLP endpoint can be secured with [client certificate](https://learn.microsoft.com/aspnet/core/security/authentication/certauth) or API key authentication. - -For client certification authentication, set `Dashboard__Otlp__AuthMode` to `Certificate`. - -For API key authentication, set `Dashboard__Otlp__AuthMode` to `ApiKey`, then add the following configuration: - -* `Dashboard__Otlp__PrimaryApiKey` specifies the primary API key. (required, string) -* `Dashboard__Otlp__SecondaryApiKey` specifies the secondary API key. (optional, string) - -It may also be run unsecured. Set `Dashboard__Otlp__AuthMode` to `Unsecured`. The OTLP endpoint will allow anonymous access. This setting is used during local development, but is not recommended if you attempt to host the dashboard in other settings. - -## Resources - -* `Dashboard__ResourceServiceClient__Url` specifies the gRPC endpoint to which the dashboard connects for its data. There's no default. If this variable is unspecified, the dashboard shows OTEL data but no resource list or console logs. - -The resource service client supports certificates. Set `Dashboard__ResourceServiceClient__AuthMode` to `Certificate`, then add the following configuration: - -* `Dashboard__ResourceServiceClient__ClientCertificate__Source` (required) one of: - * `File` to load the cert from a file path, configured with: - * `Dashboard__ResourceServiceClient__ClientCertificate__FilePath` (required, string) - * `Dashboard__ResourceServiceClient__ClientCertificate__Password` (optional, string) - * `KeyStore` to load the cert from a key store, configured with: - * `Dashboard__ResourceServiceClient__ClientCertificate__Subject` (required, string) - * `Dashboard__ResourceServiceClient__ClientCertificate__Store` (optional, [`StoreName`](https://learn.microsoft.com/dotnet/api/system.security.cryptography.x509certificates.storename), defaults to `My`) - * `Dashboard__ResourceServiceClient__ClientCertificate__Location` (optional, [`StoreLocation`](https://learn.microsoft.com/dotnet/api/system.security.cryptography.x509certificates.storelocation), defaults to `CurrentUser`) - -To opt-out of authentication, set `Dashboard__ResourceServiceClient__AuthMode` to `Unsecured`. This completely disables all security for the resource service client. This setting is used during local development, but is not recommended if you attempt to host the dashboard in other settings. - -### Telemetry Limits - -Telemetry is stored in-memory. To avoid excessive memory usage, the dashboard has limits on the count and size of stored telemetry. When a count limit is reached, new telemetry is added, and the oldest telemetry is removed. When a size limit is reached, data is truncated to the limit. - -* `Dashboard__TelemetryLimits__MaxLogCount` specifies the maximum number of log entries. Defaults to 10,000. -* `Dashboard__TelemetryLimits__MaxTraceCount` specifies the maximum number of traces. Defaults to 10,000. -* `Dashboard__TelemetryLimits__MaxMetricsCount` specifies the maximum number of metric data points. Defaults to 50,000. -* `Dashboard__TelemetryLimits__MaxAttributeCount` specifies the maximum number of attributes on telemetry. Defaults to 128. -* `Dashboard__TelemetryLimits__MaxAttributeLength` specifies the maximum length of attributes. Defaults to unlimited. -* `Dashboard__TelemetryLimits__MaxSpanEventCount` specifies the maximum number of events on span attributes. Defaults to unlimited. - -Limits are per-resource. For example, a `MaxLogCount` value of 10,000 configures the dashboard to store up to 10,000 log entries per-resource. - -## Other - -* `Dashboard__ApplicationName` specifies the application name to be displayed in the UI. This applies only when no resource service URL is specified. When a resource service exists, the service specifies the application name. - -# Related Repositories - -.NET: - -* [dotnet](https://hub.docker.com/r/microsoft/dotnet/): .NET -* [aspire/dashboard](https://hub.docker.com/r/microsoft/aspire-dashboard/): Aspire Dashboard -* [dotnet/nightly/sdk](https://hub.docker.com/r/microsoft/dotnet-nightly-sdk/): .NET SDK (Preview) -* [dotnet/nightly/aspnet](https://hub.docker.com/r/microsoft/dotnet-nightly-aspnet/): ASP.NET Core Runtime (Preview) -* [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview) -* [dotnet/nightly/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) -* [dotnet/nightly/monitor](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [dotnet/nightly/yarp](https://hub.docker.com/r/microsoft/dotnet-nightly-yarp/): YARP (Yet Another Reverse Proxy) (Preview) -* [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples - -.NET Framework: - -* [dotnet/framework](https://hub.docker.com/r/microsoft/dotnet-framework/): .NET Framework, ASP.NET and WCF -* [dotnet/framework/samples](https://hub.docker.com/r/microsoft/dotnet-framework-samples/): .NET Framework, ASP.NET and WCF Samples - -# Full Tag Listing - -View the current tags at the [Microsoft Artifact Registry portal](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/nightly/README.aspire-dashboard.md#full-tag-listing). - -# Support - -## Lifecycle - -* [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) - -## Image Update Policy - -* **Base Image Updates:** Images are re-built within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.). -* **.NET Releases:** Images are re-built as part of releasing new .NET versions. This includes new major versions, minor versions, and servicing releases. -* **Critical CVEs:** Images are re-built to pick up critical CVE fixes as described by the CVE Update Policy below. -* **Monthly Re-builds:** Images are re-built monthly, typically on the second Tuesday of the month, in order to pick up lower-severity CVE fixes. -* **Out-Of-Band Updates:** Images can sometimes be re-built when out-of-band updates are necessary to address critical issues. If this happens, new fixed version tags will be updated according to the [Fixed version tags documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/supported-tags.md#fixed-version-tags). - -### CVE Update Policy - -.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when: - -* We detect the image contains a CVE with a [CVSS](https://nvd.nist.gov/vuln-metrics/cvss) score of "Critical" -* **AND** the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages) -* **AND** there is a CVE fix for the package available in the affected base image's package repository. - -Please refer to the [Security Policy](https://github.com/dotnet/dotnet-docker/blob/main/SECURITY.md) and [Container Vulnerability Workflow](https://github.com/dotnet/dotnet-docker/blob/main/documentation/vulnerability-reporting.md) for more detail about what to do when a CVE is encountered in a .NET image. - -## Feedback - -* [File an issue](https://github.com/dotnet/dotnet-docker/issues/new/choose) -* [Contact Microsoft Support](https://support.microsoft.com/contactus/) - -# License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [.NET license](https://github.com/dotnet/dotnet-docker/blob/main/LICENSE) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) diff --git a/.portal-docs/docker-hub/README.aspnet.md b/.portal-docs/docker-hub/README.aspnet.md index a59dc6c59a..45c7b37fa9 100644 --- a/.portal-docs/docker-hub/README.aspnet.md +++ b/.portal-docs/docker-hub/README.aspnet.md @@ -72,7 +72,7 @@ For more information, see the [composite images section in the Image Variants do * [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [aspire/nightly/dashboard](https://hub.docker.com/r/microsoft/aspire-nightly-dashboard/): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://hub.docker.com/r/microsoft/dotnet-nightly-yarp/): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples diff --git a/.portal-docs/docker-hub/README.monitor-base.md b/.portal-docs/docker-hub/README.monitor-base.md index 7115415d34..64059c7baf 100644 --- a/.portal-docs/docker-hub/README.monitor-base.md +++ b/.portal-docs/docker-hub/README.monitor-base.md @@ -37,7 +37,7 @@ The following Dockerfiles demonstrate how you can use this base image to build a * [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [aspire/nightly/dashboard](https://hub.docker.com/r/microsoft/aspire-nightly-dashboard/): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://hub.docker.com/r/microsoft/dotnet-nightly-yarp/): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples diff --git a/.portal-docs/docker-hub/README.monitor.md b/.portal-docs/docker-hub/README.monitor.md index 882697d8fd..eca3a60300 100644 --- a/.portal-docs/docker-hub/README.monitor.md +++ b/.portal-docs/docker-hub/README.monitor.md @@ -38,7 +38,7 @@ See [documentation](https://go.microsoft.com/fwlink/?linkid=2158052) for how to * [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor/base](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor-base/): .NET Monitor Base (Preview) -* [aspire/nightly/dashboard](https://hub.docker.com/r/microsoft/aspire-nightly-dashboard/): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://hub.docker.com/r/microsoft/dotnet-nightly-yarp/): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples diff --git a/.portal-docs/docker-hub/README.runtime-deps.md b/.portal-docs/docker-hub/README.runtime-deps.md index 0863a9a674..49ae99eea6 100644 --- a/.portal-docs/docker-hub/README.runtime-deps.md +++ b/.portal-docs/docker-hub/README.runtime-deps.md @@ -54,7 +54,7 @@ They contain the following features: * [dotnet/nightly/aspnet](https://hub.docker.com/r/microsoft/dotnet-nightly-aspnet/): ASP.NET Core Runtime (Preview) * [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview) * [dotnet/nightly/monitor](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [aspire/nightly/dashboard](https://hub.docker.com/r/microsoft/aspire-nightly-dashboard/): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://hub.docker.com/r/microsoft/dotnet-nightly-yarp/): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples diff --git a/.portal-docs/docker-hub/README.runtime.md b/.portal-docs/docker-hub/README.runtime.md index c87474dd10..f04d7fe5a9 100644 --- a/.portal-docs/docker-hub/README.runtime.md +++ b/.portal-docs/docker-hub/README.runtime.md @@ -61,7 +61,7 @@ They contain the following features: * [dotnet/nightly/aspnet](https://hub.docker.com/r/microsoft/dotnet-nightly-aspnet/): ASP.NET Core Runtime (Preview) * [dotnet/nightly/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [aspire/nightly/dashboard](https://hub.docker.com/r/microsoft/aspire-nightly-dashboard/): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://hub.docker.com/r/microsoft/dotnet-nightly-yarp/): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples diff --git a/.portal-docs/docker-hub/README.samples.md b/.portal-docs/docker-hub/README.samples.md index 73ad9d18dc..ebc6c6cffe 100644 --- a/.portal-docs/docker-hub/README.samples.md +++ b/.portal-docs/docker-hub/README.samples.md @@ -71,7 +71,7 @@ They contain the following features: * [dotnet/runtime](https://hub.docker.com/r/microsoft/dotnet-runtime/): .NET Runtime * [dotnet/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-runtime-deps/): .NET Runtime Dependencies * [dotnet/monitor](https://hub.docker.com/r/microsoft/dotnet-monitor/): .NET Monitor Tool -* [aspire/dashboard](https://hub.docker.com/r/microsoft/aspire-dashboard/): Aspire Dashboard +* [aspire/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/dashboard/about): Aspire Dashboard .NET Framework: diff --git a/.portal-docs/docker-hub/README.sdk.md b/.portal-docs/docker-hub/README.sdk.md index e20c9f141c..d70581a089 100644 --- a/.portal-docs/docker-hub/README.sdk.md +++ b/.portal-docs/docker-hub/README.sdk.md @@ -57,7 +57,7 @@ The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/ * [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [aspire/nightly/dashboard](https://hub.docker.com/r/microsoft/aspire-nightly-dashboard/): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about): Aspire Dashboard (Preview) * [dotnet/nightly/yarp](https://hub.docker.com/r/microsoft/dotnet-nightly-yarp/): YARP (Yet Another Reverse Proxy) (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples diff --git a/.portal-docs/docker-hub/README.yarp.md b/.portal-docs/docker-hub/README.yarp.md index b972172082..b1a7ccbf2a 100644 --- a/.portal-docs/docker-hub/README.yarp.md +++ b/.portal-docs/docker-hub/README.yarp.md @@ -95,7 +95,7 @@ You can skip HTTPS validation for the OTLP endpoint only by passing the environm * [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview) * [dotnet/nightly/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview) * [dotnet/nightly/monitor](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor/): .NET Monitor Tool (Preview) -* [aspire/nightly/dashboard](https://hub.docker.com/r/microsoft/aspire-nightly-dashboard/): Aspire Dashboard (Preview) +* [aspire/nightly/dashboard](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about): Aspire Dashboard (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples .NET Framework: diff --git a/eng/readme-templates/Get-GeneratedReadmes.ps1 b/eng/readme-templates/Get-GeneratedReadmes.ps1 index 427ea3f09d..9bc0c518fb 100644 --- a/eng/readme-templates/Get-GeneratedReadmes.ps1 +++ b/eng/readme-templates/Get-GeneratedReadmes.ps1 @@ -35,7 +35,6 @@ $onDockerfilesGenerated = { CopyReadme $ContainerName "README.samples.md" CopyReadme $ContainerName "README.sdk.md" - CopyReadme $ContainerName ".portal-docs/docker-hub/README.aspire-dashboard.md" CopyReadme $ContainerName ".portal-docs/docker-hub/README.aspnet.md" CopyReadme $ContainerName ".portal-docs/docker-hub/README.monitor.md" CopyReadme $ContainerName ".portal-docs/docker-hub/README.monitor-base.md" diff --git a/eng/readme-templates/Url.md b/eng/readme-templates/Url.md index ceb86ce052..098ba36c02 100644 --- a/eng/readme-templates/Url.md +++ b/eng/readme-templates/Url.md @@ -41,5 +41,9 @@ when(readmeHost = "mar", "/", readmeFileName)), when(readmeHost = "dockerhub", - cat("https://hub.docker.com/r/microsoft/", join(repoParts, "-"), "/"), + when(find(repo, "aspire") >= 0, + when(isProductFamily, + cat("https://mcr.microsoft.com/catalog?search=", repo), + cat("https://mcr.microsoft.com/artifact/mar/", repo, "/about")), + cat("https://hub.docker.com/r/microsoft/", join(repoParts, "-"), "/")), cat("UNKNOWN HOST: ", readmeHost))))}} diff --git a/manifest.json b/manifest.json index 01703e125d..38f0ba36ce 100644 --- a/manifest.json +++ b/manifest.json @@ -11850,10 +11850,6 @@ "path": "README.aspire-dashboard.md", "templatePath": "eng/readme-templates/README.github.md" }, - { - "path": ".portal-docs/docker-hub/README.aspire-dashboard.md", - "templatePath": "eng/readme-templates/README.dockerhub.md" - }, { "path": ".portal-docs/mar/README.aspire-dashboard.portal.md", "templatePath": "eng/readme-templates/README.mcr.md" From 222b35c7ea81a59cd328691e6b92bdb5faaf7531 Mon Sep 17 00:00:00 2001 From: Jose Perez Rodriguez Date: Tue, 2 Jun 2026 16:09:27 -0700 Subject: [PATCH 3/3] Tighten aspire-family detection to exact first-segment match 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> --- eng/readme-templates/About.md | 2 +- eng/readme-templates/DefaultLayout.md | 2 +- eng/readme-templates/FeaturedTags.md | 2 +- eng/readme-templates/Support.md | 2 +- eng/readme-templates/Url.md | 4 ++-- eng/readme-templates/Use.md | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/eng/readme-templates/About.md b/eng/readme-templates/About.md index 7d7ea3656d..d9d2d63231 100644 --- a/eng/readme-templates/About.md +++ b/eng/readme-templates/About.md @@ -4,7 +4,7 @@ readme-host: Moniker of the site that will host the readme ^ set templateQualifier to when(IS_PRODUCT_FAMILY, "product-family", - when(find(REPO, "aspire") >= 0, + when(split(REPO, "/")[0] = "aspire", "aspire-dashboard", when(PARENT_REPO = "monitor", cat("monitor-", SHORT_REPO), SHORT_REPO))) }}{{ARGS["top-header"]}} About diff --git a/eng/readme-templates/DefaultLayout.md b/eng/readme-templates/DefaultLayout.md index 6ac3fb778e..324ee50246 100644 --- a/eng/readme-templates/DefaultLayout.md +++ b/eng/readme-templates/DefaultLayout.md @@ -9,7 +9,7 @@ }} ^ set isNightlyRepo to match(split(REPO, "/")[1], "nightly") ^ - set readmeRepoName to when(find(REPO, "aspire") >= 0, + set readmeRepoName to when(split(REPO, "/")[0] = "aspire", "aspire-dashboard", when(PARENT_REPO = "monitor", cat("monitor-", SHORT_REPO), SHORT_REPO)) diff --git a/eng/readme-templates/FeaturedTags.md b/eng/readme-templates/FeaturedTags.md index f86cf0d9db..47a04ef94f 100644 --- a/eng/readme-templates/FeaturedTags.md +++ b/eng/readme-templates/FeaturedTags.md @@ -20,7 +20,7 @@ elif match(REPO, "monitor/base"):* `9` (Standard Support) * `docker pull {{FULL_REPO}}:9` * `8` (Long-Term Support) * `docker pull {{FULL_REPO}}:8`^ -elif match(REPO, "aspire"):* `13` +elif split(REPO, "/")[0] = "aspire":* `13` * `docker pull {{FULL_REPO}}:13`^ elif match(REPO, "yarp"):* `2.3-preview` * `docker pull {{FULL_REPO}}:2.3-preview`^ diff --git a/eng/readme-templates/Support.md b/eng/readme-templates/Support.md index ef0479aea0..432bf054f1 100644 --- a/eng/readme-templates/Support.md +++ b/eng/readme-templates/Support.md @@ -5,7 +5,7 @@ set isRuntimeDeps to match(SHORT_REPO, "runtime-deps") ^ set isSamples to match(SHORT_REPO, "samples") ^ set isMonitor to match(SHORT_REPO, "monitor") || match(SHORT_REPO, "base") ^ - set isAspireDashboard to match(REPO, "aspire") ^ + set isAspireDashboard to split(REPO, "/")[0] = "aspire" ^ set isReverseProxy to match(SHORT_REPO, "yarp") }}{{ARGS["top-header"]}} Support diff --git a/eng/readme-templates/Url.md b/eng/readme-templates/Url.md index 098ba36c02..c0e2ae0cb5 100644 --- a/eng/readme-templates/Url.md +++ b/eng/readme-templates/Url.md @@ -18,7 +18,7 @@ when(isProductFamily, "", cat( - when(find(repo, "aspire") >= 0, + when(repoParts[0] = "aspire", "aspire-dashboard", join(slice(repoParts, when(isNightlyRepo || isFrameworkRepo, 2, 1)), "-")), ".")), @@ -41,7 +41,7 @@ when(readmeHost = "mar", "/", readmeFileName)), when(readmeHost = "dockerhub", - when(find(repo, "aspire") >= 0, + when(repoParts[0] = "aspire", when(isProductFamily, cat("https://mcr.microsoft.com/catalog?search=", repo), cat("https://mcr.microsoft.com/artifact/mar/", repo, "/about")), diff --git a/eng/readme-templates/Use.md b/eng/readme-templates/Use.md index 14edcb6967..a0983080a8 100644 --- a/eng/readme-templates/Use.md +++ b/eng/readme-templates/Use.md @@ -4,7 +4,7 @@ readme-host: Moniker of the site that will host the readme ^ set templateQualifier to when(IS_PRODUCT_FAMILY, "samples", - when(find(REPO, "aspire") >= 0, + when(split(REPO, "/")[0] = "aspire", "aspire-dashboard", when(PARENT_REPO = "monitor", cat("monitor-", SHORT_REPO), SHORT_REPO))) }}{{ARGS["top-header"]}} Usage