From a846547d38d1491bcafb3e7aed8bfd125abe3a6a Mon Sep 17 00:00:00 2001 From: Pablo de la Torre Jamardo Date: Sat, 13 Sep 2025 12:29:20 +0200 Subject: [PATCH] chore(config): configure Google OAuth credentials via environment variables --- .env.example | 6 +++++- Dockerfile | 5 ++++- bootstrap/src/main/resources/application.yml | 6 ++++++ docker-compose.yml | 7 +++++++ .../config/{spring => }/UseCaseConfig.java | 2 +- .../infrastructure/mail/config/GmailConfig.java | 9 +++++++++ 6 files changed, 32 insertions(+), 3 deletions(-) rename infrastructure/src/main/java/com/pablotj/restemailbridge/infrastructure/config/{spring => }/UseCaseConfig.java (91%) create mode 100644 infrastructure/src/main/java/com/pablotj/restemailbridge/infrastructure/mail/config/GmailConfig.java diff --git a/.env.example b/.env.example index b3e8a66..1b34b9e 100644 --- a/.env.example +++ b/.env.example @@ -1,6 +1,10 @@ +SPRING_PROFILES_ACTIVE=dev + DB_NAME=EXAMPLE_DB DB_USER=EXAMPLE DB_PASSWORD=SECRET DB_HOST=127.0.0.1 DB_PORT=5432 -SPRING_PROFILES_ACTIVE=dev \ No newline at end of file + +GMAIL_OAUTH_CLIENT_ID=11111111111-1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a.apps.googleusercontent.com +GMAIL_OAUTH_CLIENT_SECRET=AAAAAA-1a1a1a1a1a1a1_A1a1_A1A1A1A1A \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 007323f..e5d8419 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,5 +6,8 @@ RUN mvn clean package -DskipTests FROM openjdk:21-jdk WORKDIR /app COPY --from=build /app/bootstrap/target/*.jar app.jar + EXPOSE 8080 -ENTRYPOINT ["java","-jar","app.jar"] \ No newline at end of file +EXPOSE 5005 + +ENTRYPOINT ["java", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005", "-jar", "app.jar"] \ No newline at end of file diff --git a/bootstrap/src/main/resources/application.yml b/bootstrap/src/main/resources/application.yml index 27eba26..6903273 100644 --- a/bootstrap/src/main/resources/application.yml +++ b/bootstrap/src/main/resources/application.yml @@ -33,6 +33,12 @@ server: context-path: /api forward-headers-strategy: framework +gmail: + oauth2: + clientId: ${GMAIL_OAUTH_CLIENT_ID} + clientSecret: ${GMAIL_OAUTH_CLIENT_SECRET} + redirectUri: http://localhost:8888/Callback + --- spring: diff --git a/docker-compose.yml b/docker-compose.yml index a7dee1a..84933eb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,6 +3,8 @@ services: build: . ports: - "8080:8080" + - "5005:5005" + - "8888:8888" depends_on: - db environment: @@ -11,8 +13,13 @@ services: DB_PORT: ${DB_PORT} DB_USER: ${DB_USER} DB_PASSWORD: ${DB_PASSWORD} + GMAIL_OAUTH_CLIENT_ID: ${GMAIL_OAUTH_CLIENT_ID} + GMAIL_OAUTH_CLIENT_SECRET: ${GMAIL_OAUTH_CLIENT_SECRET} networks: - network + volumes: + - ./tokens:/app/tokens + - ./logs:/app/logs db: image: postgres:15 ports: diff --git a/infrastructure/src/main/java/com/pablotj/restemailbridge/infrastructure/config/spring/UseCaseConfig.java b/infrastructure/src/main/java/com/pablotj/restemailbridge/infrastructure/config/UseCaseConfig.java similarity index 91% rename from infrastructure/src/main/java/com/pablotj/restemailbridge/infrastructure/config/spring/UseCaseConfig.java rename to infrastructure/src/main/java/com/pablotj/restemailbridge/infrastructure/config/UseCaseConfig.java index 7e4168a..0a6d6f3 100644 --- a/infrastructure/src/main/java/com/pablotj/restemailbridge/infrastructure/config/spring/UseCaseConfig.java +++ b/infrastructure/src/main/java/com/pablotj/restemailbridge/infrastructure/config/UseCaseConfig.java @@ -1,4 +1,4 @@ -package com.pablotj.restemailbridge.infrastructure.config.spring; +package com.pablotj.restemailbridge.infrastructure.config; import com.pablotj.restemailbridge.application.port.EmailConfigurationPort; import com.pablotj.restemailbridge.application.usecase.SendEmailUseCase; diff --git a/infrastructure/src/main/java/com/pablotj/restemailbridge/infrastructure/mail/config/GmailConfig.java b/infrastructure/src/main/java/com/pablotj/restemailbridge/infrastructure/mail/config/GmailConfig.java new file mode 100644 index 0000000..8c1c0a1 --- /dev/null +++ b/infrastructure/src/main/java/com/pablotj/restemailbridge/infrastructure/mail/config/GmailConfig.java @@ -0,0 +1,9 @@ +package com.pablotj.restemailbridge.infrastructure.mail.config; + +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +@Configuration +@EnableConfigurationProperties(GmailOAuth2Properties.class) +public class GmailConfig { +}