Compare commits

..

1 Commits

Author SHA1 Message Date
cesnimda c6a8302997 chore: strip UTF-8 BOM from EF-generated migration files
CI / backend (pull_request) Successful in 57s
CI / frontend (pull_request) Successful in 12s
CI / format (pull_request) Successful in 51s
CI / db-tests (pull_request) Successful in 55s
Security / secrets (pull_request) Successful in 3s
Security / dependencies (pull_request) Successful in 56s
Security / sast (pull_request) Successful in 40s
The .editorconfig charset=utf-8 rule (added with the CI format gate) flags the BOM
that 'dotnet ef migrations' writes into generated files, failing the format check on
develop itself and thus on every PR. De-BOM all tracked source files so the gate passes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 16:27:02 +02:00
2 changed files with 0 additions and 20 deletions
-12
View File
@@ -53,16 +53,6 @@ services:
postgres: postgres:
condition: service_healthy condition: service_healthy
# One-shot: ensure the DataProtection 'keys' volume is owned by the API's non-root
# 'app' user (uid 1654). A volume created by an older root-running image is root-owned,
# which makes the app fail to read its key ring and 500s on login. Runs as root, chowns,
# exits; the api waits for it. Idempotent and cheap.
init-keys:
image: busybox
command: ["sh", "-c", "chown -R 1654:1654 /keys"]
volumes:
- keys:/keys
api: api:
build: build:
context: . context: .
@@ -89,8 +79,6 @@ services:
depends_on: depends_on:
postgres: postgres:
condition: service_healthy condition: service_healthy
init-keys:
condition: service_completed_successfully
# V-08: bind to loopback so the API is not directly reachable from the network # V-08: bind to loopback so the API is not directly reachable from the network
# (only via the frontend/nginx proxy over the internal compose network). This # (only via the frontend/nginx proxy over the internal compose network). This
# prevents external clients from bypassing the proxy to spoof X-Forwarded-* headers. # prevents external clients from bypassing the proxy to spoof X-Forwarded-* headers.
-8
View File
@@ -15,14 +15,6 @@ RUN dotnet publish src/InboxIntel.Api/InboxIntel.Api.csproj -c Release -o /app/p
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime
WORKDIR /app WORKDIR /app
# The slim aspnet:10.0 image dropped libgssapi_krb5, which Npgsql tries to load during
# connection negotiation ("Cannot load library libgssapi_krb5.so.2"). Harmless for password
# auth but noisy and a latent failure on some paths — install the Kerberos runtime lib.
RUN apt-get update \
&& apt-get install -y --no-install-recommends libgssapi-krb5-2 \
&& rm -rf /var/lib/apt/lists/*
COPY --from=build /app/publish . COPY --from=build /app/publish .
# V-12: run as the non-root 'app' user shipped in the .NET 8 images. Pre-create the # V-12: run as the non-root 'app' user shipped in the .NET 8 images. Pre-create the