From d743f91499903fe599abd517e5038d708b765948 Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Mon, 12 Oct 2026 08:53:35 -0700 Subject: [PATCH] Revert "Port Aspire Dashboard and Chisel changes to release/2026-10B (#7406)" This reverts commit efb41f6a624641ad6b5a6fe1707ac88201fa335a. --- .../docker-hub/README.aspire-dashboard.md | 144 +++++++++++++---- .portal-docs/docker-hub/README.aspnet.md | 5 +- .../docker-hub/README.monitor-base.md | 1 + .portal-docs/docker-hub/README.monitor.md | 1 + .../docker-hub/README.runtime-deps.md | 1 + .portal-docs/docker-hub/README.runtime.md | 5 +- .portal-docs/docker-hub/README.samples.md | 5 +- .portal-docs/docker-hub/README.sdk.md | 5 +- .../mar/README.aspire-dashboard.portal.md | 144 +++++++++++++++++ .portal-docs/mar/README.aspnet.portal.md | 5 +- .portal-docs/mar/README.dashboard.portal.md | 66 -------- .../mar/README.monitor-base.portal.md | 1 + .portal-docs/mar/README.monitor.portal.md | 1 + .../mar/README.runtime-deps.portal.md | 1 + .portal-docs/mar/README.runtime.portal.md | 5 +- .portal-docs/mar/README.samples.portal.md | 5 +- .portal-docs/mar/README.sdk.portal.md | 5 +- README.aspire-dashboard.md | 148 +++++++++++++----- README.aspnet.md | 5 +- README.md | 6 +- README.monitor-base.md | 1 + README.monitor.md | 1 + README.runtime-deps.md | 1 + README.runtime.md | 5 +- README.samples.md | 5 +- README.sdk.md | 5 +- documentation/image-signatures.md | 1 - eng/docker-tools/CHANGELOG.md | 56 ------- eng/docker-tools/DEV-GUIDE.md | 2 +- .../templates/jobs/build-images.yml | 2 +- .../templates/jobs/post-build.yml | 8 +- eng/docker-tools/templates/jobs/publish.yml | 75 +++++---- .../templates/steps/annotate-eol-digests.yml | 43 +++++ .../templates/steps/generate-appsettings.yml | 18 +-- .../templates/steps/publish-artifact.yml | 6 +- .../templates/variables/common.yml | 2 + .../templates/variables/docker-images.yml | 2 +- .../runtime-deps/Dockerfile.chiseled-ubuntu | 7 +- ...ard-tags.yml => aspire-dashboard-tags.yml} | 0 .../About.aspire-dashboard.md | 1 + eng/readme-templates/About.variants.md | 2 +- eng/readme-templates/DefaultLayout.md | 3 +- eng/readme-templates/FeaturedTags.md | 2 + eng/readme-templates/Get-GeneratedReadmes.ps1 | 2 +- eng/readme-templates/GitHub.header.md | 4 +- .../README.aspire-dashboard.dockerhub.md | 1 - .../README.aspire-dashboard.github.md | 1 - .../README.aspire-dashboard.mcr.md | 1 - .../README.aspire-dashboard.md | 92 ----------- eng/readme-templates/README.mcr.md | 2 +- eng/readme-templates/ReposProvider.md | 3 +- eng/readme-templates/Support.md | 7 +- eng/readme-templates/Url.md | 6 +- eng/readme-templates/Use.aspire-dashboard.md | 80 ++++++++++ eng/readme-templates/Use.md | 5 +- .../Updaters/ChiselUpdater.cs | 38 ++--- manifest.json | 14 +- manifest.versions.json | 24 +-- src/aspire-dashboard/amd64/Dockerfile | 4 +- src/aspire-dashboard/arm64v8/Dockerfile | 4 +- .../noble-chiseled-extra/amd64/Dockerfile | 11 +- .../noble-chiseled-extra/arm32v7/Dockerfile | 11 +- .../noble-chiseled-extra/arm64v8/Dockerfile | 11 +- .../10.0/noble-chiseled/amd64/Dockerfile | 11 +- .../10.0/noble-chiseled/arm32v7/Dockerfile | 11 +- .../10.0/noble-chiseled/arm64v8/Dockerfile | 11 +- .../resolute-chiseled-extra/amd64/Dockerfile | 11 +- .../arm32v7/Dockerfile | 11 +- .../arm64v8/Dockerfile | 11 +- .../10.0/resolute-chiseled/amd64/Dockerfile | 11 +- .../10.0/resolute-chiseled/arm32v7/Dockerfile | 11 +- .../10.0/resolute-chiseled/arm64v8/Dockerfile | 11 +- .../resolute-chiseled-extra/amd64/Dockerfile | 11 +- .../arm32v7/Dockerfile | 11 +- .../arm64v8/Dockerfile | 11 +- .../11.0/resolute-chiseled/amd64/Dockerfile | 11 +- .../11.0/resolute-chiseled/arm32v7/Dockerfile | 11 +- .../11.0/resolute-chiseled/arm64v8/Dockerfile | 11 +- .../8.0/jammy-chiseled-extra/amd64/Dockerfile | 11 +- .../jammy-chiseled-extra/arm32v7/Dockerfile | 11 +- .../jammy-chiseled-extra/arm64v8/Dockerfile | 11 +- .../8.0/jammy-chiseled/amd64/Dockerfile | 11 +- .../8.0/jammy-chiseled/arm32v7/Dockerfile | 11 +- .../8.0/jammy-chiseled/arm64v8/Dockerfile | 11 +- .../8.0/noble-chiseled-extra/amd64/Dockerfile | 11 +- .../noble-chiseled-extra/arm64v8/Dockerfile | 11 +- .../8.0/noble-chiseled/amd64/Dockerfile | 11 +- .../8.0/noble-chiseled/arm64v8/Dockerfile | 11 +- .../9.0/noble-chiseled-extra/amd64/Dockerfile | 11 +- .../noble-chiseled-extra/arm32v7/Dockerfile | 11 +- .../noble-chiseled-extra/arm64v8/Dockerfile | 11 +- .../9.0/noble-chiseled/amd64/Dockerfile | 11 +- .../9.0/noble-chiseled/arm32v7/Dockerfile | 11 +- .../9.0/noble-chiseled/arm64v8/Dockerfile | 11 +- .../AspireDashboardManifestTests.cs | 68 -------- ...ble-chiseled-amd64-Dockerfile.approved.txt | 7 +- ...e-chiseled-arm32v7-Dockerfile.approved.txt | 7 +- ...e-chiseled-arm64v8-Dockerfile.approved.txt | 7 +- ...iseled-extra-amd64-Dockerfile.approved.txt | 7 +- ...eled-extra-arm32v7-Dockerfile.approved.txt | 7 +- ...eled-extra-arm64v8-Dockerfile.approved.txt | 7 +- ...ute-chiseled-amd64-Dockerfile.approved.txt | 7 +- ...e-chiseled-arm32v7-Dockerfile.approved.txt | 7 +- ...e-chiseled-arm64v8-Dockerfile.approved.txt | 7 +- ...iseled-extra-amd64-Dockerfile.approved.txt | 7 +- ...eled-extra-arm32v7-Dockerfile.approved.txt | 7 +- ...eled-extra-arm64v8-Dockerfile.approved.txt | 7 +- ...ute-chiseled-amd64-Dockerfile.approved.txt | 7 +- ...e-chiseled-arm32v7-Dockerfile.approved.txt | 7 +- ...e-chiseled-arm64v8-Dockerfile.approved.txt | 7 +- ...iseled-extra-amd64-Dockerfile.approved.txt | 7 +- ...eled-extra-arm32v7-Dockerfile.approved.txt | 7 +- ...eled-extra-arm64v8-Dockerfile.approved.txt | 7 +- ...mmy-chiseled-amd64-Dockerfile.approved.txt | 7 +- ...y-chiseled-arm32v7-Dockerfile.approved.txt | 7 +- ...y-chiseled-arm64v8-Dockerfile.approved.txt | 7 +- ...iseled-extra-amd64-Dockerfile.approved.txt | 7 +- ...eled-extra-arm32v7-Dockerfile.approved.txt | 7 +- ...eled-extra-arm64v8-Dockerfile.approved.txt | 7 +- ...ble-chiseled-amd64-Dockerfile.approved.txt | 7 +- ...e-chiseled-arm64v8-Dockerfile.approved.txt | 7 +- ...iseled-extra-amd64-Dockerfile.approved.txt | 7 +- ...eled-extra-arm64v8-Dockerfile.approved.txt | 7 +- ...ble-chiseled-amd64-Dockerfile.approved.txt | 7 +- ...e-chiseled-arm32v7-Dockerfile.approved.txt | 7 +- ...e-chiseled-arm64v8-Dockerfile.approved.txt | 7 +- ...iseled-extra-amd64-Dockerfile.approved.txt | 7 +- ...eled-extra-arm32v7-Dockerfile.approved.txt | 7 +- ...eled-extra-arm64v8-Dockerfile.approved.txt | 7 +- .../ImageData.cs | 4 +- .../Microsoft.DotNet.Docker.Tests/Manifest.cs | 2 - .../StaticTagTests.cs | 8 +- 132 files changed, 803 insertions(+), 986 deletions(-) create mode 100644 .portal-docs/mar/README.aspire-dashboard.portal.md delete mode 100644 .portal-docs/mar/README.dashboard.portal.md create mode 100644 eng/docker-tools/templates/steps/annotate-eol-digests.yml rename eng/mcr-tags-metadata-templates/{dashboard-tags.yml => aspire-dashboard-tags.yml} (100%) create mode 100644 eng/readme-templates/About.aspire-dashboard.md delete mode 100644 eng/readme-templates/README.aspire-dashboard.dockerhub.md delete mode 100644 eng/readme-templates/README.aspire-dashboard.github.md delete mode 100644 eng/readme-templates/README.aspire-dashboard.mcr.md delete mode 100644 eng/readme-templates/README.aspire-dashboard.md create mode 100644 eng/readme-templates/Use.aspire-dashboard.md delete mode 100644 tests/Microsoft.DotNet.Docker.Tests/AspireDashboardManifestTests.cs diff --git a/.portal-docs/docker-hub/README.aspire-dashboard.md b/.portal-docs/docker-hub/README.aspire-dashboard.md index 3d37aff9e8..33e2714f3f 100644 --- a/.portal-docs/docker-hub/README.aspire-dashboard.md +++ b/.portal-docs/docker-hub/README.aspire-dashboard.md @@ -1,70 +1,148 @@ # Featured Tags * `13` - * `docker pull mcr.microsoft.com/aspire/dashboard:13` + * `docker pull mcr.microsoft.com/dotnet/aspire-dashboard:13` # About -The [Aspire Dashboard](https://aspire.dev/dashboard/standalone/) is a standalone viewer for logs, traces, and metrics from OpenTelemetry-enabled applications in any language. Source code is available in [microsoft/aspire](https://github.com/microsoft/aspire). +This image contains the Aspire Dashboard. -For preview builds, see the [nightly Aspire Dashboard image](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about). +Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. # Usage -Run the dashboard locally: +The Aspire Dashboard is a browser-based app to view run-time information about your distributed application. -```console -docker run --rm -d --name aspire-dashboard -p 127.0.0.1:18888:18888 -p 127.0.0.1:4317:18889 -p 127.0.0.1:4318:18890 mcr.microsoft.com/aspire/dashboard:13 -``` +The dashboard shows: -Open `http://localhost:18888`. To sign in, use the login URL or token printed in the container logs: +* 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. -```console -docker logs aspire-dashboard -``` +## Configuration -This example keeps browser-token authentication enabled and binds the published ports to the host's loopback interface. Incoming OTLP telemetry is unauthenticated by default in standalone mode; the browser token does not secure telemetry ingestion. Only accept telemetry from trusted applications; configure HTTPS, authentication, and network controls before exposing the dashboard beyond your machine. See [dashboard security guidance](https://aspire.dev/dashboard/security-considerations/). +The dashboard must be configured when it is started. The configuration is done via environment variables. The following environment variables are supported: -## Send telemetry +* `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. -Instrument your application with its language's OpenTelemetry SDK and configure an OTLP exporter with the matching protocol and endpoint. Starting the dashboard does not instrument your application automatically. For applications running on the host, use: +### Frontend authentication -* OTLP/gRPC: `http://localhost:4317` (mapped to container port `18889`). -* OTLP/HTTP: `http://localhost:4318` (mapped to container port `18890`). +The dashboard's frontend supports OpenID Connect (OIDC). Set `Dashboard__Frontend__AuthMode` to `OpenIdConnect`, then add the following configuration: -For applications in other containers, use the dashboard container's name and port (`18889` or `18890`) on a shared Docker network, not their own `localhost`. +* `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__*` -## Operational notes +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. -* Telemetry is stored in memory with configurable limits and is lost when the dashboard restarts. The dashboard is intended for development and short-term diagnostics, not durable telemetry storage. -* Standalone mode displays telemetry without an AppHost. Resource listings and captured console logs require a configured [resource service](https://aspire.dev/dashboard/configuration/#resources). +## OTLP authentication -## Documentation and examples +The OTLP endpoint can be secured with [client certificate](https://learn.microsoft.com/aspnet/core/security/authentication/certauth) or API key authentication. -* [Run the standalone dashboard](https://aspire.dev/dashboard/standalone/). -* [Python telemetry tutorial](https://aspire.dev/dashboard/standalone-for-python/). -* [JavaScript and Node.js telemetry tutorial](https://aspire.dev/dashboard/standalone-for-nodejs/). -* [Standalone dashboard sample (C#)](https://github.com/microsoft/aspire-samples/tree/main/samples/standalone-dashboard). -* [Dashboard configuration reference](https://aspire.dev/dashboard/configuration/). +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 +* [dotnet/sdk](https://hub.docker.com/r/microsoft/dotnet-sdk/): .NET SDK +* [dotnet/aspnet](https://hub.docker.com/r/microsoft/dotnet-aspnet/): ASP.NET Core Runtime +* [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/nightly/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-nightly-aspire-dashboard/): Aspire Dashboard (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/dashboard/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/main/README.aspire-dashboard.md#full-tag-listing). +View the current tags at the [Microsoft Artifact Registry portal](https://mcr.microsoft.com/artifact/mar/dotnet/aspire-dashboard/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/main/README.aspire-dashboard.md#full-tag-listing). # Support -See the [Aspire support policy](https://aspire.dev/support/) for supported versions and lifecycle information. Container images are also covered by the [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), and [Image Update Policy](https://github.com/dotnet/dotnet-docker/blob/main/README.md#image-update-policy). +## 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. -For container security and vulnerability reporting, see 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). Additional security information can be found on [aspire.dev/dashboard/security-considerations](https://aspire.dev/dashboard/security-considerations/#standalone-mode). +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 -* [Dashboard issues and feature requests](https://github.com/microsoft/aspire/issues). -* [Container image issues](https://github.com/dotnet/dotnet-docker/issues/new/choose). -* [Contact Microsoft Support](https://support.microsoft.com/contactus/). +* [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) -* [Aspire MIT license](https://github.com/microsoft/aspire/blob/main/LICENSE.TXT) +* [.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 44c77ac2c6..c7c532153e 100644 --- a/.portal-docs/docker-hub/README.aspnet.md +++ b/.portal-docs/docker-hub/README.aspnet.md @@ -65,6 +65,7 @@ For more information, see the [composite images section in the Image Variants do * [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 * [dotnet/nightly/aspnet](https://hub.docker.com/r/microsoft/dotnet-nightly-aspnet/): ASP.NET Core Runtime (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples @@ -113,5 +114,5 @@ Please refer to the [Security Policy](https://github.com/dotnet/dotnet-docker/bl * 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) -* [Windows base image license](https://learn.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/windows-server/pricing) +* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) +* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/.portal-docs/docker-hub/README.monitor-base.md b/.portal-docs/docker-hub/README.monitor-base.md index 948c4b8539..34696f62b7 100644 --- a/.portal-docs/docker-hub/README.monitor-base.md +++ b/.portal-docs/docker-hub/README.monitor-base.md @@ -32,6 +32,7 @@ The following Dockerfiles demonstrate how you can use this base image to build a * [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 * [dotnet/nightly/monitor/base](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor-base/): .NET Monitor Base (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 1751a12b7f..2402775231 100644 --- a/.portal-docs/docker-hub/README.monitor.md +++ b/.portal-docs/docker-hub/README.monitor.md @@ -33,6 +33,7 @@ See [documentation](https://go.microsoft.com/fwlink/?linkid=2158052) for how to * [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/base](https://hub.docker.com/r/microsoft/dotnet-monitor-base/): .NET Monitor Base +* [dotnet/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-aspire-dashboard/): Aspire Dashboard * [dotnet/nightly/monitor](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor/): .NET Monitor Tool (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 c63335ee1f..d310ab4499 100644 --- a/.portal-docs/docker-hub/README.runtime-deps.md +++ b/.portal-docs/docker-hub/README.runtime-deps.md @@ -47,6 +47,7 @@ They contain the following features: * [dotnet/aspnet](https://hub.docker.com/r/microsoft/dotnet-aspnet/): ASP.NET Core Runtime * [dotnet/runtime](https://hub.docker.com/r/microsoft/dotnet-runtime/): .NET Runtime * [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 * [dotnet/nightly/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (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 6b1bece74c..35a9319254 100644 --- a/.portal-docs/docker-hub/README.runtime.md +++ b/.portal-docs/docker-hub/README.runtime.md @@ -54,6 +54,7 @@ They contain the following features: * [dotnet/aspnet](https://hub.docker.com/r/microsoft/dotnet-aspnet/): ASP.NET Core 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 * [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples @@ -102,5 +103,5 @@ Please refer to the [Security Policy](https://github.com/dotnet/dotnet-docker/bl * 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) -* [Windows base image license](https://learn.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/windows-server/pricing) +* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) +* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/.portal-docs/docker-hub/README.samples.md b/.portal-docs/docker-hub/README.samples.md index 7df2a38986..9488557a36 100644 --- a/.portal-docs/docker-hub/README.samples.md +++ b/.portal-docs/docker-hub/README.samples.md @@ -71,6 +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 .NET Framework: @@ -119,5 +120,5 @@ Please refer to the [Security Policy](https://github.com/dotnet/dotnet-docker/bl * 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) -* [Windows base image license](https://learn.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/windows-server/pricing) +* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) +* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/.portal-docs/docker-hub/README.sdk.md b/.portal-docs/docker-hub/README.sdk.md index 71d278803f..deaa876f9a 100644 --- a/.portal-docs/docker-hub/README.sdk.md +++ b/.portal-docs/docker-hub/README.sdk.md @@ -50,6 +50,7 @@ The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/ * [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 * [dotnet/nightly/sdk](https://hub.docker.com/r/microsoft/dotnet-nightly-sdk/): .NET SDK (Preview) * [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples @@ -98,5 +99,5 @@ Please refer to the [Security Policy](https://github.com/dotnet/dotnet-docker/bl * 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) -* [Windows base image license](https://learn.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/windows-server/pricing) +* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) +* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/.portal-docs/mar/README.aspire-dashboard.portal.md b/.portal-docs/mar/README.aspire-dashboard.portal.md new file mode 100644 index 0000000000..6202b665ee --- /dev/null +++ b/.portal-docs/mar/README.aspire-dashboard.portal.md @@ -0,0 +1,144 @@ +## About + +This image contains the Aspire Dashboard. + +Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. + +## Featured Tags + +* `13` + * `docker pull mcr.microsoft.com/dotnet/aspire-dashboard:13` + +## Related Repositories + +.NET: + +* [dotnet](https://mcr.microsoft.com/catalog?search=dotnet): .NET +* [dotnet/sdk](https://mcr.microsoft.com/artifact/mar/dotnet/sdk/about): .NET SDK +* [dotnet/aspnet](https://mcr.microsoft.com/artifact/mar/dotnet/aspnet/about): ASP.NET Core Runtime +* [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/nightly/aspire-dashboard](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/aspire-dashboard/about): Aspire Dashboard (Preview) +* [dotnet/samples](https://mcr.microsoft.com/artifact/mar/dotnet/samples/about): .NET Samples + +.NET Framework: + +* [dotnet/framework](https://mcr.microsoft.com/catalog?search=dotnet/framework): .NET Framework, ASP.NET and WCF +* [dotnet/framework/samples](https://mcr.microsoft.com/artifact/mar/dotnet/framework/samples/about): .NET Framework, ASP.NET and WCF Samples + +## 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. + +## 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/mar/README.aspnet.portal.md b/.portal-docs/mar/README.aspnet.portal.md index aa2e36851b..5f58eeee7e 100644 --- a/.portal-docs/mar/README.aspnet.portal.md +++ b/.portal-docs/mar/README.aspnet.portal.md @@ -22,6 +22,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 * [dotnet/nightly/aspnet](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/aspnet/about): ASP.NET Core Runtime (Preview) * [dotnet/samples](https://mcr.microsoft.com/artifact/mar/dotnet/samples/about): .NET Samples @@ -109,5 +110,5 @@ Please refer to the [Security Policy](https://github.com/dotnet/dotnet-docker/bl * 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) -* [Windows base image license](https://learn.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/windows-server/pricing) +* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) +* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/.portal-docs/mar/README.dashboard.portal.md b/.portal-docs/mar/README.dashboard.portal.md deleted file mode 100644 index 56ff3f447f..0000000000 --- a/.portal-docs/mar/README.dashboard.portal.md +++ /dev/null @@ -1,66 +0,0 @@ -## Featured Tags - -* `13` - * `docker pull mcr.microsoft.com/aspire/dashboard:13` - -## About - -The [Aspire Dashboard](https://aspire.dev/dashboard/standalone/) is a standalone viewer for logs, traces, and metrics from OpenTelemetry-enabled applications in any language. Source code is available in [microsoft/aspire](https://github.com/microsoft/aspire). - -For preview builds, see the [nightly Aspire Dashboard image](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about). - -## Usage - -Run the dashboard locally: - -```console -docker run --rm -d --name aspire-dashboard -p 127.0.0.1:18888:18888 -p 127.0.0.1:4317:18889 -p 127.0.0.1:4318:18890 mcr.microsoft.com/aspire/dashboard:13 -``` - -Open `http://localhost:18888`. To sign in, use the login URL or token printed in the container logs: - -```console -docker logs aspire-dashboard -``` - -This example keeps browser-token authentication enabled and binds the published ports to the host's loopback interface. Incoming OTLP telemetry is unauthenticated by default in standalone mode; the browser token does not secure telemetry ingestion. Only accept telemetry from trusted applications; configure HTTPS, authentication, and network controls before exposing the dashboard beyond your machine. See [dashboard security guidance](https://aspire.dev/dashboard/security-considerations/). - -### Send telemetry - -Instrument your application with its language's OpenTelemetry SDK and configure an OTLP exporter with the matching protocol and endpoint. Starting the dashboard does not instrument your application automatically. For applications running on the host, use: - -* OTLP/gRPC: `http://localhost:4317` (mapped to container port `18889`). -* OTLP/HTTP: `http://localhost:4318` (mapped to container port `18890`). - -For applications in other containers, use the dashboard container's name and port (`18889` or `18890`) on a shared Docker network, not their own `localhost`. - -### Operational notes - -* Telemetry is stored in memory with configurable limits and is lost when the dashboard restarts. The dashboard is intended for development and short-term diagnostics, not durable telemetry storage. -* Standalone mode displays telemetry without an AppHost. Resource listings and captured console logs require a configured [resource service](https://aspire.dev/dashboard/configuration/#resources). - -### Documentation and examples - -* [Run the standalone dashboard](https://aspire.dev/dashboard/standalone/). -* [Python telemetry tutorial](https://aspire.dev/dashboard/standalone-for-python/). -* [JavaScript and Node.js telemetry tutorial](https://aspire.dev/dashboard/standalone-for-nodejs/). -* [Standalone dashboard sample (C#)](https://github.com/microsoft/aspire-samples/tree/main/samples/standalone-dashboard). -* [Dashboard configuration reference](https://aspire.dev/dashboard/configuration/). - -## Support - -See the [Aspire support policy](https://aspire.dev/support/) for supported versions and lifecycle information. Container images are also covered by the [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), and [Image Update Policy](https://github.com/dotnet/dotnet-docker/blob/main/README.md#image-update-policy). - -For container security and vulnerability reporting, see 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). Additional security information can be found on [aspire.dev/dashboard/security-considerations](https://aspire.dev/dashboard/security-considerations/#standalone-mode). - -### Feedback - -* [Dashboard issues and feature requests](https://github.com/microsoft/aspire/issues). -* [Container image issues](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) -* [Aspire MIT license](https://github.com/microsoft/aspire/blob/main/LICENSE.TXT) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) diff --git a/.portal-docs/mar/README.monitor-base.portal.md b/.portal-docs/mar/README.monitor-base.portal.md index 0061a63f93..9657f57a38 100644 --- a/.portal-docs/mar/README.monitor-base.portal.md +++ b/.portal-docs/mar/README.monitor-base.portal.md @@ -23,6 +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 * [dotnet/nightly/monitor/base](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/monitor/base/about): .NET Monitor Base (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 024730150c..a9182fb58f 100644 --- a/.portal-docs/mar/README.monitor.portal.md +++ b/.portal-docs/mar/README.monitor.portal.md @@ -23,6 +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/base](https://mcr.microsoft.com/artifact/mar/dotnet/monitor/base/about): .NET Monitor Base +* [dotnet/aspire-dashboard](https://mcr.microsoft.com/artifact/mar/dotnet/aspire-dashboard/about): Aspire Dashboard * [dotnet/nightly/monitor](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/monitor/about): .NET Monitor Tool (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 8e35197cf2..8dd96deda1 100644 --- a/.portal-docs/mar/README.runtime-deps.portal.md +++ b/.portal-docs/mar/README.runtime-deps.portal.md @@ -22,6 +22,7 @@ Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categori * [dotnet/aspnet](https://mcr.microsoft.com/artifact/mar/dotnet/aspnet/about): ASP.NET Core Runtime * [dotnet/runtime](https://mcr.microsoft.com/artifact/mar/dotnet/runtime/about): .NET Runtime * [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 * [dotnet/nightly/runtime-deps](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/runtime-deps/about): .NET Runtime Dependencies (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 6d1a591041..3428f36e72 100644 --- a/.portal-docs/mar/README.runtime.portal.md +++ b/.portal-docs/mar/README.runtime.portal.md @@ -22,6 +22,7 @@ Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categori * [dotnet/aspnet](https://mcr.microsoft.com/artifact/mar/dotnet/aspnet/about): ASP.NET Core 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 * [dotnet/nightly/runtime](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/runtime/about): .NET Runtime (Preview) * [dotnet/samples](https://mcr.microsoft.com/artifact/mar/dotnet/samples/about): .NET Samples @@ -98,5 +99,5 @@ Please refer to the [Security Policy](https://github.com/dotnet/dotnet-docker/bl * 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) -* [Windows base image license](https://learn.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/windows-server/pricing) +* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) +* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/.portal-docs/mar/README.samples.portal.md b/.portal-docs/mar/README.samples.portal.md index 2985bfbb12..12cbdd1e5e 100644 --- a/.portal-docs/mar/README.samples.portal.md +++ b/.portal-docs/mar/README.samples.portal.md @@ -23,6 +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 .NET Framework: @@ -115,5 +116,5 @@ Please refer to the [Security Policy](https://github.com/dotnet/dotnet-docker/bl * 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) -* [Windows base image license](https://learn.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/windows-server/pricing) +* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) +* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/.portal-docs/mar/README.sdk.portal.md b/.portal-docs/mar/README.sdk.portal.md index 493d973d72..c67cac0052 100644 --- a/.portal-docs/mar/README.sdk.portal.md +++ b/.portal-docs/mar/README.sdk.portal.md @@ -28,6 +28,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 * [dotnet/nightly/sdk](https://mcr.microsoft.com/artifact/mar/dotnet/nightly/sdk/about): .NET SDK (Preview) * [dotnet/samples](https://mcr.microsoft.com/artifact/mar/dotnet/samples/about): .NET Samples @@ -94,5 +95,5 @@ Please refer to the [Security Policy](https://github.com/dotnet/dotnet-docker/bl * 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) -* [Windows base image license](https://learn.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/windows-server/pricing) +* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) +* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/README.aspire-dashboard.md b/README.aspire-dashboard.md index ae635600d0..c838c9e3d4 100644 --- a/README.aspire-dashboard.md +++ b/README.aspire-dashboard.md @@ -3,51 +3,110 @@ ## Featured Tags * `13` - * `docker pull mcr.microsoft.com/aspire/dashboard:13` + * `docker pull mcr.microsoft.com/dotnet/aspire-dashboard:13` ## About -The [Aspire Dashboard](https://aspire.dev/dashboard/standalone/) is a standalone viewer for logs, traces, and metrics from OpenTelemetry-enabled applications in any language. Source code is available in [microsoft/aspire](https://github.com/microsoft/aspire). +This image contains the Aspire Dashboard. -For preview builds, see the [nightly Aspire Dashboard image](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about). +Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements. ## Usage -Run the dashboard locally: +The Aspire Dashboard is a browser-based app to view run-time information about your distributed application. -```console -docker run --rm -d --name aspire-dashboard -p 127.0.0.1:18888:18888 -p 127.0.0.1:4317:18889 -p 127.0.0.1:4318:18890 mcr.microsoft.com/aspire/dashboard:13 -``` +The dashboard shows: -Open `http://localhost:18888`. To sign in, use the login URL or token printed in the container logs: +* 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. -```console -docker logs aspire-dashboard -``` +### Configuration -This example keeps browser-token authentication enabled and binds the published ports to the host's loopback interface. Incoming OTLP telemetry is unauthenticated by default in standalone mode; the browser token does not secure telemetry ingestion. Only accept telemetry from trusted applications; configure HTTPS, authentication, and network controls before exposing the dashboard beyond your machine. See [dashboard security guidance](https://aspire.dev/dashboard/security-considerations/). +The dashboard must be configured when it is started. The configuration is done via environment variables. The following environment variables are supported: -### Send telemetry +* `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. -Instrument your application with its language's OpenTelemetry SDK and configure an OTLP exporter with the matching protocol and endpoint. Starting the dashboard does not instrument your application automatically. For applications running on the host, use: +#### Frontend authentication -* OTLP/gRPC: `http://localhost:4317` (mapped to container port `18889`). -* OTLP/HTTP: `http://localhost:4318` (mapped to container port `18890`). +The dashboard's frontend supports OpenID Connect (OIDC). Set `Dashboard__Frontend__AuthMode` to `OpenIdConnect`, then add the following configuration: -For applications in other containers, use the dashboard container's name and port (`18889` or `18890`) on a shared Docker network, not their own `localhost`. +* `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__*` -### Operational notes +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. -* Telemetry is stored in memory with configurable limits and is lost when the dashboard restarts. The dashboard is intended for development and short-term diagnostics, not durable telemetry storage. -* Standalone mode displays telemetry without an AppHost. Resource listings and captured console logs require a configured [resource service](https://aspire.dev/dashboard/configuration/#resources). +### OTLP authentication -### Documentation and examples +The OTLP endpoint can be secured with [client certificate](https://learn.microsoft.com/aspnet/core/security/authentication/certauth) or API key authentication. -* [Run the standalone dashboard](https://aspire.dev/dashboard/standalone/). -* [Python telemetry tutorial](https://aspire.dev/dashboard/standalone-for-python/). -* [JavaScript and Node.js telemetry tutorial](https://aspire.dev/dashboard/standalone-for-nodejs/). -* [Standalone dashboard sample (C#)](https://github.com/microsoft/aspire-samples/tree/main/samples/standalone-dashboard). -* [Dashboard configuration reference](https://aspire.dev/dashboard/configuration/). +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://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/nightly/aspire-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: + +* [dotnet/framework](https://github.com/microsoft/dotnet-framework-docker/blob/main/README.md): .NET Framework, ASP.NET and WCF +* [dotnet/framework/samples](https://github.com/microsoft/dotnet-framework-docker/blob/main/README.samples.md): .NET Framework, ASP.NET and WCF Samples ## Full Tag Listing @@ -55,32 +114,51 @@ For applications in other containers, use the dashboard container's name and por Tags | Dockerfile | OS Version ---- | ---------- | ---------- -13.6.1, 13.6, 13, latest | [Dockerfile](src/aspire-dashboard/amd64/Dockerfile) | Azure Linux 3.0 +13.6.0, 13.6, 13, latest | [Dockerfile](src/aspire-dashboard/amd64/Dockerfile) | Azure Linux 3.0 ### Linux arm64 Tags Tags | Dockerfile | OS Version ---- | ---------- | ---------- -13.6.1, 13.6, 13, latest | [Dockerfile](src/aspire-dashboard/arm64v8/Dockerfile) | Azure Linux 3.0 +13.6.0, 13.6, 13, latest | [Dockerfile](src/aspire-dashboard/arm64v8/Dockerfile) | Azure Linux 3.0 -*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/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/aspire-dashboard/tags/list) for all supported and unsupported tags.* ## Support -See the [Aspire support policy](https://aspire.dev/support/) for supported versions and lifecycle information. Container images are also covered by the [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), and [Image Update Policy](https://github.com/dotnet/dotnet-docker/blob/main/README.md#image-update-policy). +### 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. -For container security and vulnerability reporting, see 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). Additional security information can be found on [aspire.dev/dashboard/security-considerations](https://aspire.dev/dashboard/security-considerations/#standalone-mode). +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 -* [Dashboard issues and feature requests](https://github.com/microsoft/aspire/issues). -* [Container image issues](https://github.com/dotnet/dotnet-docker/issues/new/choose). -* [Contact Microsoft Support](https://support.microsoft.com/contactus/). +* [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) -* [Aspire MIT license](https://github.com/microsoft/aspire/blob/main/LICENSE.TXT) +* [.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/README.aspnet.md b/README.aspnet.md index 8f9fc571eb..9d4ece8734 100644 --- a/README.aspnet.md +++ b/README.aspnet.md @@ -67,6 +67,7 @@ For more information, see the [composite images section in the Image Variants do * [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 * [dotnet/nightly/aspnet](https://github.com/dotnet/dotnet-docker/blob/nightly/README.aspnet.md): ASP.NET Core Runtime (Preview) * [dotnet/samples](https://github.com/dotnet/dotnet-docker/blob/main/README.samples.md): .NET Samples @@ -344,5 +345,5 @@ Please refer to the [Security Policy](https://github.com/dotnet/dotnet-docker/bl * 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) -* [Windows base image license](https://learn.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/windows-server/pricing) +* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) +* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/README.md b/README.md index 80c88e5d62..33999c3fde 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ * [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 * [dotnet/samples](https://github.com/dotnet/dotnet-docker/blob/main/README.samples.md): .NET Samples ## About @@ -85,6 +86,7 @@ They contain the following features: * [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) .NET Framework: @@ -127,5 +129,5 @@ Please refer to the [Security Policy](https://github.com/dotnet/dotnet-docker/bl * 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) -* [Windows base image license](https://learn.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/windows-server/pricing) +* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) +* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/README.monitor-base.md b/README.monitor-base.md index c8b422c37f..6be1c2a608 100644 --- a/README.monitor-base.md +++ b/README.monitor-base.md @@ -34,6 +34,7 @@ The following Dockerfiles demonstrate how you can use this base image to build a * [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 * [dotnet/nightly/monitor/base](https://github.com/dotnet/dotnet-docker/blob/nightly/README.monitor-base.md): .NET Monitor Base (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 eb35034a6f..407f62348b 100644 --- a/README.monitor.md +++ b/README.monitor.md @@ -35,6 +35,7 @@ See [documentation](https://go.microsoft.com/fwlink/?linkid=2158052) for how to * [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/base](https://github.com/dotnet/dotnet-docker/blob/main/README.monitor-base.md): .NET Monitor Base +* [dotnet/aspire-dashboard](https://github.com/dotnet/dotnet-docker/blob/main/README.aspire-dashboard.md): Aspire Dashboard * [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 diff --git a/README.runtime-deps.md b/README.runtime-deps.md index baaf3f51de..23dba6c7dd 100644 --- a/README.runtime-deps.md +++ b/README.runtime-deps.md @@ -49,6 +49,7 @@ They contain the following features: * [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/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 * [dotnet/nightly/runtime-deps](https://github.com/dotnet/dotnet-docker/blob/nightly/README.runtime-deps.md): .NET Runtime Dependencies (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 512bf32d70..2d61e648ea 100644 --- a/README.runtime.md +++ b/README.runtime.md @@ -56,6 +56,7 @@ They contain the following features: * [dotnet/aspnet](https://github.com/dotnet/dotnet-docker/blob/main/README.aspnet.md): ASP.NET Core 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 * [dotnet/nightly/runtime](https://github.com/dotnet/dotnet-docker/blob/nightly/README.runtime.md): .NET Runtime (Preview) * [dotnet/samples](https://github.com/dotnet/dotnet-docker/blob/main/README.samples.md): .NET Samples @@ -255,5 +256,5 @@ Please refer to the [Security Policy](https://github.com/dotnet/dotnet-docker/bl * 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) -* [Windows base image license](https://learn.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/windows-server/pricing) +* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) +* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/README.samples.md b/README.samples.md index 3a50492222..cdf280aad3 100644 --- a/README.samples.md +++ b/README.samples.md @@ -73,6 +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 .NET Framework: @@ -157,5 +158,5 @@ Please refer to the [Security Policy](https://github.com/dotnet/dotnet-docker/bl * 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) -* [Windows base image license](https://learn.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/windows-server/pricing) +* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) +* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/README.sdk.md b/README.sdk.md index 187a60e730..fc9e00b724 100644 --- a/README.sdk.md +++ b/README.sdk.md @@ -52,6 +52,7 @@ The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/ * [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 * [dotnet/nightly/sdk](https://github.com/dotnet/dotnet-docker/blob/nightly/README.sdk.md): .NET SDK (Preview) * [dotnet/samples](https://github.com/dotnet/dotnet-docker/blob/main/README.samples.md): .NET Samples @@ -201,5 +202,5 @@ Please refer to the [Security Policy](https://github.com/dotnet/dotnet-docker/bl * 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) -* [Windows base image license](https://learn.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/windows-server/pricing) +* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) +* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing) diff --git a/documentation/image-signatures.md b/documentation/image-signatures.md index 837c9092ed..1cf5f8cbc6 100644 --- a/documentation/image-signatures.md +++ b/documentation/image-signatures.md @@ -91,7 +91,6 @@ for verifying .NET images: { "name": "supplychain", "registryScopes": [ - "mcr.microsoft.com/aspire/dashboard", "mcr.microsoft.com/dotnet/aspire-dashboard", "mcr.microsoft.com/dotnet/aspnet", "mcr.microsoft.com/dotnet/monitor", diff --git a/eng/docker-tools/CHANGELOG.md b/eng/docker-tools/CHANGELOG.md index adcc236c34..09e796d6f2 100644 --- a/eng/docker-tools/CHANGELOG.md +++ b/eng/docker-tools/CHANGELOG.md @@ -4,46 +4,6 @@ All breaking changes and new features in `eng/docker-tools` will be documented i --- -## 2026-10-05: Lifecycle metadata commands combined - -- Pull request: [#2252](https://github.com/dotnet/docker-tools/pull/2252) -- Issues: [#2153](https://github.com/dotnet/docker-tools/issues/2153), [#2066](https://github.com/dotnet/docker-tools/issues/2066) - -ImageBuilder now uses one command, `attachLifecycleMetadata`, to add lifecycle metadata to images. -The shared publish and cleanup templates use the new command. Repositories that only use these -templates do not need to make any changes. - -Repositories that call ImageBuilder commands directly must use these replacements: - -| Old command | New command | -| --- | --- | -| `generateEolAnnotationDataForPublish` and `annotateEolDigests` | `attachLifecycleMetadata unsupported` | -| `generateEolAnnotationDataForAllImages` and `annotateEolDigests` | `attachLifecycleMetadata all` | -| `annotateEolDigests` with a data file | `attachLifecycleMetadata file` | -| `waitForMarAnnotationIngestion` | Add `--wait-for-ingestion` to an `attachLifecycleMetadata` command | - -The publish job no longer creates lifecycle metadata data files before it attaches the metadata. -Update any automation that reads those intermediate files. - -Lifecycle metadata can now be marked as internal. Internal metadata is never published. - ---- - -## 2026-10-05: Image-level syndication - -- Issue: [#2240](https://github.com/dotnet/docker-tools/issues/2240) - -Syndication has moved from tag-level to image-level. All platform tags, shared -tags, signatures, and referrers are replicated 1:1 during publishing. - -`Build` and `Post_Build` stages no longer create syndicated tags or manifest -lists. Image info records the destination as `syndicatedRepo` instead of -recording separate `syndicatedDigests`, because syndicated images have the same -digests as the primary images. Custom destination tag names and selective -platform syndication are no longer supported. - ---- - ## 2026-08-10: Pre-ImageBuilder build customization Build pipeline templates now accept `customPreImageBuilderBuildSteps`. These steps run after @@ -53,22 +13,6 @@ image. Repositories can use the hook to stage files into Docker build contexts, --- -## 2026-07-28: Publish stage artifacts consolidated - -The Publish stage now uploads `$(Build.ArtifactStagingDirectory)` once as -`publish-attempt-$(System.JobAttempt)`. This replaces these separate artifacts: - -- `image-info-final-$(System.JobAttempt)` -- `eol-annotation-data-$(System.JobAttempt)` -- `annotation-digests--$(System.JobAttempt)` -- `source-build-id` - -Consumers of those artifact names must download the consolidated artifact instead. Files retain -their staging-directory paths, including `imageInfo/`, `eol-annotation-data/`, -`annotation-digests/`, and `sourceBuildId/source-build-id.txt`. - ---- - ## 2026-06-11: Configurable per-registry referrer-lookup rate limit - Issue: [#2141](https://github.com/dotnet/docker-tools/issues/2141) diff --git a/eng/docker-tools/DEV-GUIDE.md b/eng/docker-tools/DEV-GUIDE.md index 20c8a02832..ba45f30771 100644 --- a/eng/docker-tools/DEV-GUIDE.md +++ b/eng/docker-tools/DEV-GUIDE.md @@ -302,7 +302,7 @@ The publish stage does more than just push images. Here's the sequence: 5. **Wait for Doc Ingestion** — Ensures README changes are live 6. **Merge & Publish Image Info** — Updates the versions repo with new image metadata 7. **Ingest Kusto Image Info** — Sends telemetry to Kusto for analytics -8. **Attach Lifecycle Metadata** - `attachLifecycleMetadata unsupported` marks unsupported images with end-of-life dates +8. **Generate & Apply EOL Annotations** — Marks images with end-of-life dates 9. **Post Publish Notification** — Creates GitHub issues/notifications about the publish ### Dry-Run Mode diff --git a/eng/docker-tools/templates/jobs/build-images.yml b/eng/docker-tools/templates/jobs/build-images.yml index 33b866f6da..a77c02cb7c 100644 --- a/eng/docker-tools/templates/jobs/build-images.yml +++ b/eng/docker-tools/templates/jobs/build-images.yml @@ -143,4 +143,4 @@ jobs: displayName: Publish SBOM internalProjectName: ${{ parameters.internalProjectName }} publicProjectName: ${{ parameters.publicProjectName }} - condition: and(succeeded(), ne(variables['BuildImages.builtImages'], '')) + condition: ne(variables['BuildImages.builtImages'], '') diff --git a/eng/docker-tools/templates/jobs/post-build.yml b/eng/docker-tools/templates/jobs/post-build.yml index 8a07759bd1..32b9c7999c 100644 --- a/eng/docker-tools/templates/jobs/post-build.yml +++ b/eng/docker-tools/templates/jobs/post-build.yml @@ -11,6 +11,7 @@ jobs: variables: imageInfosSubDir: "/image-infos" imageInfosHostDir: "$(Build.ArtifactStagingDirectory)$(imageInfosSubDir)" + imageInfosContainerDir: "$(artifactsPath)$(imageInfosSubDir)" imageInfosOutputSubDir: "/output" sbomOutputDir: "$(Build.ArtifactStagingDirectory)/sbom" steps: @@ -72,10 +73,11 @@ jobs: exit 0 } + New-Item -ItemType Directory -Path $(imageInfosHostDir)$(imageInfosOutputSubDir) -Force $(runImageBuilderCmd) mergeImageInfo ` --manifest $(manifest) ` - image-infos ` - image-infos/output/image-info.json ` + $(imageInfosContainerDir) ` + $(imageInfosContainerDir)$(imageInfosOutputSubDir)/image-info.json ` $(manifestVariables) name: MergeImageInfoFiles displayName: Merge Image Info Files @@ -87,7 +89,7 @@ jobs: condition: and(succeeded(), ne(variables['MergeImageInfoFiles.noImageInfos'], 'true'), ne(variables['Build.Reason'], 'PullRequest')) args: >- createManifestList - 'image-infos/output/image-info.json' + '$(imageInfosContainerDir)$(imageInfosOutputSubDir)/image-info.json' --repo-prefix '${{ parameters.publishConfig.BuildRegistry.repoPrefix }}' --os-type '*' --architecture '*' diff --git a/eng/docker-tools/templates/jobs/publish.yml b/eng/docker-tools/templates/jobs/publish.yml index 05fb29205e..5839be2d76 100644 --- a/eng/docker-tools/templates/jobs/publish.yml +++ b/eng/docker-tools/templates/jobs/publish.yml @@ -37,6 +37,8 @@ jobs: value: $[ replace(variables['System.PullRequest.SourceBranch'], 'refs/heads/', '') ] - name: imageInfoHostDir value: $(Build.ArtifactStagingDirectory)/imageInfo + - name: imageInfoContainerDir + value: $(artifactsPath)/imageInfo - name: sourceBuildIdOutputDir value: $(Build.ArtifactStagingDirectory)/sourceBuildId - name: commitOverrideArg @@ -44,8 +46,6 @@ jobs: value: --commit-override $(Build.SourceVersion) ${{ else }}: value: '' - - name: eolAnnotationsWaitArg - value: $[ iif(eq(variables['waitForIngestionEnabled'], 'true'), '--wait-for-ingestion', '') ] - ${{ parameters.customPublishVariables }} steps: @@ -99,7 +99,7 @@ jobs: - script: > $(runImageBuilderCmd) trimUnchangedPlatforms - 'imageInfo/image-info.json' + '$(imageInfoContainerDir)/image-info.json' displayName: Trim Unchanged Images - template: /eng/docker-tools/templates/steps/run-imagebuilder.yml@self @@ -113,15 +113,23 @@ jobs: --os-type '*' --architecture '*' --repo-prefix '${{ parameters.publishConfig.PublishRegistry.repoPrefix }}' - --image-info 'imageInfo/image-info.json' + --image-info '$(imageInfoContainerDir)/image-info.json' $(dryRunArg) $(imageBuilder.pathArgs) $(imageBuilder.commonCmdArgs) + - template: /eng/docker-tools/templates/steps/publish-artifact.yml@self + parameters: + path: $(imageInfoHostDir) + artifactName: image-info-final-$(System.JobAttempt) + displayName: Publish Image Info File Artifact + internalProjectName: ${{ parameters.internalProjectName }} + publicProjectName: ${{ parameters.publicProjectName }} + - template: /eng/docker-tools/templates/steps/wait-for-mcr-image-ingestion.yml@self parameters: publishConfig: ${{ parameters.publishConfig }} - imageInfoPath: 'imageInfo/image-info.json' + imageInfoPath: '$(imageinfoContainerDir)/image-info.json' minQueueTime: $(imageQueueTime) dryRunArg: $(dryRunArg) condition: succeeded() @@ -131,6 +139,9 @@ jobs: dryRunArg: $(dryRunArg) condition: and(succeeded(), eq(variables['publishReadme'], 'true')) + - script: mkdir -p $(Build.ArtifactStagingDirectory)/eol-annotation-data + displayName: Create EOL Annotation Data Directory + - script: |- cd $(versionsRepoRoot) git pull origin $(gitHubVersionsRepoInfo.branch) @@ -144,13 +155,13 @@ jobs: - script: > $(runImageBuilderCmd) mergeImageInfo - imageInfo - imageInfo/full-image-info-new.json + $(imageInfoContainerDir) + $(imageInfoContainerDir)/full-image-info-new.json $(manifestVariables) $(dryRunArg) --manifest $(manifest) --publish - --initial-image-info-path imageInfo/full-image-info-orig.json + --initial-image-info-path $(imageInfoContainerDir)/full-image-info-orig.json $(commitOverrideArg) condition: and(succeeded(), eq(variables['publishImageInfo'], 'true')) displayName: Merge Image Info @@ -167,7 +178,7 @@ jobs: condition: and(succeeded(), eq(variables['ingestKustoImageInfo'], 'true')) args: >- ingestKustoImageInfo - 'imageInfo/image-info.json' + '$(imageInfoContainerDir)/image-info.json' '$(kusto.cluster)' '$(kusto.database)' '$(kusto.imageTable)' @@ -179,26 +190,36 @@ jobs: - template: /eng/docker-tools/templates/steps/run-imagebuilder.yml@self parameters: - displayName: Attach Lifecycle Metadata - serviceConnections: - - name: mar - id: $(marStatus.serviceConnection.id) - tenantId: $(marStatus.serviceConnection.tenantId) - clientId: $(marStatus.serviceConnection.clientId) + displayName: Generate EOL Annotation Data internalProjectName: internal condition: and(succeeded(), eq(variables['publishEolAnnotations'], 'true')) args: >- - attachLifecycleMetadata unsupported + generateEolAnnotationDataForPublish '${{ parameters.publishConfig.PublishRegistry.server }}' '${{ parameters.publishConfig.PublishRegistry.repoPrefix }}' - 'imageInfo/full-image-info-orig.json' - 'imageInfo/full-image-info-new.json' - $(eolAnnotationsWaitArg) + '$(artifactsPath)/eol-annotation-data/eol-annotation-data.json' + '$(imageInfoContainerDir)/full-image-info-orig.json' + '$(imageInfoContainerDir)/full-image-info-new.json' + $(generateEolAnnotationDataExtraOptions) $(dryRunArg) + - template: /eng/docker-tools/templates/steps/publish-artifact.yml@self + parameters: + path: $(Build.ArtifactStagingDirectory)/eol-annotation-data + artifactName: eol-annotation-data-$(System.JobAttempt) + displayName: Publish EOL Annotation Data Artifact + internalProjectName: internal + publicProjectName: public + condition: and(succeeded(), eq(variables['publishEolAnnotations'], 'true')) + + - template: /eng/docker-tools/templates/steps/annotate-eol-digests.yml@self + parameters: + acr: ${{ parameters.publishConfig.PublishRegistry }} + dataFile: $(artifactsPath)/eol-annotation-data/eol-annotation-data.json + - script: > $(runImageBuilderCmd) publishImageInfo - 'imageInfo/full-image-info-new.json' + '$(imageInfoContainerDir)/full-image-info-new.json' '$(gitHubVersionsRepoInfo.userName)' '$(gitHubVersionsRepoInfo.email)' $(gitHubVersionsRepoInfo.authArgs) @@ -227,7 +248,7 @@ jobs: $(runImageBuilderCmd) postPublishNotification '$(publishNotificationRepoName)' '$(branchName)' - 'imageInfo/image-info.json' + '$(imageInfoContainerDir)/image-info.json' $(Build.BuildId) '$(System.AccessToken)' '$(azdoOrgName)' @@ -242,7 +263,9 @@ jobs: --task "🟪 Wait for MCR Doc Ingestion" --task "🟪 Publish Image Info" --task "🟪 Ingest Kusto Image Info" - --task "🟪 Attach Lifecycle Metadata" + --task "🟪 Generate EOL Annotation Data" + --task "🟪 Annotate EOL Images (${{ parameters.publishConfig.PublishRegistry.server }})" + --task "🟪 Wait for Annotation Ingestion (${{ parameters.publishConfig.PublishRegistry.server }})" $(dryRunArg) $(imageBuilder.commonCmdArgs) displayName: Post Publish Notification @@ -262,10 +285,8 @@ jobs: - template: /eng/docker-tools/templates/steps/publish-artifact.yml@self parameters: - path: $(Build.ArtifactStagingDirectory) - artifactName: publish-attempt-$(System.JobAttempt) - displayName: Publish Artifacts + path: $(sourceBuildIdOutputDir) + artifactName: source-build-id + displayName: Publish Source Build ID Artifact internalProjectName: ${{ parameters.internalProjectName }} publicProjectName: ${{ parameters.publicProjectName }} - # Always upload, even if the pipeline fails or is canceled. - condition: always() diff --git a/eng/docker-tools/templates/steps/annotate-eol-digests.yml b/eng/docker-tools/templates/steps/annotate-eol-digests.yml new file mode 100644 index 0000000000..8e2f7571be --- /dev/null +++ b/eng/docker-tools/templates/steps/annotate-eol-digests.yml @@ -0,0 +1,43 @@ +parameters: +- name: acr + type: object +# Path to EOL annotation data JSON file generated by 'generateEolAnnotationData*' command +- name: dataFile + type: string + +steps: + - script: mkdir -p $(Build.ArtifactStagingDirectory)/annotation-digests + displayName: Create Annotation Digests Directory + - template: /eng/docker-tools/templates/steps/run-imagebuilder.yml@self + parameters: + displayName: Annotate EOL Images (${{ parameters.acr.server }}) + internalProjectName: internal + condition: and(succeeded(), eq(variables['publishEolAnnotations'], 'true')) + args: >- + annotateEolDigests + "${{ parameters.dataFile }}" + "${{ parameters.acr.server }}" + "${{ parameters.acr.repoPrefix }}" + $(artifactsPath)/annotation-digests/annotation-digests.txt + $(dryRunArg) + - template: /eng/docker-tools/templates/steps/publish-artifact.yml@self + parameters: + path: $(Build.ArtifactStagingDirectory)/annotation-digests + artifactName: annotation-digests-${{ parameters.acr.server }}-$(System.JobAttempt) + displayName: Publish Annotation Digests List (${{ parameters.acr.server }}) + internalProjectName: internal + publicProjectName: public + condition: and(succeeded(), eq(variables['publishEolAnnotations'], 'true')) + - template: /eng/docker-tools/templates/steps/run-imagebuilder.yml@self + parameters: + displayName: Wait for Annotation Ingestion (${{ parameters.acr.server }}) + serviceConnections: + - name: mar + id: $(marStatus.serviceConnection.id) + tenantId: $(marStatus.serviceConnection.tenantId) + clientId: $(marStatus.serviceConnection.clientId) + internalProjectName: internal + condition: and(succeeded(), eq(variables['publishEolAnnotations'], 'true'), eq(variables['waitForIngestionEnabled'], 'true')) + args: >- + waitForMarAnnotationIngestion + $(artifactsPath)/annotation-digests/annotation-digests.txt diff --git a/eng/docker-tools/templates/steps/generate-appsettings.yml b/eng/docker-tools/templates/steps/generate-appsettings.yml index f1b5bf89f2..b1243e7038 100644 --- a/eng/docker-tools/templates/steps/generate-appsettings.yml +++ b/eng/docker-tools/templates/steps/generate-appsettings.yml @@ -20,17 +20,7 @@ steps: - powershell: |- # Escape backslashes for JSON compatibility (Windows paths like D:\a\_work become D:\\a\\_work) $artifactStagingDirectory = "${{ parameters.artifactStagingDirectory }}" -replace '\\', '\\' - - if ("$(Build.Reason)" -eq "PullRequest") { - $appsettingsJsonContent = @" - { - "BuildConfiguration": { - "ArtifactStagingDirectory": "$artifactStagingDirectory" - } - } - "@ - } else { - $appsettingsJsonContent = @" + $appsettingsJsonContent = @" { "PublishConfiguration": ${{ convertToJson(parameters.publishConfig) }}, "BuildConfiguration": { @@ -38,9 +28,7 @@ steps: } } "@ - } - Set-Content -Path "appsettings.json" -Value $appsettingsJsonContent Get-Content -Path "appsettings.json" - displayName: Output ImageBuilder configuration - condition: and(succeeded(), ${{ parameters.condition }}) + displayName: Output publish configuration + condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'), ${{ parameters.condition }}) diff --git a/eng/docker-tools/templates/steps/publish-artifact.yml b/eng/docker-tools/templates/steps/publish-artifact.yml index 6095a1dd6b..72ce47005a 100644 --- a/eng/docker-tools/templates/steps/publish-artifact.yml +++ b/eng/docker-tools/templates/steps/publish-artifact.yml @@ -11,7 +11,7 @@ parameters: type: string - name: condition type: string - default: succeeded() + default: 'true' steps: - ${{ if eq(variables['System.TeamProject'], parameters.internalProjectName) }}: @@ -20,9 +20,9 @@ steps: path: ${{ parameters.path }} artifact: ${{ parameters.artifactName }} displayName: ${{ parameters.displayName }} - condition: ${{ parameters.condition }} + condition: and(succeeded(), ${{ parameters.condition }}) - ${{ if eq(variables['System.TeamProject'], parameters.publicProjectName) }}: - publish: ${{ parameters.path }} artifact: ${{ parameters.artifactName }} displayName: ${{ parameters.displayName }} - condition: ${{ parameters.condition }} + condition: and(succeeded(), ${{ parameters.condition }}) diff --git a/eng/docker-tools/templates/variables/common.yml b/eng/docker-tools/templates/variables/common.yml index b6ce7442e5..680dc12930 100644 --- a/eng/docker-tools/templates/variables/common.yml +++ b/eng/docker-tools/templates/variables/common.yml @@ -16,6 +16,8 @@ variables: value: "" - name: imageBuilderDockerRunExtraOptions value: "" +- name: generateEolAnnotationDataExtraOptions + value: "" - name: productVersionComponents value: 2 - name: imageInfoVariant diff --git a/eng/docker-tools/templates/variables/docker-images.yml b/eng/docker-tools/templates/variables/docker-images.yml index 5b3599bc7c..09c3567f78 100644 --- a/eng/docker-tools/templates/variables/docker-images.yml +++ b/eng/docker-tools/templates/variables/docker-images.yml @@ -1,5 +1,5 @@ variables: - imageNames.imageBuilderName: mcr.microsoft.com/dotnet-buildtools/image-builder@sha256:90213836518e8ef7c33153d00abeaafbd7e8d6eb276576920c2cb31b4c7dbd8e + imageNames.imageBuilderName: mcr.microsoft.com/dotnet-buildtools/image-builder@sha256:152c17472c4b93b531b784b029033c3c6128f14dba1e71f8d717028d4b914ec8 imageNames.imageBuilder: $(imageNames.imageBuilderName) imageNames.imageBuilder.withrepo: imagebuilder-withrepo:$(Build.BuildId)-$(System.JobId) imageNames.testRunner: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux3.0-docker-testrunner diff --git a/eng/dockerfile-templates/runtime-deps/Dockerfile.chiseled-ubuntu b/eng/dockerfile-templates/runtime-deps/Dockerfile.chiseled-ubuntu index 3fd3a48ace..f3dc045f11 100644 --- a/eng/dockerfile-templates/runtime-deps/Dockerfile.chiseled-ubuntu +++ b/eng/dockerfile-templates/runtime-deps/Dockerfile.chiseled-ubuntu @@ -83,12 +83,7 @@ RUN {{InsertTemplate("../Dockerfile.linux.download-files", ["files": [[ "url": rocksToolboxUrl, "out-file": "/usr/bin/chisel-wrapper" ]]], " ")}} \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN {{InsertTemplate("Dockerfile.linux.non-root-user-staged", [ "staging-dir": "/rootfs", diff --git a/eng/mcr-tags-metadata-templates/dashboard-tags.yml b/eng/mcr-tags-metadata-templates/aspire-dashboard-tags.yml similarity index 100% rename from eng/mcr-tags-metadata-templates/dashboard-tags.yml rename to eng/mcr-tags-metadata-templates/aspire-dashboard-tags.yml diff --git a/eng/readme-templates/About.aspire-dashboard.md b/eng/readme-templates/About.aspire-dashboard.md new file mode 100644 index 0000000000..767c957485 --- /dev/null +++ b/eng/readme-templates/About.aspire-dashboard.md @@ -0,0 +1 @@ +This image contains the Aspire Dashboard. diff --git a/eng/readme-templates/About.variants.md b/eng/readme-templates/About.variants.md index 7f230313d6..100b41fd19 100644 --- a/eng/readme-templates/About.variants.md +++ b/eng/readme-templates/About.variants.md @@ -8,7 +8,7 @@ }}{{ARGS["top-header"]}} Image Variants .NET container images have several variants that offer different combinations of flexibility and deployment size. -The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) contains a summary of the image variants and their use-cases.{{if repo != "sdk": +The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) contains a summary of the image variants and their use-cases.{{if repo != "sdk" && repo != "aspire-dashboard": {{InsertTemplate("About.distroless.md", [ "top-header": ARGS["top-header"] ])}}}}{{if repo = "aspnet": diff --git a/eng/readme-templates/DefaultLayout.md b/eng/readme-templates/DefaultLayout.md index f859e02ae8..e8d138b7db 100644 --- a/eng/readme-templates/DefaultLayout.md +++ b/eng/readme-templates/DefaultLayout.md @@ -7,6 +7,7 @@ set insertReposListTemplate(template, args) to:{{ return InsertTemplate("ReposProvider.md", union([ "template": template ], commonArgs, args)) }} ^ + set isNightlyRepo to match(split(REPO, "/")[1], "nightly") ^ set readmeRepoName to when(PARENT_REPO = "monitor", cat("monitor-", SHORT_REPO), SHORT_REPO) @@ -17,7 +18,7 @@ if !IS_PRODUCT_FAMILY:{{InsertTemplate("FeaturedTags.md", commonArgs)}} }} {{InsertTemplate("About.md", commonArgs)}} -{{InsertTemplate("Use.md", commonArgs)}}{{if (find(REPO, "monitor") < 0 && find(REPO, "yarp") < 0): +{{InsertTemplate("Use.md", commonArgs)}}{{if (find(REPO, "monitor") < 0 && find(REPO, "aspire") < 0 && find(REPO, "yarp") < 0): {{InsertTemplate("About.variants.md", commonArgs)}}}} diff --git a/eng/readme-templates/FeaturedTags.md b/eng/readme-templates/FeaturedTags.md index b0a5431943..2f1810e283 100644 --- a/eng/readme-templates/FeaturedTags.md +++ b/eng/readme-templates/FeaturedTags.md @@ -20,6 +20,8 @@ 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` + * `docker pull {{FULL_REPO}}:13`^ elif match(REPO, "yarp"):* `2.3-preview` * `docker pull {{FULL_REPO}}:2.3-preview`^ else:{{if VARIABLES["branch"] = "nightly":* `11.0` (Release Candidate) diff --git a/eng/readme-templates/Get-GeneratedReadmes.ps1 b/eng/readme-templates/Get-GeneratedReadmes.ps1 index d107d8b4a6..97248fd9b9 100644 --- a/eng/readme-templates/Get-GeneratedReadmes.ps1 +++ b/eng/readme-templates/Get-GeneratedReadmes.ps1 @@ -43,7 +43,7 @@ $onDockerfilesGenerated = { CopyReadme $ContainerName ".portal-docs/docker-hub/README.samples.md" CopyReadme $ContainerName ".portal-docs/docker-hub/README.sdk.md" - CopyReadme $ContainerName ".portal-docs/mar/README.dashboard.portal.md" + CopyReadme $ContainerName ".portal-docs/mar/README.aspire-dashboard.portal.md" CopyReadme $ContainerName ".portal-docs/mar/README.aspnet.portal.md" CopyReadme $ContainerName ".portal-docs/mar/README.monitor.portal.md" CopyReadme $ContainerName ".portal-docs/mar/README.monitor-base.portal.md" diff --git a/eng/readme-templates/GitHub.header.md b/eng/readme-templates/GitHub.header.md index 9cbe8900fa..61a496cacd 100644 --- a/eng/readme-templates/GitHub.header.md +++ b/eng/readme-templates/GitHub.header.md @@ -13,8 +13,6 @@ return shortRepo = SHORT_REPO }} ^ - set currentRepo to when(IS_PRODUCT_FAMILY, - ARGS["product-family-repos"], - cat(filter(repos, isCurrentRepo))) + set currentRepo to when(IS_PRODUCT_FAMILY, ARGS["product-family-repos"], cat(filter(repos, isCurrentRepo))) }}# {{currentRepo[0][1]}} diff --git a/eng/readme-templates/README.aspire-dashboard.dockerhub.md b/eng/readme-templates/README.aspire-dashboard.dockerhub.md deleted file mode 100644 index d0fbbc6fab..0000000000 --- a/eng/readme-templates/README.aspire-dashboard.dockerhub.md +++ /dev/null @@ -1 +0,0 @@ -{{InsertTemplate("README.aspire-dashboard.md", [ "readme-host": "dockerhub" ])}} diff --git a/eng/readme-templates/README.aspire-dashboard.github.md b/eng/readme-templates/README.aspire-dashboard.github.md deleted file mode 100644 index d0b6536ed8..0000000000 --- a/eng/readme-templates/README.aspire-dashboard.github.md +++ /dev/null @@ -1 +0,0 @@ -{{InsertTemplate("README.aspire-dashboard.md", [ "readme-host": "github" ])}} diff --git a/eng/readme-templates/README.aspire-dashboard.mcr.md b/eng/readme-templates/README.aspire-dashboard.mcr.md deleted file mode 100644 index 4a365835b8..0000000000 --- a/eng/readme-templates/README.aspire-dashboard.mcr.md +++ /dev/null @@ -1 +0,0 @@ -{{InsertTemplate("README.aspire-dashboard.md", [ "readme-host": "mar" ])}} diff --git a/eng/readme-templates/README.aspire-dashboard.md b/eng/readme-templates/README.aspire-dashboard.md deleted file mode 100644 index 61a396e24c..0000000000 --- a/eng/readme-templates/README.aspire-dashboard.md +++ /dev/null @@ -1,92 +0,0 @@ -{{ - _ ARGS: - readme-host: Moniker of the site that will host the readme ^ - - set isGitHub to ARGS["readme-host"] = "github" ^ - set isDockerHub to ARGS["readme-host"] = "dockerhub" ^ - set h to when(isDockerHub, "#", "##") ^ - set isNightlyRepo to match(split(REPO, "/")[1], "nightly") || VARIABLES["branch"] = "nightly" ^ - set stableUrl to when( - isGitHub, - "https://github.com/dotnet/dotnet-docker/blob/main/README.aspire-dashboard.md", - "https://mcr.microsoft.com/artifact/mar/aspire/dashboard/about") ^ - set stableName to when(isGitHub, "dotnet/aspire-dashboard", "aspire/dashboard") - -}}{{if isGitHub:# Aspire Dashboard - -}}{{if isNightlyRepo:> **Important**: The {{REPO}} image is a preview build of the Aspire Dashboard and is not signed. See [{{stableName}}]({{stableUrl}}) for stable releases. - -}}{{h}} Featured Tags - -* `13` - * `docker pull {{FULL_REPO}}:13` - -{{h}} About - -The [Aspire Dashboard](https://aspire.dev/dashboard/standalone/) is a standalone viewer for logs, traces, and metrics from OpenTelemetry-enabled applications in any language. Source code is available in [microsoft/aspire](https://github.com/microsoft/aspire). -{{if !isNightlyRepo: -For preview builds, see the [nightly Aspire Dashboard image](https://mcr.microsoft.com/artifact/mar/aspire/nightly/dashboard/about). -}} -{{h}} Usage - -Run the dashboard locally: - -```console -docker run --rm -d --name aspire-dashboard -p 127.0.0.1:18888:18888 -p 127.0.0.1:4317:18889 -p 127.0.0.1:4318:18890 {{FULL_REPO}}:13 -``` - -Open `http://localhost:18888`. To sign in, use the login URL or token printed in the container logs: - -```console -docker logs aspire-dashboard -``` - -This example keeps browser-token authentication enabled and binds the published ports to the host's loopback interface. Incoming OTLP telemetry is unauthenticated by default in standalone mode; the browser token does not secure telemetry ingestion. Only accept telemetry from trusted applications; configure HTTPS, authentication, and network controls before exposing the dashboard beyond your machine. See [dashboard security guidance](https://aspire.dev/dashboard/security-considerations/). - -{{h}}# Send telemetry - -Instrument your application with its language's OpenTelemetry SDK and configure an OTLP exporter with the matching protocol and endpoint. Starting the dashboard does not instrument your application automatically. For applications running on the host, use: - -* OTLP/gRPC: `http://localhost:4317` (mapped to container port `18889`). -* OTLP/HTTP: `http://localhost:4318` (mapped to container port `18890`). - -For applications in other containers, use the dashboard container's name and port (`18889` or `18890`) on a shared Docker network, not their own `localhost`. - -{{h}}# Operational notes - -* Telemetry is stored in memory with configurable limits and is lost when the dashboard restarts. The dashboard is intended for development and short-term diagnostics, not durable telemetry storage. -* Standalone mode displays telemetry without an AppHost. Resource listings and captured console logs require a configured [resource service](https://aspire.dev/dashboard/configuration/#resources). - -{{h}}# Documentation and examples - -* [Run the standalone dashboard](https://aspire.dev/dashboard/standalone/). -* [Python telemetry tutorial](https://aspire.dev/dashboard/standalone-for-python/). -* [JavaScript and Node.js telemetry tutorial](https://aspire.dev/dashboard/standalone-for-nodejs/). -* [Standalone dashboard sample (C#)](https://github.com/microsoft/aspire-samples/tree/main/samples/standalone-dashboard). -* [Dashboard configuration reference](https://aspire.dev/dashboard/configuration/). - -{{if isGitHub:## Full Tag Listing - -*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/{{REPO}}/tags/list) for all supported and unsupported tags.* - -^elif isDockerHub:# Full Tag Listing - -View the current tags at the [Microsoft Artifact Registry portal](https://mcr.microsoft.com/artifact/mar/{{REPO}}/tags) or on [GitHub](https://github.com/dotnet/dotnet-docker/blob/main/README.aspire-dashboard.md#full-tag-listing). - -}}{{h}} Support - -See the [Aspire support policy](https://aspire.dev/support/) for supported versions and lifecycle information. Container images are also covered by the [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), and [Image Update Policy](https://github.com/dotnet/dotnet-docker/blob/main/README.md#image-update-policy). - -For container security and vulnerability reporting, see 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). Additional security information can be found on [aspire.dev/dashboard/security-considerations](https://aspire.dev/dashboard/security-considerations/#standalone-mode). - -{{h}}# Feedback - -* [Dashboard issues and feature requests](https://github.com/microsoft/aspire/issues). -* [Container image issues](https://github.com/dotnet/dotnet-docker/issues/new/choose). -* [Contact Microsoft Support](https://support.microsoft.com/contactus/). - -{{h}} License - -* Legal Notice: [Container License Information](https://aka.ms/mcr/osslegalnotice) -* [Aspire MIT license](https://github.com/microsoft/aspire/blob/main/LICENSE.TXT) -* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md) diff --git a/eng/readme-templates/README.mcr.md b/eng/readme-templates/README.mcr.md index 6cd3e88435..f3d8006bb5 100644 --- a/eng/readme-templates/README.mcr.md +++ b/eng/readme-templates/README.mcr.md @@ -6,7 +6,7 @@ {{InsertTemplate("ReposProvider.md", union([ "template": "RelatedRepos.md" ], commonArgs))}} -{{InsertTemplate("Use.md", commonArgs)}}{{if (find(REPO, "monitor") < 0 && find(REPO, "yarp") < 0): +{{InsertTemplate("Use.md", commonArgs)}}{{if (find(REPO, "monitor") < 0 && find(REPO, "aspire") < 0 && find(REPO, "yarp") < 0): {{InsertTemplate("About.variants.md", commonArgs)}}}} diff --git a/eng/readme-templates/ReposProvider.md b/eng/readme-templates/ReposProvider.md index 442aa3ebe5..0431b983e0 100644 --- a/eng/readme-templates/ReposProvider.md +++ b/eng/readme-templates/ReposProvider.md @@ -13,7 +13,8 @@ ["dotnet/runtime", ".NET Runtime"], ["dotnet/runtime-deps", ".NET Runtime Dependencies"], ["dotnet/monitor", ".NET Monitor Tool"], - ["dotnet/monitor/base", ".NET Monitor Base"] + ["dotnet/monitor/base", ".NET Monitor Base"], + ["dotnet/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 5bca50f8a5..5315bd4ef1 100644 --- a/eng/readme-templates/Support.md +++ b/eng/readme-templates/Support.md @@ -5,6 +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 isReverseProxy to match(SHORT_REPO, "yarp") }}{{ARGS["top-header"]}} Support @@ -45,6 +46,6 @@ Please refer to the [Security Policy](https://github.com/dotnet/dotnet-docker/bl * 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){{if !(isRuntimeDeps || isMonitor): -* [Windows base image license](https://learn.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) -* [Pricing and licensing for Windows Server](https://www.microsoft.com/windows-server/pricing)}} +* [Discover licensing for Linux image contents](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-artifact-details.md){{if !(isRuntimeDeps || isMonitor || isAspireDashboard): +* [Windows base image license](https://docs.microsoft.com/virtualization/windowscontainers/images-eula) (only applies to Windows containers) +* [Pricing and licensing for Windows Server](https://www.microsoft.com/cloud-platform/windows-server-pricing)}} diff --git a/eng/readme-templates/Url.md b/eng/readme-templates/Url.md index cdd8c69ada..e5af2b8ba7 100644 --- a/eng/readme-templates/Url.md +++ b/eng/readme-templates/Url.md @@ -15,11 +15,7 @@ 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(join(slice(repoParts, when(isNightlyRepo || isFrameworkRepo, 2, 1)), "-"), ".")), "md") }}{{ diff --git a/eng/readme-templates/Use.aspire-dashboard.md b/eng/readme-templates/Use.aspire-dashboard.md new file mode 100644 index 0000000000..7eea5331dd --- /dev/null +++ b/eng/readme-templates/Use.aspire-dashboard.md @@ -0,0 +1,80 @@ +{{ + _ ARGS: + top-header: The string to use as the top-level header. + readme-host: Moniker of the site that will host the readme +}}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. + +{{ARGS["top-header"]}}# 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. + +{{ARGS["top-header"]}}## 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. + +{{ARGS["top-header"]}}# 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. + +{{ARGS["top-header"]}}# 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. + +{{ARGS["top-header"]}}## 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. + +{{ARGS["top-header"]}}# 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. diff --git a/eng/readme-templates/Use.md b/eng/readme-templates/Use.md index b12215edc1..ead99901ab 100644 --- a/eng/readme-templates/Use.md +++ b/eng/readme-templates/Use.md @@ -6,9 +6,10 @@ "samples", 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": The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Introduction to .NET and Docker](https://learn.microsoft.com/dotnet/core/docker/introduction){{ if templateQualifier = "aspnet" || templateQualifier = "runtime-deps": and [Host ASP.NET Core in Docker containers](https://learn.microsoft.com/aspnet/core/host-and-deploy/docker)}} to learn more. - +}} {{InsertTemplate(join(["Use", templateQualifier, "md"], "."), [ "top-header": ARGS["top-header"], "readme-host": ARGS["readme-host"]])}} diff --git a/eng/update-dependencies/Updaters/ChiselUpdater.cs b/eng/update-dependencies/Updaters/ChiselUpdater.cs index 655a37db0a..dfe79d642d 100644 --- a/eng/update-dependencies/Updaters/ChiselUpdater.cs +++ b/eng/update-dependencies/Updaters/ChiselUpdater.cs @@ -8,7 +8,6 @@ namespace Microsoft.DotNet.Docker.UpdateDependencies.Updaters; public sealed class ChiselUpdater(IReleasesClient releases, HttpClient httpClient) : IGitHubReleaseUpdater { - private const string BuildVersionVariable = "chisel|latest|build-version"; private const string Owner = "canonical"; private const string Repo = "chisel"; @@ -24,12 +23,6 @@ private static string GetChiselManifestVariable(string product, string arch, str private static Regex GetAssetRegex(string arch) => new(@"chisel_v\d+\.\d+\.\d+_linux_" + arch + @"\.tar\.gz"); - private static string GetDownloadUrl(string arch) - { - string buildVersion = $"$({BuildVersionVariable})"; - return $"https://github.com/{Owner}/{Repo}/releases/download/{buildVersion}/chisel_{buildVersion}_linux_{arch}.tar.gz"; - } - private static string ToManifestArch(string arch) => arch == "amd64" ? "x64" : arch; public async Task ResolveFromGitHubReleaseAsync(CancellationToken cancellationToken) @@ -46,20 +39,13 @@ private async Task ApplyAsync( Release release, CancellationToken cancellationToken) { - if (!variables.ShouldUpdateLiteral(BuildVersionVariable)) - { - return; - } - - variables.SetValue(BuildVersionVariable, release.TagName); - foreach (string arch in s_supportedArchitectures) { string urlVariable = GetChiselManifestVariable(Name, arch, "url"); string shaVariable = GetChiselManifestVariable(Name, arch, "sha384"); - variables.SetValue(urlVariable, GetDownloadUrl(arch)); - - if (!variables.ShouldUpdateLiteral(shaVariable)) + bool updateUrl = variables.ShouldUpdateLiteral(urlVariable); + bool updateSha = variables.ShouldUpdateLiteral(shaVariable); + if (!updateUrl && !updateSha) { continue; } @@ -68,12 +54,20 @@ private async Task ApplyAsync( ReleaseAsset asset = release.Assets.FirstOrDefault(asset => assetRegex.IsMatch(asset.Name)) ?? throw new InvalidOperationException($"Could not find Chisel release asset matching regex {assetRegex}."); - string checksumUrl = $"{asset.BrowserDownloadUrl}.sha384"; - string content = await httpClient.GetStringAsync(checksumUrl, cancellationToken); + if (updateUrl) + { + variables.SetValue(urlVariable, asset.BrowserDownloadUrl); + } + + if (updateSha) + { + string checksumUrl = $"{asset.BrowserDownloadUrl}.sha384"; + string content = await httpClient.GetStringAsync(checksumUrl, cancellationToken); - // Each checksum file contains " ". - string sha = content.Split(" ")[0].ToLowerInvariant(); - variables.SetValue(shaVariable, sha); + // Each checksum file contains " ". + string sha = content.Split(" ")[0].ToLowerInvariant(); + variables.SetValue(shaVariable, sha); + } } } } diff --git a/manifest.json b/manifest.json index 0c06e9ee65..5769eb3645 100644 --- a/manifest.json +++ b/manifest.json @@ -5,7 +5,6 @@ }, "registry": "mcr.microsoft.com", "variables": { - "syndicatedAspireDashboardRepo": "dotnet/aspire-dashboard", "syndicatedRuntimeDepsRepo": "dotnet/core/runtime-deps", "syndicatedRuntimeRepo": "dotnet/core/runtime", "syndicatedAspnetRepo": "dotnet/core/aspnet", @@ -12420,26 +12419,25 @@ }, { "id": "aspire-dashboard", - "name": "aspire/dashboard", + "name": "dotnet/aspire-dashboard", "readmes": [ { "path": "README.aspire-dashboard.md", - "templatePath": "eng/readme-templates/README.aspire-dashboard.github.md" + "templatePath": "eng/readme-templates/README.github.md" }, { "path": ".portal-docs/docker-hub/README.aspire-dashboard.md", - "templatePath": "eng/readme-templates/README.aspire-dashboard.dockerhub.md" + "templatePath": "eng/readme-templates/README.dockerhub.md" }, { - "path": ".portal-docs/mar/README.dashboard.portal.md", - "templatePath": "eng/readme-templates/README.aspire-dashboard.mcr.md" + "path": ".portal-docs/mar/README.aspire-dashboard.portal.md", + "templatePath": "eng/readme-templates/README.mcr.md" } ], - "mcrTagsMetadataTemplate": "eng/mcr-tags-metadata-templates/dashboard-tags.yml", + "mcrTagsMetadataTemplate": "eng/mcr-tags-metadata-templates/aspire-dashboard-tags.yml", "images": [ { "productVersion": "$(aspire-dashboard|product-version)", - "syndication": "$(syndicatedAspireDashboardRepo)", "sharedTags": { "$(aspire-dashboard|fixed-tag)": {}, "$(aspire-dashboard|minor-tag)": {}, diff --git a/manifest.versions.json b/manifest.versions.json index d18abf26fd..f7ee62578a 100644 --- a/manifest.versions.json +++ b/manifest.versions.json @@ -21,13 +21,13 @@ "alpine|9.0|floating-tag-version": "$(alpine|floating-tag-version)", "alpine|8.0|floating-tag-version": "$(alpine|floating-tag-version)", - "aspire-dashboard|build-version": "13.6.1-preview.1.26506.6", - "aspire-dashboard|product-version": "13.6.1", - "aspire-dashboard|fixed-tag": "13.6.1", + "aspire-dashboard|build-version": "13.6.0-preview.1.26479.8", + "aspire-dashboard|product-version": "13.6.0", + "aspire-dashboard|fixed-tag": "13.6.0", "aspire-dashboard|minor-tag": "13.6", "aspire-dashboard|major-tag": "13", - "aspire-dashboard|linux|x64|sha": "a33356021639ad2ebaa26edcc6c1b3c457984f3f48e9650bdea721ad27254291f220168c85c13b202a2b6c8f1c060914b02ced39961a15e7d130d573cc7f91b2", - "aspire-dashboard|linux|arm64|sha": "fc72aa3cf8b8f225537e29dd6856d8787713943997703418e4cfa9fa084e2720d17836bc1b1f67bf37efa451f2ebcb8eca27908aa8c31a13a3182875a71020d6", + "aspire-dashboard|linux|x64|sha": "4d047a9ee97fd3a500cf8de64a74ebd77bb3012a020bc594d9a7e4830a3f165ee0f76f6999af0e949dd8fd2cade3d32b5cd98e8a8f91015dc58fff89fb0246b5", + "aspire-dashboard|linux|arm64|sha": "b6e1ffaa74b7b8c4f38f828ac700e645cdd6133e0b8239b31373f06f6f570d9edbe9551daa9a4809c8d5ee0665dd1b8c8a000f60a802eaa2585c203830c3f56d", "aspire-dashboard|base-url|main": "$(base-url|public|preview|nightly)", "aspire-dashboard|base-url|nightly": "$(base-url|public|preview|nightly)", @@ -43,14 +43,14 @@ "aspnet|11.0|build-version": "11.0.0-rc.1.26425.128", "aspnet-composite|11.0|build-version": "$(aspnet|11.0|build-version)", - "chisel|latest|build-version": "v1.5.0", + "chisel|latest|build-version": "v1.4.2", "chisel|latest|x64|url": "https://github.com/canonical/chisel/releases/download/$(chisel|latest|build-version)/chisel_$(chisel|latest|build-version)_linux_amd64.tar.gz", "chisel|latest|arm|url": "https://github.com/canonical/chisel/releases/download/$(chisel|latest|build-version)/chisel_$(chisel|latest|build-version)_linux_arm.tar.gz", "chisel|latest|arm64|url": "https://github.com/canonical/chisel/releases/download/$(chisel|latest|build-version)/chisel_$(chisel|latest|build-version)_linux_arm64.tar.gz", "chisel|11.0|build-version": "$(chisel|latest|build-version)", - "chisel|11.0|x64|url": "$(chisel|latest|x64|url)", - "chisel|11.0|arm|url": "$(chisel|latest|arm|url)", - "chisel|11.0|arm64|url": "$(chisel|latest|arm64|url)", + "chisel|11.0|x64|url": "https://github.com/canonical/chisel/releases/download/$(chisel|11.0|build-version)/chisel_$(chisel|11.0|build-version)_linux_amd64.tar.gz", + "chisel|11.0|arm|url": "https://github.com/canonical/chisel/releases/download/$(chisel|11.0|build-version)/chisel_$(chisel|11.0|build-version)_linux_arm.tar.gz", + "chisel|11.0|arm64|url": "https://github.com/canonical/chisel/releases/download/$(chisel|11.0|build-version)/chisel_$(chisel|11.0|build-version)_linux_arm64.tar.gz", "chisel|10.0|x64|url": "$(chisel|latest|x64|url)", "chisel|10.0|arm|url": "$(chisel|latest|arm|url)", "chisel|10.0|arm64|url": "$(chisel|latest|arm64|url)", @@ -61,9 +61,9 @@ "chisel|8.0|arm|url": "$(chisel|latest|arm|url)", "chisel|8.0|arm64|url": "$(chisel|latest|arm64|url)", - "chisel|latest|x64|sha384": "f8ba3f3d04165b50d91aae7eb3bcaca2a714f1877d2af005989617937cf2e375ab30d4a50b1308263e61a61ecb79de5c", - "chisel|latest|arm|sha384": "271265a0f21b29270b5ead6b047ab56b1508ab940601a07faf74096f44038d2830863a8a958eea38b39dc405ef8b6c0d", - "chisel|latest|arm64|sha384": "90d2f15242594a20d634a66ed7a2bee7586cfd83498f42b284ca2dcb6ccd29772230172604881e168b5fc12ffd8dda91", + "chisel|latest|x64|sha384": "8e5e8df4dc783dcfa827ca9990ba871af350738de67c51706b3c06bfd4725ab0edbddd9ad4110d1047ecfdc586f7dac6", + "chisel|latest|arm|sha384": "64564dc399463daba343448533b87eaae0d21f6a32697487957c1ff9c39155269f020b880a40ca27284c6865395f4a78", + "chisel|latest|arm64|sha384": "216f10d4cc461411558fa4ac03fc24e104589126f87657457877389ae8015e1eac4299fcd8557c0dfea3d33342aa3297", "chisel|11.0|x64|sha384": "$(chisel|latest|x64|sha384)", "chisel|11.0|arm|sha384": "$(chisel|latest|arm|sha384)", "chisel|11.0|arm64|sha384": "$(chisel|latest|arm64|sha384)", diff --git a/src/aspire-dashboard/amd64/Dockerfile b/src/aspire-dashboard/amd64/Dockerfile index 5b139a1c09..32efc365c8 100644 --- a/src/aspire-dashboard/amd64/Dockerfile +++ b/src/aspire-dashboard/amd64/Dockerfile @@ -9,9 +9,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve Aspire Dashboard -RUN dotnet_aspire_version=13.6.1-preview.1.26506.6 \ +RUN dotnet_aspire_version=13.6.0-preview.1.26479.8 \ && curl --fail --show-error --location --output aspire_dashboard.zip https://ci.dot.net/public/aspire/$dotnet_aspire_version/aspire-dashboard-linux-x64.zip \ - && aspire_dashboard_sha512='a33356021639ad2ebaa26edcc6c1b3c457984f3f48e9650bdea721ad27254291f220168c85c13b202a2b6c8f1c060914b02ced39961a15e7d130d573cc7f91b2' \ + && aspire_dashboard_sha512='4d047a9ee97fd3a500cf8de64a74ebd77bb3012a020bc594d9a7e4830a3f165ee0f76f6999af0e949dd8fd2cade3d32b5cd98e8a8f91015dc58fff89fb0246b5' \ && echo "$aspire_dashboard_sha512 aspire_dashboard.zip" | sha512sum -c - \ && mkdir --parents /app \ && unzip aspire_dashboard.zip -d /app \ diff --git a/src/aspire-dashboard/arm64v8/Dockerfile b/src/aspire-dashboard/arm64v8/Dockerfile index 5c455d4cf0..34b21b1692 100644 --- a/src/aspire-dashboard/arm64v8/Dockerfile +++ b/src/aspire-dashboard/arm64v8/Dockerfile @@ -9,9 +9,9 @@ RUN tdnf install -y \ && tdnf clean all # Retrieve Aspire Dashboard -RUN dotnet_aspire_version=13.6.1-preview.1.26506.6 \ +RUN dotnet_aspire_version=13.6.0-preview.1.26479.8 \ && curl --fail --show-error --location --output aspire_dashboard.zip https://ci.dot.net/public/aspire/$dotnet_aspire_version/aspire-dashboard-linux-arm64.zip \ - && aspire_dashboard_sha512='fc72aa3cf8b8f225537e29dd6856d8787713943997703418e4cfa9fa084e2720d17836bc1b1f67bf37efa451f2ebcb8eca27908aa8c31a13a3182875a71020d6' \ + && aspire_dashboard_sha512='b6e1ffaa74b7b8c4f38f828ac700e645cdd6133e0b8239b31373f06f6f570d9edbe9551daa9a4809c8d5ee0665dd1b8c8a000f60a802eaa2585c203830c3f56d' \ && echo "$aspire_dashboard_sha512 aspire_dashboard.zip" | sha512sum -c - \ && mkdir --parents /app \ && unzip aspire_dashboard.zip -d /app \ diff --git a/src/runtime-deps/10.0/noble-chiseled-extra/amd64/Dockerfile b/src/runtime-deps/10.0/noble-chiseled-extra/amd64/Dockerfile index 1d66f006bc..a493707f36 100644 --- a/src/runtime-deps/10.0/noble-chiseled-extra/amd64/Dockerfile +++ b/src/runtime-deps/10.0/noble-chiseled-extra/amd64/Dockerfile @@ -2,18 +2,13 @@ FROM amd64/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_amd64.tar.gz \ - && chisel_sha384='f8ba3f3d04165b50d91aae7eb3bcaca2a714f1877d2af005989617937cf2e375ab30d4a50b1308263e61a61ecb79de5c' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_amd64.tar.gz \ + && chisel_sha384='8e5e8df4dc783dcfa827ca9990ba871af350738de67c51706b3c06bfd4725ab0edbddd9ad4110d1047ecfdc586f7dac6' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/10.0/noble-chiseled-extra/arm32v7/Dockerfile b/src/runtime-deps/10.0/noble-chiseled-extra/arm32v7/Dockerfile index 783b80eca9..64d8536ae0 100644 --- a/src/runtime-deps/10.0/noble-chiseled-extra/arm32v7/Dockerfile +++ b/src/runtime-deps/10.0/noble-chiseled-extra/arm32v7/Dockerfile @@ -2,18 +2,13 @@ FROM arm32v7/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm.tar.gz \ - && chisel_sha384='271265a0f21b29270b5ead6b047ab56b1508ab940601a07faf74096f44038d2830863a8a958eea38b39dc405ef8b6c0d' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm.tar.gz \ + && chisel_sha384='64564dc399463daba343448533b87eaae0d21f6a32697487957c1ff9c39155269f020b880a40ca27284c6865395f4a78' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/10.0/noble-chiseled-extra/arm64v8/Dockerfile b/src/runtime-deps/10.0/noble-chiseled-extra/arm64v8/Dockerfile index 58ee08a19a..c47f6a33a4 100644 --- a/src/runtime-deps/10.0/noble-chiseled-extra/arm64v8/Dockerfile +++ b/src/runtime-deps/10.0/noble-chiseled-extra/arm64v8/Dockerfile @@ -2,18 +2,13 @@ FROM arm64v8/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm64.tar.gz \ - && chisel_sha384='90d2f15242594a20d634a66ed7a2bee7586cfd83498f42b284ca2dcb6ccd29772230172604881e168b5fc12ffd8dda91' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm64.tar.gz \ + && chisel_sha384='216f10d4cc461411558fa4ac03fc24e104589126f87657457877389ae8015e1eac4299fcd8557c0dfea3d33342aa3297' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/10.0/noble-chiseled/amd64/Dockerfile b/src/runtime-deps/10.0/noble-chiseled/amd64/Dockerfile index 4b04fda52d..92b8de3cd8 100644 --- a/src/runtime-deps/10.0/noble-chiseled/amd64/Dockerfile +++ b/src/runtime-deps/10.0/noble-chiseled/amd64/Dockerfile @@ -2,18 +2,13 @@ FROM amd64/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_amd64.tar.gz \ - && chisel_sha384='f8ba3f3d04165b50d91aae7eb3bcaca2a714f1877d2af005989617937cf2e375ab30d4a50b1308263e61a61ecb79de5c' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_amd64.tar.gz \ + && chisel_sha384='8e5e8df4dc783dcfa827ca9990ba871af350738de67c51706b3c06bfd4725ab0edbddd9ad4110d1047ecfdc586f7dac6' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/10.0/noble-chiseled/arm32v7/Dockerfile b/src/runtime-deps/10.0/noble-chiseled/arm32v7/Dockerfile index 3042801c85..22d4bf6433 100644 --- a/src/runtime-deps/10.0/noble-chiseled/arm32v7/Dockerfile +++ b/src/runtime-deps/10.0/noble-chiseled/arm32v7/Dockerfile @@ -2,18 +2,13 @@ FROM arm32v7/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm.tar.gz \ - && chisel_sha384='271265a0f21b29270b5ead6b047ab56b1508ab940601a07faf74096f44038d2830863a8a958eea38b39dc405ef8b6c0d' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm.tar.gz \ + && chisel_sha384='64564dc399463daba343448533b87eaae0d21f6a32697487957c1ff9c39155269f020b880a40ca27284c6865395f4a78' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/10.0/noble-chiseled/arm64v8/Dockerfile b/src/runtime-deps/10.0/noble-chiseled/arm64v8/Dockerfile index f6af6018e9..9e7e0215e0 100644 --- a/src/runtime-deps/10.0/noble-chiseled/arm64v8/Dockerfile +++ b/src/runtime-deps/10.0/noble-chiseled/arm64v8/Dockerfile @@ -2,18 +2,13 @@ FROM arm64v8/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm64.tar.gz \ - && chisel_sha384='90d2f15242594a20d634a66ed7a2bee7586cfd83498f42b284ca2dcb6ccd29772230172604881e168b5fc12ffd8dda91' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm64.tar.gz \ + && chisel_sha384='216f10d4cc461411558fa4ac03fc24e104589126f87657457877389ae8015e1eac4299fcd8557c0dfea3d33342aa3297' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/10.0/resolute-chiseled-extra/amd64/Dockerfile b/src/runtime-deps/10.0/resolute-chiseled-extra/amd64/Dockerfile index 4d882d5f3e..65f7ba54b5 100644 --- a/src/runtime-deps/10.0/resolute-chiseled-extra/amd64/Dockerfile +++ b/src/runtime-deps/10.0/resolute-chiseled-extra/amd64/Dockerfile @@ -2,18 +2,13 @@ FROM amd64/buildpack-deps:resolute-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_amd64.tar.gz \ - && chisel_sha384='f8ba3f3d04165b50d91aae7eb3bcaca2a714f1877d2af005989617937cf2e375ab30d4a50b1308263e61a61ecb79de5c' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_amd64.tar.gz \ + && chisel_sha384='8e5e8df4dc783dcfa827ca9990ba871af350738de67c51706b3c06bfd4725ab0edbddd9ad4110d1047ecfdc586f7dac6' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/10.0/resolute-chiseled-extra/arm32v7/Dockerfile b/src/runtime-deps/10.0/resolute-chiseled-extra/arm32v7/Dockerfile index 7534060c01..d70cc5655a 100644 --- a/src/runtime-deps/10.0/resolute-chiseled-extra/arm32v7/Dockerfile +++ b/src/runtime-deps/10.0/resolute-chiseled-extra/arm32v7/Dockerfile @@ -2,18 +2,13 @@ FROM arm32v7/buildpack-deps:resolute-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm.tar.gz \ - && chisel_sha384='271265a0f21b29270b5ead6b047ab56b1508ab940601a07faf74096f44038d2830863a8a958eea38b39dc405ef8b6c0d' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm.tar.gz \ + && chisel_sha384='64564dc399463daba343448533b87eaae0d21f6a32697487957c1ff9c39155269f020b880a40ca27284c6865395f4a78' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/10.0/resolute-chiseled-extra/arm64v8/Dockerfile b/src/runtime-deps/10.0/resolute-chiseled-extra/arm64v8/Dockerfile index b5da587947..6ccb910b67 100644 --- a/src/runtime-deps/10.0/resolute-chiseled-extra/arm64v8/Dockerfile +++ b/src/runtime-deps/10.0/resolute-chiseled-extra/arm64v8/Dockerfile @@ -2,18 +2,13 @@ FROM arm64v8/buildpack-deps:resolute-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm64.tar.gz \ - && chisel_sha384='90d2f15242594a20d634a66ed7a2bee7586cfd83498f42b284ca2dcb6ccd29772230172604881e168b5fc12ffd8dda91' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm64.tar.gz \ + && chisel_sha384='216f10d4cc461411558fa4ac03fc24e104589126f87657457877389ae8015e1eac4299fcd8557c0dfea3d33342aa3297' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/10.0/resolute-chiseled/amd64/Dockerfile b/src/runtime-deps/10.0/resolute-chiseled/amd64/Dockerfile index cbac1c1832..6095e97e88 100644 --- a/src/runtime-deps/10.0/resolute-chiseled/amd64/Dockerfile +++ b/src/runtime-deps/10.0/resolute-chiseled/amd64/Dockerfile @@ -2,18 +2,13 @@ FROM amd64/buildpack-deps:resolute-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_amd64.tar.gz \ - && chisel_sha384='f8ba3f3d04165b50d91aae7eb3bcaca2a714f1877d2af005989617937cf2e375ab30d4a50b1308263e61a61ecb79de5c' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_amd64.tar.gz \ + && chisel_sha384='8e5e8df4dc783dcfa827ca9990ba871af350738de67c51706b3c06bfd4725ab0edbddd9ad4110d1047ecfdc586f7dac6' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/10.0/resolute-chiseled/arm32v7/Dockerfile b/src/runtime-deps/10.0/resolute-chiseled/arm32v7/Dockerfile index 439e7f9669..56918f1074 100644 --- a/src/runtime-deps/10.0/resolute-chiseled/arm32v7/Dockerfile +++ b/src/runtime-deps/10.0/resolute-chiseled/arm32v7/Dockerfile @@ -2,18 +2,13 @@ FROM arm32v7/buildpack-deps:resolute-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm.tar.gz \ - && chisel_sha384='271265a0f21b29270b5ead6b047ab56b1508ab940601a07faf74096f44038d2830863a8a958eea38b39dc405ef8b6c0d' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm.tar.gz \ + && chisel_sha384='64564dc399463daba343448533b87eaae0d21f6a32697487957c1ff9c39155269f020b880a40ca27284c6865395f4a78' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/10.0/resolute-chiseled/arm64v8/Dockerfile b/src/runtime-deps/10.0/resolute-chiseled/arm64v8/Dockerfile index df21d602da..c460be0c1e 100644 --- a/src/runtime-deps/10.0/resolute-chiseled/arm64v8/Dockerfile +++ b/src/runtime-deps/10.0/resolute-chiseled/arm64v8/Dockerfile @@ -2,18 +2,13 @@ FROM arm64v8/buildpack-deps:resolute-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm64.tar.gz \ - && chisel_sha384='90d2f15242594a20d634a66ed7a2bee7586cfd83498f42b284ca2dcb6ccd29772230172604881e168b5fc12ffd8dda91' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm64.tar.gz \ + && chisel_sha384='216f10d4cc461411558fa4ac03fc24e104589126f87657457877389ae8015e1eac4299fcd8557c0dfea3d33342aa3297' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/11.0/resolute-chiseled-extra/amd64/Dockerfile b/src/runtime-deps/11.0/resolute-chiseled-extra/amd64/Dockerfile index 4d882d5f3e..65f7ba54b5 100644 --- a/src/runtime-deps/11.0/resolute-chiseled-extra/amd64/Dockerfile +++ b/src/runtime-deps/11.0/resolute-chiseled-extra/amd64/Dockerfile @@ -2,18 +2,13 @@ FROM amd64/buildpack-deps:resolute-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_amd64.tar.gz \ - && chisel_sha384='f8ba3f3d04165b50d91aae7eb3bcaca2a714f1877d2af005989617937cf2e375ab30d4a50b1308263e61a61ecb79de5c' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_amd64.tar.gz \ + && chisel_sha384='8e5e8df4dc783dcfa827ca9990ba871af350738de67c51706b3c06bfd4725ab0edbddd9ad4110d1047ecfdc586f7dac6' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/11.0/resolute-chiseled-extra/arm32v7/Dockerfile b/src/runtime-deps/11.0/resolute-chiseled-extra/arm32v7/Dockerfile index 7534060c01..d70cc5655a 100644 --- a/src/runtime-deps/11.0/resolute-chiseled-extra/arm32v7/Dockerfile +++ b/src/runtime-deps/11.0/resolute-chiseled-extra/arm32v7/Dockerfile @@ -2,18 +2,13 @@ FROM arm32v7/buildpack-deps:resolute-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm.tar.gz \ - && chisel_sha384='271265a0f21b29270b5ead6b047ab56b1508ab940601a07faf74096f44038d2830863a8a958eea38b39dc405ef8b6c0d' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm.tar.gz \ + && chisel_sha384='64564dc399463daba343448533b87eaae0d21f6a32697487957c1ff9c39155269f020b880a40ca27284c6865395f4a78' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/11.0/resolute-chiseled-extra/arm64v8/Dockerfile b/src/runtime-deps/11.0/resolute-chiseled-extra/arm64v8/Dockerfile index b5da587947..6ccb910b67 100644 --- a/src/runtime-deps/11.0/resolute-chiseled-extra/arm64v8/Dockerfile +++ b/src/runtime-deps/11.0/resolute-chiseled-extra/arm64v8/Dockerfile @@ -2,18 +2,13 @@ FROM arm64v8/buildpack-deps:resolute-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm64.tar.gz \ - && chisel_sha384='90d2f15242594a20d634a66ed7a2bee7586cfd83498f42b284ca2dcb6ccd29772230172604881e168b5fc12ffd8dda91' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm64.tar.gz \ + && chisel_sha384='216f10d4cc461411558fa4ac03fc24e104589126f87657457877389ae8015e1eac4299fcd8557c0dfea3d33342aa3297' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/11.0/resolute-chiseled/amd64/Dockerfile b/src/runtime-deps/11.0/resolute-chiseled/amd64/Dockerfile index cbac1c1832..6095e97e88 100644 --- a/src/runtime-deps/11.0/resolute-chiseled/amd64/Dockerfile +++ b/src/runtime-deps/11.0/resolute-chiseled/amd64/Dockerfile @@ -2,18 +2,13 @@ FROM amd64/buildpack-deps:resolute-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_amd64.tar.gz \ - && chisel_sha384='f8ba3f3d04165b50d91aae7eb3bcaca2a714f1877d2af005989617937cf2e375ab30d4a50b1308263e61a61ecb79de5c' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_amd64.tar.gz \ + && chisel_sha384='8e5e8df4dc783dcfa827ca9990ba871af350738de67c51706b3c06bfd4725ab0edbddd9ad4110d1047ecfdc586f7dac6' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/11.0/resolute-chiseled/arm32v7/Dockerfile b/src/runtime-deps/11.0/resolute-chiseled/arm32v7/Dockerfile index 439e7f9669..56918f1074 100644 --- a/src/runtime-deps/11.0/resolute-chiseled/arm32v7/Dockerfile +++ b/src/runtime-deps/11.0/resolute-chiseled/arm32v7/Dockerfile @@ -2,18 +2,13 @@ FROM arm32v7/buildpack-deps:resolute-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm.tar.gz \ - && chisel_sha384='271265a0f21b29270b5ead6b047ab56b1508ab940601a07faf74096f44038d2830863a8a958eea38b39dc405ef8b6c0d' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm.tar.gz \ + && chisel_sha384='64564dc399463daba343448533b87eaae0d21f6a32697487957c1ff9c39155269f020b880a40ca27284c6865395f4a78' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/11.0/resolute-chiseled/arm64v8/Dockerfile b/src/runtime-deps/11.0/resolute-chiseled/arm64v8/Dockerfile index df21d602da..c460be0c1e 100644 --- a/src/runtime-deps/11.0/resolute-chiseled/arm64v8/Dockerfile +++ b/src/runtime-deps/11.0/resolute-chiseled/arm64v8/Dockerfile @@ -2,18 +2,13 @@ FROM arm64v8/buildpack-deps:resolute-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm64.tar.gz \ - && chisel_sha384='90d2f15242594a20d634a66ed7a2bee7586cfd83498f42b284ca2dcb6ccd29772230172604881e168b5fc12ffd8dda91' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm64.tar.gz \ + && chisel_sha384='216f10d4cc461411558fa4ac03fc24e104589126f87657457877389ae8015e1eac4299fcd8557c0dfea3d33342aa3297' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/8.0/jammy-chiseled-extra/amd64/Dockerfile b/src/runtime-deps/8.0/jammy-chiseled-extra/amd64/Dockerfile index 46000660ab..e505eabdd2 100644 --- a/src/runtime-deps/8.0/jammy-chiseled-extra/amd64/Dockerfile +++ b/src/runtime-deps/8.0/jammy-chiseled-extra/amd64/Dockerfile @@ -2,18 +2,13 @@ FROM amd64/buildpack-deps:jammy-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_amd64.tar.gz \ - && chisel_sha384='f8ba3f3d04165b50d91aae7eb3bcaca2a714f1877d2af005989617937cf2e375ab30d4a50b1308263e61a61ecb79de5c' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_amd64.tar.gz \ + && chisel_sha384='8e5e8df4dc783dcfa827ca9990ba871af350738de67c51706b3c06bfd4725ab0edbddd9ad4110d1047ecfdc586f7dac6' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/8.0/jammy-chiseled-extra/arm32v7/Dockerfile b/src/runtime-deps/8.0/jammy-chiseled-extra/arm32v7/Dockerfile index a6c99726f5..27650d1176 100644 --- a/src/runtime-deps/8.0/jammy-chiseled-extra/arm32v7/Dockerfile +++ b/src/runtime-deps/8.0/jammy-chiseled-extra/arm32v7/Dockerfile @@ -2,18 +2,13 @@ FROM arm32v7/buildpack-deps:jammy-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm.tar.gz \ - && chisel_sha384='271265a0f21b29270b5ead6b047ab56b1508ab940601a07faf74096f44038d2830863a8a958eea38b39dc405ef8b6c0d' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm.tar.gz \ + && chisel_sha384='64564dc399463daba343448533b87eaae0d21f6a32697487957c1ff9c39155269f020b880a40ca27284c6865395f4a78' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/8.0/jammy-chiseled-extra/arm64v8/Dockerfile b/src/runtime-deps/8.0/jammy-chiseled-extra/arm64v8/Dockerfile index 15bdf4e473..5bf06a8323 100644 --- a/src/runtime-deps/8.0/jammy-chiseled-extra/arm64v8/Dockerfile +++ b/src/runtime-deps/8.0/jammy-chiseled-extra/arm64v8/Dockerfile @@ -2,18 +2,13 @@ FROM arm64v8/buildpack-deps:jammy-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm64.tar.gz \ - && chisel_sha384='90d2f15242594a20d634a66ed7a2bee7586cfd83498f42b284ca2dcb6ccd29772230172604881e168b5fc12ffd8dda91' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm64.tar.gz \ + && chisel_sha384='216f10d4cc461411558fa4ac03fc24e104589126f87657457877389ae8015e1eac4299fcd8557c0dfea3d33342aa3297' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/8.0/jammy-chiseled/amd64/Dockerfile b/src/runtime-deps/8.0/jammy-chiseled/amd64/Dockerfile index 147081ad6b..51746e4daa 100644 --- a/src/runtime-deps/8.0/jammy-chiseled/amd64/Dockerfile +++ b/src/runtime-deps/8.0/jammy-chiseled/amd64/Dockerfile @@ -2,18 +2,13 @@ FROM amd64/buildpack-deps:jammy-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_amd64.tar.gz \ - && chisel_sha384='f8ba3f3d04165b50d91aae7eb3bcaca2a714f1877d2af005989617937cf2e375ab30d4a50b1308263e61a61ecb79de5c' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_amd64.tar.gz \ + && chisel_sha384='8e5e8df4dc783dcfa827ca9990ba871af350738de67c51706b3c06bfd4725ab0edbddd9ad4110d1047ecfdc586f7dac6' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/8.0/jammy-chiseled/arm32v7/Dockerfile b/src/runtime-deps/8.0/jammy-chiseled/arm32v7/Dockerfile index 4acfe4e0ef..717ffc148c 100644 --- a/src/runtime-deps/8.0/jammy-chiseled/arm32v7/Dockerfile +++ b/src/runtime-deps/8.0/jammy-chiseled/arm32v7/Dockerfile @@ -2,18 +2,13 @@ FROM arm32v7/buildpack-deps:jammy-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm.tar.gz \ - && chisel_sha384='271265a0f21b29270b5ead6b047ab56b1508ab940601a07faf74096f44038d2830863a8a958eea38b39dc405ef8b6c0d' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm.tar.gz \ + && chisel_sha384='64564dc399463daba343448533b87eaae0d21f6a32697487957c1ff9c39155269f020b880a40ca27284c6865395f4a78' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/8.0/jammy-chiseled/arm64v8/Dockerfile b/src/runtime-deps/8.0/jammy-chiseled/arm64v8/Dockerfile index 365e72d305..6ebdf8c44d 100644 --- a/src/runtime-deps/8.0/jammy-chiseled/arm64v8/Dockerfile +++ b/src/runtime-deps/8.0/jammy-chiseled/arm64v8/Dockerfile @@ -2,18 +2,13 @@ FROM arm64v8/buildpack-deps:jammy-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm64.tar.gz \ - && chisel_sha384='90d2f15242594a20d634a66ed7a2bee7586cfd83498f42b284ca2dcb6ccd29772230172604881e168b5fc12ffd8dda91' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm64.tar.gz \ + && chisel_sha384='216f10d4cc461411558fa4ac03fc24e104589126f87657457877389ae8015e1eac4299fcd8557c0dfea3d33342aa3297' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/8.0/noble-chiseled-extra/amd64/Dockerfile b/src/runtime-deps/8.0/noble-chiseled-extra/amd64/Dockerfile index d3c1965df4..af9b256f69 100644 --- a/src/runtime-deps/8.0/noble-chiseled-extra/amd64/Dockerfile +++ b/src/runtime-deps/8.0/noble-chiseled-extra/amd64/Dockerfile @@ -2,18 +2,13 @@ FROM amd64/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_amd64.tar.gz \ - && chisel_sha384='f8ba3f3d04165b50d91aae7eb3bcaca2a714f1877d2af005989617937cf2e375ab30d4a50b1308263e61a61ecb79de5c' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_amd64.tar.gz \ + && chisel_sha384='8e5e8df4dc783dcfa827ca9990ba871af350738de67c51706b3c06bfd4725ab0edbddd9ad4110d1047ecfdc586f7dac6' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/8.0/noble-chiseled-extra/arm64v8/Dockerfile b/src/runtime-deps/8.0/noble-chiseled-extra/arm64v8/Dockerfile index 14ded9b63c..f584ac1e6d 100644 --- a/src/runtime-deps/8.0/noble-chiseled-extra/arm64v8/Dockerfile +++ b/src/runtime-deps/8.0/noble-chiseled-extra/arm64v8/Dockerfile @@ -2,18 +2,13 @@ FROM arm64v8/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm64.tar.gz \ - && chisel_sha384='90d2f15242594a20d634a66ed7a2bee7586cfd83498f42b284ca2dcb6ccd29772230172604881e168b5fc12ffd8dda91' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm64.tar.gz \ + && chisel_sha384='216f10d4cc461411558fa4ac03fc24e104589126f87657457877389ae8015e1eac4299fcd8557c0dfea3d33342aa3297' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/8.0/noble-chiseled/amd64/Dockerfile b/src/runtime-deps/8.0/noble-chiseled/amd64/Dockerfile index e08a2a8def..d4f0eb6f8e 100644 --- a/src/runtime-deps/8.0/noble-chiseled/amd64/Dockerfile +++ b/src/runtime-deps/8.0/noble-chiseled/amd64/Dockerfile @@ -2,18 +2,13 @@ FROM amd64/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_amd64.tar.gz \ - && chisel_sha384='f8ba3f3d04165b50d91aae7eb3bcaca2a714f1877d2af005989617937cf2e375ab30d4a50b1308263e61a61ecb79de5c' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_amd64.tar.gz \ + && chisel_sha384='8e5e8df4dc783dcfa827ca9990ba871af350738de67c51706b3c06bfd4725ab0edbddd9ad4110d1047ecfdc586f7dac6' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/8.0/noble-chiseled/arm64v8/Dockerfile b/src/runtime-deps/8.0/noble-chiseled/arm64v8/Dockerfile index bb8b966a38..f4cd61522a 100644 --- a/src/runtime-deps/8.0/noble-chiseled/arm64v8/Dockerfile +++ b/src/runtime-deps/8.0/noble-chiseled/arm64v8/Dockerfile @@ -2,18 +2,13 @@ FROM arm64v8/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm64.tar.gz \ - && chisel_sha384='90d2f15242594a20d634a66ed7a2bee7586cfd83498f42b284ca2dcb6ccd29772230172604881e168b5fc12ffd8dda91' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm64.tar.gz \ + && chisel_sha384='216f10d4cc461411558fa4ac03fc24e104589126f87657457877389ae8015e1eac4299fcd8557c0dfea3d33342aa3297' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/9.0/noble-chiseled-extra/amd64/Dockerfile b/src/runtime-deps/9.0/noble-chiseled-extra/amd64/Dockerfile index 0a6914ef42..0fa2a48fbe 100644 --- a/src/runtime-deps/9.0/noble-chiseled-extra/amd64/Dockerfile +++ b/src/runtime-deps/9.0/noble-chiseled-extra/amd64/Dockerfile @@ -2,18 +2,13 @@ FROM amd64/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_amd64.tar.gz \ - && chisel_sha384='f8ba3f3d04165b50d91aae7eb3bcaca2a714f1877d2af005989617937cf2e375ab30d4a50b1308263e61a61ecb79de5c' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_amd64.tar.gz \ + && chisel_sha384='8e5e8df4dc783dcfa827ca9990ba871af350738de67c51706b3c06bfd4725ab0edbddd9ad4110d1047ecfdc586f7dac6' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/9.0/noble-chiseled-extra/arm32v7/Dockerfile b/src/runtime-deps/9.0/noble-chiseled-extra/arm32v7/Dockerfile index bb2c087e9e..ac1d483134 100644 --- a/src/runtime-deps/9.0/noble-chiseled-extra/arm32v7/Dockerfile +++ b/src/runtime-deps/9.0/noble-chiseled-extra/arm32v7/Dockerfile @@ -2,18 +2,13 @@ FROM arm32v7/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm.tar.gz \ - && chisel_sha384='271265a0f21b29270b5ead6b047ab56b1508ab940601a07faf74096f44038d2830863a8a958eea38b39dc405ef8b6c0d' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm.tar.gz \ + && chisel_sha384='64564dc399463daba343448533b87eaae0d21f6a32697487957c1ff9c39155269f020b880a40ca27284c6865395f4a78' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/9.0/noble-chiseled-extra/arm64v8/Dockerfile b/src/runtime-deps/9.0/noble-chiseled-extra/arm64v8/Dockerfile index 1158d6fedf..f1c8efd1aa 100644 --- a/src/runtime-deps/9.0/noble-chiseled-extra/arm64v8/Dockerfile +++ b/src/runtime-deps/9.0/noble-chiseled-extra/arm64v8/Dockerfile @@ -2,18 +2,13 @@ FROM arm64v8/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm64.tar.gz \ - && chisel_sha384='90d2f15242594a20d634a66ed7a2bee7586cfd83498f42b284ca2dcb6ccd29772230172604881e168b5fc12ffd8dda91' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm64.tar.gz \ + && chisel_sha384='216f10d4cc461411558fa4ac03fc24e104589126f87657457877389ae8015e1eac4299fcd8557c0dfea3d33342aa3297' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/9.0/noble-chiseled/amd64/Dockerfile b/src/runtime-deps/9.0/noble-chiseled/amd64/Dockerfile index a6d98d7cf6..b9e27fbc02 100644 --- a/src/runtime-deps/9.0/noble-chiseled/amd64/Dockerfile +++ b/src/runtime-deps/9.0/noble-chiseled/amd64/Dockerfile @@ -2,18 +2,13 @@ FROM amd64/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_amd64.tar.gz \ - && chisel_sha384='f8ba3f3d04165b50d91aae7eb3bcaca2a714f1877d2af005989617937cf2e375ab30d4a50b1308263e61a61ecb79de5c' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_amd64.tar.gz \ + && chisel_sha384='8e5e8df4dc783dcfa827ca9990ba871af350738de67c51706b3c06bfd4725ab0edbddd9ad4110d1047ecfdc586f7dac6' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/9.0/noble-chiseled/arm32v7/Dockerfile b/src/runtime-deps/9.0/noble-chiseled/arm32v7/Dockerfile index 2ba3f2991a..8037b71e00 100644 --- a/src/runtime-deps/9.0/noble-chiseled/arm32v7/Dockerfile +++ b/src/runtime-deps/9.0/noble-chiseled/arm32v7/Dockerfile @@ -2,18 +2,13 @@ FROM arm32v7/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm.tar.gz \ - && chisel_sha384='271265a0f21b29270b5ead6b047ab56b1508ab940601a07faf74096f44038d2830863a8a958eea38b39dc405ef8b6c0d' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm.tar.gz \ + && chisel_sha384='64564dc399463daba343448533b87eaae0d21f6a32697487957c1ff9c39155269f020b880a40ca27284c6865395f4a78' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/src/runtime-deps/9.0/noble-chiseled/arm64v8/Dockerfile b/src/runtime-deps/9.0/noble-chiseled/arm64v8/Dockerfile index ada99c2f1d..bb02f513dc 100644 --- a/src/runtime-deps/9.0/noble-chiseled/arm64v8/Dockerfile +++ b/src/runtime-deps/9.0/noble-chiseled/arm64v8/Dockerfile @@ -2,18 +2,13 @@ FROM arm64v8/buildpack-deps:noble-curl AS chisel RUN apt-get update && apt-get install -y file -RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.5.0/chisel_v1.5.0_linux_arm64.tar.gz \ - && chisel_sha384='90d2f15242594a20d634a66ed7a2bee7586cfd83498f42b284ca2dcb6ccd29772230172604881e168b5fc12ffd8dda91' \ +RUN curl --fail --show-error --location --output chisel.tar.gz https://github.com/canonical/chisel/releases/download/v1.4.2/chisel_v1.4.2_linux_arm64.tar.gz \ + && chisel_sha384='216f10d4cc461411558fa4ac03fc24e104589126f87657457877389ae8015e1eac4299fcd8557c0dfea3d33342aa3297' \ && echo "$chisel_sha384 chisel.tar.gz" | sha384sum -c - \ && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v1.2.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/AspireDashboardManifestTests.cs b/tests/Microsoft.DotNet.Docker.Tests/AspireDashboardManifestTests.cs deleted file mode 100644 index aea4a37ebf..0000000000 --- a/tests/Microsoft.DotNet.Docker.Tests/AspireDashboardManifestTests.cs +++ /dev/null @@ -1,68 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// 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.Linq; -using Newtonsoft.Json.Linq; -using Xunit; - -#nullable enable - -namespace Microsoft.DotNet.Docker.Tests; - -[Trait("Category", "pre-build")] -public sealed class AspireDashboardManifestTests -{ - private const string AspireDashboardId = "aspire-dashboard"; - private const string SyndicatedRepoVariable = "$(syndicatedAspireDashboardRepo)"; - - [Theory] - [InlineData("", "aspire/dashboard")] - [InlineData("/nightly", "aspire/nightly/dashboard")] - public void RepoName_UsesAspireProductFamily(string repoNameModifier, string expectedRepoName) - { - Assert.Equal(expectedRepoName, ImageData.GetRepoName(AspireDashboardId, repoNameModifier)); - } - - [Fact] - public void Manifest_UsesCanonicalRepoName() - { - string branch = Config.GetVariableValue("branch"); - string repoNameModifier = branch == "nightly" ? "/nightly" : string.Empty; - - Assert.Equal( - ImageData.GetRepoName(AspireDashboardId, repoNameModifier), - GetAspireDashboardRepo().Value("name")); - } - - [Fact] - public void LegacySyndication_IsLimitedToAspire13() - { - int majorVersion = int.Parse(Config.GetVariableValue("aspire-dashboard|major-tag")); - JObject aspireDashboardRepo = GetAspireDashboardRepo(); - JArray images = Assert.IsType(aspireDashboardRepo["images"]); - JObject image = Assert.IsType(Assert.Single(images)); - string? syndicatedRepo = image.Value("syndication"); - - if (majorVersion != 13) - { - Assert.Null(syndicatedRepo); - return; - } - - string branch = Config.GetVariableValue("branch"); - string expectedLegacyRepo = branch == "nightly" - ? "dotnet/nightly/aspire-dashboard" - : "dotnet/aspire-dashboard"; - - Assert.Equal( - expectedLegacyRepo, - Config.Manifest.Value["variables"]?["syndicatedAspireDashboardRepo"]?.Value()); - Assert.Equal(SyndicatedRepoVariable, syndicatedRepo); - } - - private static JObject GetAspireDashboardRepo() => - Config.Manifest.Value["repos"]! - .Children() - .Single(repo => repo.Value("id") == AspireDashboardId); -} diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-amd64-Dockerfile.approved.txt index 5ce29ab99a..0915fff97d 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-amd64-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-arm32v7-Dockerfile.approved.txt index 3987a7c154..b1a8f19a19 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-arm32v7-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-arm32v7-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-arm64v8-Dockerfile.approved.txt index ff31f2697f..d950ea2209 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-arm64v8-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt index 5b848c7d67..88505748e9 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt index e4289f4a77..690a88178a 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt index 242ac28446..3457cff01f 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-amd64-Dockerfile.approved.txt index 83b7cb65a2..0bbb0335c9 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-amd64-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-arm32v7-Dockerfile.approved.txt index 2e9cb95856..e7c0c971b0 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-arm32v7-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-arm32v7-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-arm64v8-Dockerfile.approved.txt index 2eb947bb4f..a2de6a0781 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-arm64v8-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-extra-amd64-Dockerfile.approved.txt index fe8f8fed1c..f132ffa5b0 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-extra-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-extra-amd64-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-extra-arm32v7-Dockerfile.approved.txt index 69cb65b7f3..90f4819a93 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-extra-arm32v7-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-extra-arm32v7-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-extra-arm64v8-Dockerfile.approved.txt index 8804d28693..2ebdf760ac 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-extra-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-10.0-resolute-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-amd64-Dockerfile.approved.txt index 83b7cb65a2..0bbb0335c9 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-amd64-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-arm32v7-Dockerfile.approved.txt index 2e9cb95856..e7c0c971b0 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-arm32v7-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-arm32v7-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-arm64v8-Dockerfile.approved.txt index 2eb947bb4f..a2de6a0781 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-arm64v8-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-extra-amd64-Dockerfile.approved.txt index fe8f8fed1c..f132ffa5b0 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-extra-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-extra-amd64-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-extra-arm32v7-Dockerfile.approved.txt index 69cb65b7f3..90f4819a93 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-extra-arm32v7-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-extra-arm32v7-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-extra-arm64v8-Dockerfile.approved.txt index 8804d28693..2ebdf760ac 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-extra-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-11.0-resolute-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-amd64-Dockerfile.approved.txt index d595276e1f..e29352b609 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-amd64-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-arm32v7-Dockerfile.approved.txt index b0a1b7c466..83d75d8551 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-arm32v7-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-arm32v7-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-arm64v8-Dockerfile.approved.txt index 74e9cdee6d..96fedbea7e 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-arm64v8-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-amd64-Dockerfile.approved.txt index 341b93b6b7..02ea3f99b6 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-amd64-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-arm32v7-Dockerfile.approved.txt index ece0f075e3..cd42bbbc92 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-arm32v7-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-arm32v7-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-arm64v8-Dockerfile.approved.txt index 09a633c339..ba48af63f7 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-jammy-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-amd64-Dockerfile.approved.txt index 1c3b9b99a5..3980597338 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-amd64-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-arm64v8-Dockerfile.approved.txt index 5b9fd68f31..de54b5f033 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-arm64v8-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt index d4d8800765..810bce587b 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt index 86dd99bcc9..61745162fa 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-8.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-amd64-Dockerfile.approved.txt index 840b833e95..a6535f66a1 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-amd64-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-arm32v7-Dockerfile.approved.txt index e584b2e8d8..eec076c529 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-arm32v7-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-arm32v7-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-arm64v8-Dockerfile.approved.txt index a3b391b492..f5dd7891a2 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-arm64v8-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt index f3efebd503..b23de1f73c 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-amd64-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt index f36975dddd..49fa609e33 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-arm32v7-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt index 9b21174080..0b3a3b246e 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt +++ b/tests/Microsoft.DotNet.Docker.Tests/Baselines/GeneratedArtifactTests/VerifyInternalDockerfilesOutput/runtime-deps-9.0-noble-chiseled-extra-arm64v8-Dockerfile.approved.txt @@ -8,12 +8,7 @@ RUN curl --fail --show-error --location --output chisel.tar.gz https://github.co && tar --gzip --extract --no-same-owner --file chisel.tar.gz --directory /usr/bin/ \ && rm chisel.tar.gz \ && curl --fail --show-error --location --output /usr/bin/chisel-wrapper https://raw.githubusercontent.com/canonical/rocks-toolbox/v0.0.0/chisel-wrapper \ - && chmod 755 /usr/bin/chisel-wrapper \ - # Workaround for https://github.com/canonical/rocks-toolbox/issues/55 - && sed --in-place \ - -e 's|dir="$CHISEL_CACHE_DIR/chisel/sha256"|dir="$CHISEL_CACHE_DIR/chisel"|' \ - -e 's|for f in "$dir"/\*; do|for f in "$dir"/sha*/*; do|' \ - /usr/bin/chisel-wrapper + && chmod 755 /usr/bin/chisel-wrapper RUN groupadd \ --gid=1654 \ diff --git a/tests/Microsoft.DotNet.Docker.Tests/ImageData.cs b/tests/Microsoft.DotNet.Docker.Tests/ImageData.cs index 2e6fd768dc..9dedc1e7a9 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/ImageData.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/ImageData.cs @@ -143,9 +143,7 @@ public static string GetImageName(string tag, string repoName, string repoNameMo } public static string GetRepoName(string repoName, string repoNameModifier = null) => - repoName == "aspire-dashboard" - ? $"aspire{repoNameModifier ?? GetRepoNameModifier()}/dashboard" - : $"dotnet{repoNameModifier ?? GetRepoNameModifier()}/{repoName}"; + $"dotnet{repoNameModifier ?? GetRepoNameModifier()}/{repoName}"; protected string GetTagName(string tagPrefix, string os, string tagPostfix = null) { diff --git a/tests/Microsoft.DotNet.Docker.Tests/Manifest.cs b/tests/Microsoft.DotNet.Docker.Tests/Manifest.cs index 4b46fbdc24..3fccb3ddf2 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/Manifest.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/Manifest.cs @@ -15,7 +15,6 @@ public class Manifest public class Repo { - public string Id { get; set; } = string.Empty; public string Name { get; set; } = string.Empty; public List Images { get; set; } = new List(); } @@ -24,7 +23,6 @@ public class Image { public Dictionary SharedTags { get; set; } = new Dictionary(); public string ProductVersion { get; set; } = string.Empty; - public string Syndication { get; set; } = string.Empty; public List Platforms { get; set; } = new List(); } diff --git a/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs b/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs index 2d52902c4b..8a0da029a8 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/StaticTagTests.cs @@ -32,7 +32,7 @@ public enum VersionType private const string SingleNumberRegex = @"\d+"; private const string MajorVersionRegex = SingleNumberRegex; private const string MajorMinorVersionRegex = @$"{SingleNumberRegex}\.{SingleNumberRegex}"; - private static readonly string[] ApplianceRepoIds = + private static readonly string[] ApplianceRepos = [ "monitor", "monitor-base", @@ -294,7 +294,7 @@ private static IEnumerable GetTagTestObjects(TestType testType) break; case TestType.Platform: - if (ApplianceRepoIds.Contains(repo.Id)) + if (ApplianceRepos.Any(repo.Name.Contains)) { // Only appliance repos have major version tags // Only appliance repos have floating distro tags () @@ -428,7 +428,7 @@ private static IEnumerable GetTagTestObjects(TestType testType) break; case TestType.FloatingAlpine: - if (ApplianceRepoIds.Contains(repo.Id)) + if (ApplianceRepos.Any(repo.Name.Contains)) { // Only appliance repos have major version alpine floating tags // Only appliance repos have major.minor.patch alpine floating tags @@ -482,7 +482,7 @@ private static IEnumerable GetTagTestObjects(TestType testType) break; case TestType.Version: - if (ApplianceRepoIds.Contains(repo.Id)) + if (ApplianceRepos.Any(repo.Name.Contains)) { // Only appliance repos have major version tags testObjects.Add(GetTagTestInput(