# ── Build stage ────────────────────────────────────────────────
FROM gradle:8.11-jdk21 AS build
WORKDIR /app
COPY . .
RUN gradle shadowJar --no-daemon

# ── Runtime stage ───────────────────────────────────────────────
FROM eclipse-temurin:21-jre-jammy
WORKDIR /app
COPY --from=build /app/build/libs/*-all.jar app.jar

EXPOSE 8080
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
    CMD curl -f http://localhost:8080/health || exit 1

ENTRYPOINT ["java", \
    "-XX:+UnlockDiagnosticVMOptions", \
    "-XX:+DebugNonSafepoints", \
    "-jar", "app.jar"]
