From 4723af5bcaa70aa05daccceff96360ad70b584c8 Mon Sep 17 00:00:00 2001 From: "Zimin A.N." Date: Sun, 3 May 2026 16:10:21 +0300 Subject: [PATCH] =?UTF-8?q?feat(docker):=20Dockerfile=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20read-api=20=D0=B8=20projection-writer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Multi-stage build (Maven 3.9.9 + Eclipse Temurin 21 → eclipse-temurin:21-jre): - ordinis-read-api/Dockerfile (port 8081) - ordinis-projection-writer/Dockerfile (port 8082) JVM args: -XX:+UseZGC -XX:MaxRAMPercentage=75 (low-pause GC + container-aware memory). MaxRAMPercentage важен потому что Helm задаёт container memory limit через resources.limits.memory; JVM должна respect'ить это. Helm chart (terravault/ordinis-infra/charts/ordinis/) теперь имеет полный набор images для deploy: registry.k8s.265.nstart.local/terravault/ordinis-app: registry.k8s.265.nstart.local/terravault/ordinis-read-api: registry.k8s.265.nstart.local/terravault/ordinis-projection-writer: registry.k8s.265.nstart.local/terravault/ordinis-migrations: --- ordinis-projection-writer/Dockerfile | 20 ++++++++++++++++++++ ordinis-read-api/Dockerfile | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 ordinis-projection-writer/Dockerfile create mode 100644 ordinis-read-api/Dockerfile diff --git a/ordinis-projection-writer/Dockerfile b/ordinis-projection-writer/Dockerfile new file mode 100644 index 0000000..8450175 --- /dev/null +++ b/ordinis-projection-writer/Dockerfile @@ -0,0 +1,20 @@ +FROM maven:3.9.9-eclipse-temurin-21 AS build +WORKDIR /build +COPY pom.xml ./ +COPY ordinis-domain ./ordinis-domain +COPY ordinis-validation ./ordinis-validation +COPY ordinis-events-api ./ordinis-events-api +COPY ordinis-outbox ./ordinis-outbox +COPY ordinis-rest-api ./ordinis-rest-api +COPY ordinis-cuod-bundle ./ordinis-cuod-bundle +COPY ordinis-app ./ordinis-app +COPY ordinis-read-api ./ordinis-read-api +COPY ordinis-migrations ./ordinis-migrations +COPY ordinis-projection-writer ./ordinis-projection-writer +RUN mvn -B -pl ordinis-projection-writer -am package -DskipTests + +FROM eclipse-temurin:21-jre +WORKDIR /app +COPY --from=build /build/ordinis-projection-writer/target/*.jar /app/app.jar +EXPOSE 8082 +ENTRYPOINT ["java", "-XX:+UseZGC", "-XX:MaxRAMPercentage=75", "-jar", "/app/app.jar"] diff --git a/ordinis-read-api/Dockerfile b/ordinis-read-api/Dockerfile new file mode 100644 index 0000000..eacd80c --- /dev/null +++ b/ordinis-read-api/Dockerfile @@ -0,0 +1,20 @@ +FROM maven:3.9.9-eclipse-temurin-21 AS build +WORKDIR /build +COPY pom.xml ./ +COPY ordinis-domain ./ordinis-domain +COPY ordinis-validation ./ordinis-validation +COPY ordinis-events-api ./ordinis-events-api +COPY ordinis-outbox ./ordinis-outbox +COPY ordinis-rest-api ./ordinis-rest-api +COPY ordinis-cuod-bundle ./ordinis-cuod-bundle +COPY ordinis-app ./ordinis-app +COPY ordinis-projection-writer ./ordinis-projection-writer +COPY ordinis-migrations ./ordinis-migrations +COPY ordinis-read-api ./ordinis-read-api +RUN mvn -B -pl ordinis-read-api -am package -DskipTests + +FROM eclipse-temurin:21-jre +WORKDIR /app +COPY --from=build /build/ordinis-read-api/target/*.jar /app/app.jar +EXPOSE 8081 +ENTRYPOINT ["java", "-XX:+UseZGC", "-XX:MaxRAMPercentage=75", "-jar", "/app/app.jar"]