FROM eclipse-temurin:21.0.12.1_1-jdk-jammy AS build WORKDIR /workspace COPY .mvn/ .mvn/ COPY mvnw pom.xml ./ RUN sed -i 's/\r$//' mvnw COPY src/ src/ COPY contracts/ contracts/ COPY schemas/ schemas/ COPY examples/contracts/ examples/contracts/ # package ejecuta pruebas unitarias; la suite de integración se ejecuta en CI con verify. RUN sh ./mvnw --batch-mode --no-transfer-progress package FROM eclipse-temurin:21.0.12.1_1-jre-jammy AS runtime RUN apt-get update \ && apt-get install -y --no-install-recommends curl \ && rm -rf /var/lib/apt/lists/* \ && groupadd --gid 10001 orchestrator \ && useradd --uid 10001 --gid orchestrator --no-create-home --shell /usr/sbin/nologin orchestrator WORKDIR /app COPY --from=build --chown=10001:10001 /workspace/target/*.jar /app/app.jar USER 10001:10001 EXPOSE 8080 HEALTHCHECK --interval=30s --timeout=5s --start-period=60s --retries=3 \ CMD curl --fail --silent --max-time 4 http://localhost:8080/actuator/health/readiness > /dev/null || exit 1 ENTRYPOINT ["java", "-jar", "/app/app.jar"]