From a729608343a7f643532c461ff65db974bccc32d3 Mon Sep 17 00:00:00 2001 From: Suraj Date: Fri, 9 May 2025 15:04:22 +0530 Subject: [PATCH 1/4] feat: add Dockerfile and update pom.xml --- Dockerfile | 22 ++++++++++++++++++++++ pom.xml | 12 ++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..29e04fd --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +# --- Stage 1: Build the application using Maven --- +FROM maven:3.9.6-eclipse-temurin-17 AS build + +WORKDIR /app + +COPY . . + +# Build the application while caching Maven dependencies to speed up future builds +RUN --mount=type=cache,target=/root/.m2 \ + mvn clean package -DENV_VAR=ci -DskipTests -Dgit.skip=true + +# --- Stage 2: Run the application with a minimal JRE image --- +FROM eclipse-temurin:17-jre + +WORKDIR /app + +# Copy the built WAR file from the build stage +COPY --from=build /app/target/*.war app.war + +EXPOSE 8080 + +ENTRYPOINT ["java", "-jar", "app.war"] diff --git a/pom.xml b/pom.xml index 186ddfe..d76412b 100644 --- a/pom.xml +++ b/pom.xml @@ -409,6 +409,18 @@ + + org.springframework.boot + spring-boot-maven-plugin + 3.2.2 + + + + repackage + + + + From 774c5a6fd9be05e9546090b5e7aa1916cf4d53f4 Mon Sep 17 00:00:00 2001 From: Suraj Date: Tue, 27 May 2025 16:59:49 +0530 Subject: [PATCH 2/4] chore: update Dockerfile and add seperate docker properties file --- Dockerfile | 3 ++- pom.xml | 21 +++++++++--------- src/main/environment/ecd_ci.properties | 1 - src/main/environment/ecd_docker.properties | 25 ++++++++++++++++++++++ 4 files changed, 38 insertions(+), 12 deletions(-) create mode 100644 src/main/environment/ecd_docker.properties diff --git a/Dockerfile b/Dockerfile index 29e04fd..5ff301f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ COPY . . # Build the application while caching Maven dependencies to speed up future builds RUN --mount=type=cache,target=/root/.m2 \ - mvn clean package -DENV_VAR=ci -DskipTests -Dgit.skip=true + mvn clean package -DENV_VAR=docker -DskipTests -Dgit.skip=true # --- Stage 2: Run the application with a minimal JRE image --- FROM eclipse-temurin:17-jre @@ -19,4 +19,5 @@ COPY --from=build /app/target/*.war app.war EXPOSE 8080 +# Run the application ENTRYPOINT ["java", "-jar", "app.war"] diff --git a/pom.xml b/pom.xml index d76412b..b97d35f 100644 --- a/pom.xml +++ b/pom.xml @@ -35,6 +35,17 @@ 3.2.2 + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-starter-logging + + + + co.elastic.logging logback-ecs-encoder @@ -43,16 +54,6 @@ - - org.slf4j - slf4j-api - 2.1.0-alpha1 - - - org.slf4j - slf4j-simple - 2.1.0-alpha1 - org.springdoc diff --git a/src/main/environment/ecd_ci.properties b/src/main/environment/ecd_ci.properties index 66a1f13..159c957 100644 --- a/src/main/environment/ecd_ci.properties +++ b/src/main/environment/ecd_ci.properties @@ -28,4 +28,3 @@ logging.file.name=@env.ECD_API_LOGGING_FILE_NAME@ springdoc.api-docs.enabled=@env.SWAGGER_DOC_ENABLED@ springdoc.swagger-ui.enabled=@env.SWAGGER_DOC_ENABLED@ - diff --git a/src/main/environment/ecd_docker.properties b/src/main/environment/ecd_docker.properties new file mode 100644 index 0000000..9262987 --- /dev/null +++ b/src/main/environment/ecd_docker.properties @@ -0,0 +1,25 @@ +# DB Connections +spring.datasource.url=${DATABASE_URL} +spring.datasource.username=${DATABASE_USERNAME} +spring.datasource.password=${DATABASE_PASSWORD} +spring.datasource.driver-class-name=com.mysql.jdbc.Driver + +# Secondary DB +secondary.datasource.username=${REPORTING_DATABASE_USERNAME} +secondary.datasource.password=${REPORTING_DATABASE_PASSWORD} +secondary.datasource.url=${REPORTING_DATABASE_URL} +secondary.datasource.driver-class-name=com.mysql.jdbc.Driver + +# API URLs +registerBeneficiaryUrl=${COMMON_API}/beneficiary/create +beneficiaryEditUrl=${COMMON_API}/beneficiary/update + +# JWT Configuration +jwt.secret=${JWT_SECRET_KEY} + +# ELK Logging +logging.file.name=${ECD_API_LOGGING_FILE_NAME} + +# Swagger Documentation +springdoc.api-docs.enabled=${SWAGGER_DOC_ENABLED} +springdoc.swagger-ui.enabled=${SWAGGER_DOC_ENABLED} \ No newline at end of file From 20ad278f48e8de04aa0c94a85a6bc59c92245596 Mon Sep 17 00:00:00 2001 From: Mithun James <1007084+drtechie@users.noreply.github.com> Date: Tue, 17 Jun 2025 12:18:35 +0530 Subject: [PATCH 3/4] fix: move redis host to env variable --- src/main/environment/ecd_ci.properties | 2 ++ src/main/environment/ecd_docker.properties | 4 +++- src/main/resources/application.properties | 1 - 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/environment/ecd_ci.properties b/src/main/environment/ecd_ci.properties index 159c957..95d8bcb 100644 --- a/src/main/environment/ecd_ci.properties +++ b/src/main/environment/ecd_ci.properties @@ -28,3 +28,5 @@ logging.file.name=@env.ECD_API_LOGGING_FILE_NAME@ springdoc.api-docs.enabled=@env.SWAGGER_DOC_ENABLED@ springdoc.swagger-ui.enabled=@env.SWAGGER_DOC_ENABLED@ + +spring.redis.host=@env.REDIS_HOST@ \ No newline at end of file diff --git a/src/main/environment/ecd_docker.properties b/src/main/environment/ecd_docker.properties index 9262987..e539dd8 100644 --- a/src/main/environment/ecd_docker.properties +++ b/src/main/environment/ecd_docker.properties @@ -22,4 +22,6 @@ logging.file.name=${ECD_API_LOGGING_FILE_NAME} # Swagger Documentation springdoc.api-docs.enabled=${SWAGGER_DOC_ENABLED} -springdoc.swagger-ui.enabled=${SWAGGER_DOC_ENABLED} \ No newline at end of file +springdoc.swagger-ui.enabled=${SWAGGER_DOC_ENABLED} + +spring.redis.host=${REDIS_HOST} \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 64ee941..4505657 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -41,7 +41,6 @@ spring.http.multipart.max-file-size=10MB spring.jackson.serialization.fail-on-empty-beans=false spring.session.store-type=redis -spring.redis.host=localhost spring.redis.port=6379 iemr.session.expiry.time.sec=7200 From bfb896860fa57fad99c891d955030babf8224a81 Mon Sep 17 00:00:00 2001 From: Mithun James <1007084+drtechie@users.noreply.github.com> Date: Tue, 17 Jun 2025 12:52:25 +0530 Subject: [PATCH 4/4] fix: sync ci and docker properties --- src/main/environment/ecd_docker.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/environment/ecd_docker.properties b/src/main/environment/ecd_docker.properties index e539dd8..6f7d879 100644 --- a/src/main/environment/ecd_docker.properties +++ b/src/main/environment/ecd_docker.properties @@ -18,6 +18,7 @@ beneficiaryEditUrl=${COMMON_API}/beneficiary/update jwt.secret=${JWT_SECRET_KEY} # ELK Logging +logging.path=logs/ logging.file.name=${ECD_API_LOGGING_FILE_NAME} # Swagger Documentation