# .NET Core SDK
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS aspnetcore-build

# Copy Projects
COPY LCU.Webapps.Marketing.SPIT/LCU.Webapps.Marketing.SPIT/LCU.Webapps.Marketing.SPIT.csproj ./source/LCU.Webapps.Marketing.SPIT/LCU.Webapps.Marketing.SPIT/

# Azure Artifacts PAT for private feed restore
ARG PAT=bh2lq3jibktw67b2wdbqyfln7cd3je6lk52kijntpj43v6kimpgq
RUN dotnet nuget remove source "LCU-Internal" >/dev/null 2>&1 || true && \
    dotnet nuget add source "https://landmarkcu.pkgs.visualstudio.com/_packaging/LCU-Internal/nuget/v3/index.json" \
      --name "LCU-Internal" \
      --username "build" \
      --password "${PAT}" \
      --store-password-in-clear-text

# .NET Core Restore, use auth'd feed
RUN dotnet restore -s "https://landmarkcu.pkgs.visualstudio.com/_packaging/LCU-Internal/nuget/v3/index.json" -s "https://api.nuget.org/v3/index.json" ./source/LCU.Webapps.Marketing.SPIT/LCU.Webapps.Marketing.SPIT/LCU.Webapps.Marketing.SPIT.csproj

# Copy All Files
COPY . ./source/

# .NET Core Publish
FROM aspnetcore-build AS publish
RUN dotnet publish ./source/LCU.Webapps.Marketing.SPIT/LCU.Webapps.Marketing.SPIT/LCU.Webapps.Marketing.SPIT.csproj -c Release -o /dist

# ASP.NET Core
FROM mcr.microsoft.com/dotnet/aspnet:8.0
# Speech SDK native dependencies (glibc-based)
RUN apt-get update \
    && apt-get install -y --no-install-recommends libasound2 libuuid1 tzdata ca-certificates \
    && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=publish /dist .

# ENVIRONMENT VALUES
ENV TZ=America/Chicago
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false
ENV ASPNETCORE_ENVIRONMENT=Development
ENV ASPNETCORE_FORWARDEDHEADERS_ENABLED=true

ENTRYPOINT ["dotnet", "LCU.Webapps.Marketing.SPIT.dll"]
