Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Aspire Dashboard 9.0 image #6038

Merged
merged 8 commits into from
Nov 12, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .portal-docs/docker-hub/README.aspire-dashboard.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Featured Tags

* `8.2`
* `docker pull mcr.microsoft.com/dotnet/aspire-dashboard:8.2`
* `9.0`
* `docker pull mcr.microsoft.com/dotnet/aspire-dashboard:9.0`

# About

Expand Down Expand Up @@ -98,7 +98,6 @@ Limits are per-resource. For example, a `MaxLogCount` value of 10,000 configures
* [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/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples
* [dotnet/nightly/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-nightly-aspire-dashboard/): .NET Aspire Dashboard (Preview)

.NET Framework:

Expand Down
4 changes: 2 additions & 2 deletions .portal-docs/mar/README.aspire-dashboard.portal.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categori

## Featured Tags

* `8.2`
* `docker pull mcr.microsoft.com/dotnet/aspire-dashboard:8.2`
* `9.0`
* `docker pull mcr.microsoft.com/dotnet/aspire-dashboard:9.0`

## Related Repositories

Expand Down
28 changes: 17 additions & 11 deletions README.aspire-dashboard.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
# .NET 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).
>
> 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).

## Featured Tags

* `8.2`
* `docker pull mcr.microsoft.com/dotnet/aspire-dashboard:8.2`
* `9.0`
* `docker pull mcr.microsoft.com/dotnet/nightly/aspire-dashboard:8.2`

## About

Expand Down Expand Up @@ -94,13 +98,13 @@
.NET:

