diff --git a/scenarios/tls.benchmarks.yml b/scenarios/tls.benchmarks.yml index 2d8bd9ac1..6338a587e 100644 --- a/scenarios/tls.benchmarks.yml +++ b/scenarios/tls.benchmarks.yml @@ -208,6 +208,21 @@ scenarios: - OPENSSL_VERSION="3.0.15-r1" # lookup for openssl+branch version here https://pkgs.alpinelinux.org/packages?name=openssl&branch=v3.20&repo=&arch=x86_64 - ALPINE_BRANCH="v3.17" + load: + job: httpclient + variables: + path: /hello-world + serverPort: 8080 + presetHeaders: connectionclose + connections: 32 + serverScheme: https + sslProtocol: tls12 + + tls-handshakes-docker-azurelinux: + application: + job: dockerLinuxKestrelServer + # openssl version is already pre-installed with base image (latest) + dockerFile: dockerKestrel/src/BenchmarksApps/TLS/Kestrel/Dockerfile.azurelinux load: job: httpclient variables: diff --git a/src/BenchmarksApps/TLS/Kestrel/Dockerfile.azurelinux b/src/BenchmarksApps/TLS/Kestrel/Dockerfile.azurelinux new file mode 100644 index 000000000..1be70dc4b --- /dev/null +++ b/src/BenchmarksApps/TLS/Kestrel/Dockerfile.azurelinux @@ -0,0 +1,27 @@ +FROM mcr.microsoft.com/dotnet/aspnet:9.0-azurelinux3.0 AS base +USER root +WORKDIR /app +EXPOSE 8080 +EXPOSE 8081 + +# This stage is used to build the service project +FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build +ARG BUILD_CONFIGURATION=Release +WORKDIR /src +COPY ["Kestrel.csproj", "."] +RUN dotnet restore "./Kestrel.csproj" +COPY . . +WORKDIR "/src/." +RUN dotnet build "./Kestrel.csproj" -c $BUILD_CONFIGURATION -o /app/build + +# This stage is used to publish the service project to be copied to the final stage +FROM build AS publish +ARG BUILD_CONFIGURATION=Release +RUN dotnet publish "./Kestrel.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false + +# This stage is used in production or when running from VS in regular mode +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . + +ENTRYPOINT [ "dotnet", "Kestrel.dll" ]