* [dotnet](https://github.com/dotnet/dotnet-docker/blob/main/README.md): .NET
* [dotnet/sdk](https://github.com/dotnet/dotnet-docker/blob/main/README.sdk.md): .NET SDK
* [dotnet/aspnet](https://github.com/dotnet/dotnet-docker/blob/main/README.aspnet.md): ASP.NET Core Runtime
* [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): .NET 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)
* [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/samples](https://github.com/dotnet/dotnet-docker/blob/main/README.samples.md): .NET Samples
* [dotnet/nightly/aspire-dashboard](https://github.com/dotnet/dotnet-docker/blob/nightly/README.aspire-dashboard.md): .NET Aspire Dashboard (Preview)

.NET Framework:

Expand All @@ -113,16 +117,18 @@

Tags | Dockerfile | OS Version
-----------| -------------| -------------
8.2.1, 8.2, 8, latest | [Dockerfile](src/aspire-dashboard/8.2/cbl-mariner-distroless/amd64/Dockerfile) | CBL-Mariner 2.0
8.2.1, 8.2, 8 | [Dockerfile](src/aspire-dashboard/8.2/cbl-mariner-distroless/amd64/Dockerfile) | CBL-Mariner 2.0

Check failure on line 120 in README.aspire-dashboard.md

View workflow job for this annotation

GitHub Actions / check-markdown-links

[Linkspector] reported by reviewdog 🐶 Cannot reach src/aspire-dashboard/8.2/cbl-mariner-distroless/amd64/Dockerfile. Status: 404 Cannot find: src/aspire-dashboard/8.2/cbl-mariner-distroless/amd64/Dockerfile Raw Output: message:"Cannot reach src/aspire-dashboard/8.2/cbl-mariner-distroless/amd64/Dockerfile. Status: 404 Cannot find: src/aspire-dashboard/8.2/cbl-mariner-distroless/amd64/Dockerfile" location:{path:"README.aspire-dashboard.md" range:{start:{line:120 column:17} end:{line:120 column:95}}} severity:ERROR source:{name:"linkspector" url:"https://github.com/UmbrellaDocs/linkspector"}
9.0.0-preview.4, 9.0-preview, 9-preview, latest | [Dockerfile](src/aspire-dashboard/9.0/cbl-mariner-distroless/amd64/Dockerfile) | CBL-Mariner 2.0

### Linux arm64 Tags

Tags | Dockerfile | OS Version
-----------| -------------| -------------
8.2.1, 8.2, 8, latest | [Dockerfile](src/aspire-dashboard/8.2/cbl-mariner-distroless/arm64v8/Dockerfile) | CBL-Mariner 2.0
8.2.1, 8.2, 8 | [Dockerfile](src/aspire-dashboard/8.2/cbl-mariner-distroless/arm64v8/Dockerfile) | CBL-Mariner 2.0

Check failure on line 127 in README.aspire-dashboard.md

View workflow job for this annotation

GitHub Actions / check-markdown-links

[Linkspector] reported by reviewdog 🐶 Cannot reach src/aspire-dashboard/8.2/cbl-mariner-distroless/arm64v8/Dockerfile. Status: 404 Cannot find: src/aspire-dashboard/8.2/cbl-mariner-distroless/arm64v8/Dockerfile Raw Output: message:"Cannot reach src/aspire-dashboard/8.2/cbl-mariner-distroless/arm64v8/Dockerfile. Status: 404 Cannot find: src/aspire-dashboard/8.2/cbl-mariner-distroless/arm64v8/Dockerfile" location:{path:"README.aspire-dashboard.md" range:{start:{line:127 column:17} end:{line:127 column:97}}} severity:ERROR source:{name:"linkspector" url:"https://github.com/UmbrellaDocs/linkspector"}
9.0.0-preview.4, 9.0-preview, 9-preview, latest | [Dockerfile](src/aspire-dashboard/9.0/cbl-mariner-distroless/arm64v8/Dockerfile) | CBL-Mariner 2.0
<!--End of generated 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/dotnet/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/dotnet/nightly/aspire-dashboard/tags/list) for all supported and unsupported tags.*

## Support

Expand Down
4 changes: 2 additions & 2 deletions build-and-test.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ param(
[string]$Mode = "BuildAndTest",

# Categories of tests to run
[ValidateSet("runtime", "runtime-deps", "aspnet", "sdk", "pre-build", "sample", "image-size", "monitor")]
[string[]]$TestCategories = @("runtime", "runtime-deps", "aspnet", "sdk", "pre-build", "sample", "image-size", "monitor")
[ValidateSet("runtime", "runtime-deps", "aspnet", "sdk", "pre-build", "sample", "image-size", "monitor", "aspire-dashboard")]
[string[]]$TestCategories = @("runtime", "runtime-deps", "aspnet", "sdk", "pre-build", "sample", "image-size", "monitor", "aspire-dashboard")
)

if ($Version -notmatch '^\d+\.\d+(\.[\d*])?|\*$') {
Expand Down
11 changes: 8 additions & 3 deletions eng/dockerfile-templates/aspire-dashboard/Dockerfile.envs
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
ENV \
{{
set dotnetMajor to split(PRODUCT_VERSION, ".")[0]
}}ENV \
# Unset ASPNETCORE_HTTP_PORTS from base image
ASPNETCORE_HTTP_PORTS= \
# Aspire Dashboard environment variables
ASPNETCORE_URLS=http://0.0.0.0:18888 \
{{if dotnetMajor = "8":ASPNETCORE_URLS=http://0.0.0.0:18888 \
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL=http://0.0.0.0:18889 \
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://0.0.0.0:18890
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://0.0.0.0:18890^
else:ASPNETCORE_URLS=http://+:18888 \
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL=http://+:18889 \
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://+:18890}}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
set dotnetMajorMinor to cat(dotnetMajor, ".0") ^
set isAzureLinux to find(OS_VERSION, "mariner") >= 0 || find(OS_VERSION, "azurelinux") >= 0 ^
set aspnetBaseTag to
cat("$REPO:", VARIABLES[cat("dotnet|", dotnetMajorMinor, "|product-version")], "-", OS_VERSION, "-extra", ARCH_TAG_SUFFIX) ^
cat("$REPO:", VARIABLES[cat("dotnet|8.0|product-version")], "-", OS_VERSION, "-extra", ARCH_TAG_SUFFIX) ^
set osVersionBase to match(OS_VERSION, ".+(?=.*-)")[0] ^
set installerImageTag to when(isAzureLinux,
cat("mcr.microsoft.com/",
Expand Down
4 changes: 2 additions & 2 deletions eng/mcr-tags-metadata-templates/aspire-dashboard-tags.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
$(McrTagsYmlRepo:aspire-dashboard)
$(McrTagsYmlTagGroup:8.2)
$(McrTagsYmlTagGroup:8)
$(McrTagsYmlTagGroup:9.0)
$(McrTagsYmlTagGroup:9)
2 changes: 1 addition & 1 deletion eng/readme-templates/FeaturedTags.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ elif match(REPO, "monitor/base"):* `9` (Release Candidate)
* `docker pull {{FULL_REPO}}:9`
* `8` (Long-Term Support)
* `docker pull {{FULL_REPO}}:8`^
elif match(REPO, "aspire-dashboard"):* `8.2`
elif match(REPO, "aspire-dashboard"):* `9.0`
* `docker pull {{FULL_REPO}}:8.2`^
else:* `9.0` (Release Candidate)
* `docker pull {{FULL_REPO}}:9.0`
Expand Down
24 changes: 12 additions & 12 deletions manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -8546,30 +8546,30 @@
"mcrTagsMetadataTemplate": "eng/mcr-tags-metadata-templates/aspire-dashboard-tags.yml",
"images": [
{
"productVersion": "$(aspire-dashboard|8.2|product-version)",
"productVersion": "$(aspire-dashboard|9.0|product-version)",
"sharedTags": {
"$(aspire-dashboard|8.2|fixed-tag)": {},
"$(aspire-dashboard|8.2|minor-tag)": {},
"$(aspire-dashboard|8|major-tag)": {},
"$(aspire-dashboard|9.0|fixed-tag)": {},
"$(aspire-dashboard|9.0|minor-tag)": {},
"$(aspire-dashboard|9|major-tag)": {},
"latest": {}
},
"platforms": [
{
"buildArgs": {
"REPO": "$(Repo:aspnet)"
},
"dockerfile": "src/aspire-dashboard/8.2/cbl-mariner-distroless/amd64",
"dockerfile": "src/aspire-dashboard/9.0/cbl-mariner-distroless/amd64",
"dockerfileTemplate": "eng/dockerfile-templates/aspire-dashboard/Dockerfile.linux",
"os": "linux",
"osVersion": "cbl-mariner2.0-distroless",
"tags": {
"$(aspire-dashboard|8.2|fixed-tag)-amd64": {
"$(aspire-dashboard|9.0|fixed-tag)-amd64": {
"docType": "Undocumented"
},
"$(aspire-dashboard|8.2|minor-tag)-amd64": {
"$(aspire-dashboard|9.0|minor-tag)-amd64": {
"docType": "Undocumented"
},
"$(aspire-dashboard|8|major-tag)-amd64": {
"$(aspire-dashboard|9|major-tag)-amd64": {
"docType": "Undocumented"
}
}
Expand All @@ -8579,18 +8579,18 @@
"buildArgs": {
"REPO": "$(Repo:aspnet)"
},
"dockerfile": "src/aspire-dashboard/8.2/cbl-mariner-distroless/arm64v8",
"dockerfile": "src/aspire-dashboard/9.0/cbl-mariner-distroless/arm64v8",
"dockerfileTemplate": "eng/dockerfile-templates/aspire-dashboard/Dockerfile.linux",
"os": "linux",
"osVersion": "cbl-mariner2.0-distroless",
"tags": {
"$(aspire-dashboard|8.2|fixed-tag)-arm64v8": {
"$(aspire-dashboard|9.0|fixed-tag)-arm64v8": {
"docType": "Undocumented"
},
"$(aspire-dashboard|8.2|minor-tag)-arm64v8": {
"$(aspire-dashboard|9.0|minor-tag)-arm64v8": {
"docType": "Undocumented"
},
"$(aspire-dashboard|8|major-tag)-arm64v8": {
"$(aspire-dashboard|9|major-tag)-arm64v8": {
"docType": "Undocumented"
}
},
Expand Down
18 changes: 9 additions & 9 deletions manifest.versions.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
"base-url|public|preview|main": "$(base-url|public|maintenance|main)",
"base-url|public|preview|nightly": "https://dotnetbuilds.azureedge.net/public",

"aspire-dashboard|8.2|build-version": "8.2.1-preview.1.24473.4",
"aspire-dashboard|8.2|product-version": "8.2.1",
"aspire-dashboard|8.2|fixed-tag": "$(aspire-dashboard|8.2|product-version)",
"aspire-dashboard|8.2|minor-tag": "8.2",
"aspire-dashboard|8|major-tag": "8",
"aspire-dashboard|8.2|linux|x64|sha": "df4c189f4fecb3284de436c04ab42aaf4888a0929f04c95ba3e1774e07045032cc8e77f570f2cf186fd2db12e385e866732dd98882f06ee0e5489d566d09b667",
"aspire-dashboard|8.2|linux|arm64|sha": "c6d0a9da8e459dd64f24758b60cc8b587cbf1c1300188f924d28aea3ace483858b1bb1287782121067af00b9d5533a529a070e8b376f85f7775ffd03c4b193fd",
"aspire-dashboard|8.2|base-url|main": "$(base-url|public|preview|nightly)",
"aspire-dashboard|8.2|base-url|nightly": "$(base-url|public|preview|nightly)",
"aspire-dashboard|9.0|build-version": "9.0.0-preview.5.24551.3",
"aspire-dashboard|9.0|product-version": "9.0.0-preview.5",
joperezr marked this conversation as resolved.
Show resolved Hide resolved
"aspire-dashboard|9.0|fixed-tag": "$(aspire-dashboard|9.0|product-version)",
"aspire-dashboard|9.0|minor-tag": "9.0",
"aspire-dashboard|9|major-tag": "9",
"aspire-dashboard|9.0|linux|x64|sha": "bb59357983a0db57ec2a126d06db6f94338f0b26cb23d5565e34c69b167f25ffa6c99f2961e1b127d27bacfc78d2892cee19bad400e8c0e6b71a27a9035684f2",
"aspire-dashboard|9.0|linux|arm64|sha": "644399ce94fa6719c43b7c2d0b719467d9747c003faa09cdf2f8a9fed6af85380f6f0930e16c283ff28aef3575f052b07efdc45f701c19328dcfb0dd73dc931a",
"aspire-dashboard|9.0|base-url|main": "$(base-url|public|preview|nightly)",
"aspire-dashboard|9.0|base-url|nightly": "$(base-url|public|preview|nightly)",

"aspnet|6.0|build-version": "6.0.35",
"aspnet|6.0|targeting-pack-version": "$(aspnet|6.0|build-version)",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ RUN tdnf install -y \
&& tdnf clean all

# Retrieve Aspire Dashboard
RUN dotnet_aspire_version=8.2.1-preview.1.24473.4 \
RUN dotnet_aspire_version=9.0.0-preview.5.24551.3 \
&& curl -fSL --output aspire_dashboard.zip https://dotnetbuilds.azureedge.net/public/aspire/$dotnet_aspire_version/aspire-dashboard-linux-x64.zip \
&& aspire_dashboard_sha512='df4c189f4fecb3284de436c04ab42aaf4888a0929f04c95ba3e1774e07045032cc8e77f570f2cf186fd2db12e385e866732dd98882f06ee0e5489d566d09b667' \
&& aspire_dashboard_sha512='bb59357983a0db57ec2a126d06db6f94338f0b26cb23d5565e34c69b167f25ffa6c99f2961e1b127d27bacfc78d2892cee19bad400e8c0e6b71a27a9035684f2' \
&& echo "$aspire_dashboard_sha512 aspire_dashboard.zip" | sha512sum -c - \
&& mkdir -p /app \
&& unzip aspire_dashboard.zip -d /app \
Expand All @@ -28,8 +28,8 @@ ENV \
# Unset ASPNETCORE_HTTP_PORTS from base image
ASPNETCORE_HTTP_PORTS= \
# Aspire Dashboard environment variables
ASPNETCORE_URLS=http://0.0.0.0:18888 \
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL=http://0.0.0.0:18889 \
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://0.0.0.0:18890
ASPNETCORE_URLS=http://+:18888 \
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL=http://+:18889 \
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://+:18890

ENTRYPOINT [ "dotnet", "/app/Aspire.Dashboard.dll" ]
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ RUN tdnf install -y \
&& tdnf clean all

# Retrieve Aspire Dashboard
RUN dotnet_aspire_version=8.2.1-preview.1.24473.4 \
RUN dotnet_aspire_version=9.0.0-preview.5.24551.3 \
&& curl -fSL --output aspire_dashboard.zip https://dotnetbuilds.azureedge.net/public/aspire/$dotnet_aspire_version/aspire-dashboard-linux-arm64.zip \
&& aspire_dashboard_sha512='c6d0a9da8e459dd64f24758b60cc8b587cbf1c1300188f924d28aea3ace483858b1bb1287782121067af00b9d5533a529a070e8b376f85f7775ffd03c4b193fd' \
&& aspire_dashboard_sha512='644399ce94fa6719c43b7c2d0b719467d9747c003faa09cdf2f8a9fed6af85380f6f0930e16c283ff28aef3575f052b07efdc45f701c19328dcfb0dd73dc931a' \
&& echo "$aspire_dashboard_sha512 aspire_dashboard.zip" | sha512sum -c - \
&& mkdir -p /app \
&& unzip aspire_dashboard.zip -d /app \
Expand All @@ -28,8 +28,8 @@ ENV \
# Unset ASPNETCORE_HTTP_PORTS from base image
ASPNETCORE_HTTP_PORTS= \
# Aspire Dashboard environment variables
ASPNETCORE_URLS=http://0.0.0.0:18888 \
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL=http://0.0.0.0:18889 \
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://0.0.0.0:18890
ASPNETCORE_URLS=http://+:18888 \
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL=http://+:18889 \
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://+:18890

ENTRYPOINT [ "dotnet", "/app/Aspire.Dashboard.dll" ]
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
Expand Down Expand Up @@ -39,16 +40,23 @@ public async Task VerifyDashboardEndpoint(ProductImageData imageData)
[MemberData(nameof(GetImageData))]
public void VerifyEnvironmentVariables(ProductImageData imageData)
{
string baseUrl = "http://+";

// Workaround for https://github.com/dotnet/dotnet-docker/issues/5190
if (imageData.VersionFamily == ImageVersion.V8_0)
{
baseUrl = "http://0.0.0.0";
}

joperezr marked this conversation as resolved.
Show resolved Hide resolved
IEnumerable<EnvironmentVariableInfo> expectedVariables =
[
// Unset ASPNETCORE_HTTP_PORTS from base image
new EnvironmentVariableInfo("ASPNETCORE_HTTP_PORTS", string.Empty),
// These two URL environment variables should be in the more compact format, i.e. "http://+:18888", but need
// to have a base URL of 0.0.0.0 due to a bug in the Aspire Dashboard.
joperezr marked this conversation as resolved.
Show resolved Hide resolved
// Change the format when https://github.com/dotnet/dotnet-docker/issues/5190 is closed.
new EnvironmentVariableInfo("ASPNETCORE_URLS", $"http://0.0.0.0:{DashboardWebPort}"),
new EnvironmentVariableInfo("DOTNET_DASHBOARD_OTLP_ENDPOINT_URL", $"http://0.0.0.0:{DashboardOtlpPort}"),
new EnvironmentVariableInfo("DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL", $"http://0.0.0.0:{DashboardOtlpHttpPort}"),
new EnvironmentVariableInfo("ASPNETCORE_URLS", $"{baseUrl}:{DashboardWebPort}"),
new EnvironmentVariableInfo("DOTNET_DASHBOARD_OTLP_ENDPOINT_URL", $"{baseUrl}:{DashboardOtlpPort}"),
new EnvironmentVariableInfo("DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL", $"{baseUrl}:{DashboardOtlpHttpPort}"),
];

string imageTag = imageData.GetImage(ImageRepo, DockerHelper);
Expand All @@ -59,10 +67,25 @@ public void VerifyEnvironmentVariables(ProductImageData imageData)
[MemberData(nameof(GetImageData))]
public void VerifyInstalledPackages(ProductImageData imageData)
{
ProductImageData expectedPackagesImageData = imageData;

// Special case for Aspire Dashboard 9.0 images:
// Aspire Dashboard 9.0 is based on .NET 8 since Azure Linux 3.0 does not yet have FedRAMP certification.
// Remove workaround once https://github.com/dotnet/dotnet-docker/issues/5375 is fixed.
if (imageData.VersionFamily == ImageVersion.V9_0)
{
expectedPackagesImageData = imageData with
{
Version = ImageVersion.V8_0
};
}

// Aspire Dashboard image is based on an "extra" image, but doesn't have the "extra" qualifier itself, so we
// need to make sure we compare the correct lists of packages.
IEnumerable<string> expectedPackages = GetExpectedPackages(imageData with { ImageVariant = DotNetImageVariant.Extra }, ImageRepo);
IEnumerable<string> actualPackages = GetInstalledPackages(imageData, ImageRepo, DockerHelper, [ AppPath ]);
IEnumerable<string> expectedPackages =
GetExpectedPackages(expectedPackagesImageData with { ImageVariant = DotNetImageVariant.Extra }, ImageRepo);
IEnumerable<string> actualPackages =
GetInstalledPackages(imageData, ImageRepo, DockerHelper, [ AppPath ]);

ComparePackages(expectedPackages, actualPackages, imageData.IsDistroless, OutputHelper);
}
Expand Down
Loading
Loading