From dd36247bf7904e237855383a305f695ebdb7b641 Mon Sep 17 00:00:00 2001 From: jade Date: Mon, 10 Aug 2026 09:45:13 +0900 Subject: [PATCH] feat: standardize glow profile configuration --- .../dap/lib/util/PodScaffolder.java | 30 +++++++++++ .../resources/glow/application-glow-dev.yml | 18 ++++++- .../resources/glow/application-glow-local.yml | 18 ++++++- .../resources/glow/application-glow-prod.yml | 18 ++++++- .../resources/glow/application-glow-test.yml | 18 ++++++- .../main/resources/glow/application-glow.yml | 53 +++++++------------ .../dap/lib/util/PodScaffolderTest.java | 8 +++ .../src/main/resources/application-dev.yml | 12 +++-- .../src/main/resources/application-local.yml | 8 ++- .../src/main/resources/application-prod.yml | 8 +++ .../src/main/resources/application-test.yml | 8 +++ .../src/main/resources/application-dev.yml | 12 +++-- .../src/main/resources/application-local.yml | 10 +++- .../src/main/resources/application-prod.yml | 16 ++++++ .../src/main/resources/application-test.yml | 16 ++++++ 15 files changed, 200 insertions(+), 53 deletions(-) create mode 100644 dap-was-sms/src/main/resources/application-prod.yml create mode 100644 dap-was-sms/src/main/resources/application-test.yml diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/util/PodScaffolder.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/util/PodScaffolder.java index c110a636..09bf3a8e 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/util/PodScaffolder.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/util/PodScaffolder.java @@ -150,6 +150,12 @@ public class PodScaffolder { String applicationLocalYml = """ # Local 환경 전용 설정 (H2 메모리 DB 등) spring: + config: + activate: + on-profile: local + import: + - classpath:glow/application-glow.yml + - classpath:glow/application-glow-local.yml datasource: url: jdbc:p6spy:h2:mem:testdb;DB_CLOSE_DELAY=-1; driverClassName: com.p6spy.engine.spy.P6SpyDriver @@ -195,6 +201,14 @@ public class PodScaffolder { server: port: ${PORT:%s} + spring: + config: + activate: + on-profile: dev + import: + - classpath:glow/application-glow.yml + - classpath:glow/application-glow-dev.yml + axhub: gateway: url: https://axhubmcp.devjun.net @@ -236,6 +250,14 @@ public class PodScaffolder { server: port: ${PORT:%s} + spring: + config: + activate: + on-profile: test + import: + - classpath:glow/application-glow.yml + - classpath:glow/application-glow-test.yml + axhub: gateway: url: ${AXHUB_GATEWAY_URL} @@ -248,6 +270,14 @@ public class PodScaffolder { server: port: ${PORT:%s} + spring: + config: + activate: + on-profile: prod + import: + - classpath:glow/application-glow.yml + - classpath:glow/application-glow-prod.yml + axhub: gateway: url: ${AXHUB_GATEWAY_URL} diff --git a/dap-was-lib/src/main/resources/glow/application-glow-dev.yml b/dap-was-lib/src/main/resources/glow/application-glow-dev.yml index 693b2abf..e8b864cf 100644 --- a/dap-was-lib/src/main/resources/glow/application-glow-dev.yml +++ b/dap-was-lib/src/main/resources/glow/application-glow-dev.yml @@ -1,5 +1,19 @@ -# Glow 개발 환경 확장 설정 +# Glow 개발 환경 설정 spring: config: activate: - on-profile: dev \ No newline at end of file + on-profile: dev + +glow: + communication: + common: + env-type: D + mci: + host: ${GLOW_COMMUNICATION_MCI_HOST:https://dev-ichmci.shinhanlife.co.kr} + port: ${GLOW_COMMUNICATION_MCI_PORT:26160} + extmci: + host: ${GLOW_COMMUNICATION_EXTMCI_HOST:http://host.docker.internal} + port: ${GLOW_COMMUNICATION_EXTMCI_PORT:8080} + eai: + host: ${GLOW_COMMUNICATION_EAI_HOST:tcp://host.docker.internal} + port: ${GLOW_COMMUNICATION_EAI_PORT:9999} \ No newline at end of file diff --git a/dap-was-lib/src/main/resources/glow/application-glow-local.yml b/dap-was-lib/src/main/resources/glow/application-glow-local.yml index 5db7f933..639fdd02 100644 --- a/dap-was-lib/src/main/resources/glow/application-glow-local.yml +++ b/dap-was-lib/src/main/resources/glow/application-glow-local.yml @@ -1,5 +1,19 @@ -# Glow 로컬 환경 확장 설정 +# Glow 로컬 환경 설정 spring: config: activate: - on-profile: local \ No newline at end of file + on-profile: local + +glow: + communication: + common: + env-type: D + mci: + host: ${GLOW_COMMUNICATION_MCI_HOST:http://localhost} + port: ${GLOW_COMMUNICATION_MCI_PORT:8080} + extmci: + host: ${GLOW_COMMUNICATION_EXTMCI_HOST:http://localhost} + port: ${GLOW_COMMUNICATION_EXTMCI_PORT:8080} + eai: + host: ${GLOW_COMMUNICATION_EAI_HOST:http://localhost} + port: ${GLOW_COMMUNICATION_EAI_PORT:8080} \ No newline at end of file diff --git a/dap-was-lib/src/main/resources/glow/application-glow-prod.yml b/dap-was-lib/src/main/resources/glow/application-glow-prod.yml index 68ddaf64..cf51ecb2 100644 --- a/dap-was-lib/src/main/resources/glow/application-glow-prod.yml +++ b/dap-was-lib/src/main/resources/glow/application-glow-prod.yml @@ -1,5 +1,19 @@ -# Glow 운영 환경 확장 설정 +# Glow 운영 환경 설정 spring: config: activate: - on-profile: prod \ No newline at end of file + on-profile: prod + +glow: + communication: + common: + env-type: P + mci: + host: ${GLOW_COMMUNICATION_MCI_HOST} + port: ${GLOW_COMMUNICATION_MCI_PORT} + extmci: + host: ${GLOW_COMMUNICATION_EXTMCI_HOST} + port: ${GLOW_COMMUNICATION_EXTMCI_PORT} + eai: + host: ${GLOW_COMMUNICATION_EAI_HOST} + port: ${GLOW_COMMUNICATION_EAI_PORT} \ No newline at end of file diff --git a/dap-was-lib/src/main/resources/glow/application-glow-test.yml b/dap-was-lib/src/main/resources/glow/application-glow-test.yml index c0e70f0f..60084090 100644 --- a/dap-was-lib/src/main/resources/glow/application-glow-test.yml +++ b/dap-was-lib/src/main/resources/glow/application-glow-test.yml @@ -1,5 +1,19 @@ -# Glow 테스트 환경 확장 설정 +# Glow 테스트 환경 설정 spring: config: activate: - on-profile: test \ No newline at end of file + on-profile: test + +glow: + communication: + common: + env-type: T + mci: + host: ${GLOW_COMMUNICATION_MCI_HOST} + port: ${GLOW_COMMUNICATION_MCI_PORT} + extmci: + host: ${GLOW_COMMUNICATION_EXTMCI_HOST} + port: ${GLOW_COMMUNICATION_EXTMCI_PORT} + eai: + host: ${GLOW_COMMUNICATION_EAI_HOST} + port: ${GLOW_COMMUNICATION_EAI_PORT} \ No newline at end of file diff --git a/dap-was-lib/src/main/resources/glow/application-glow.yml b/dap-was-lib/src/main/resources/glow/application-glow.yml index 508f46c3..e73d3223 100644 --- a/dap-was-lib/src/main/resources/glow/application-glow.yml +++ b/dap-was-lib/src/main/resources/glow/application-glow.yml @@ -1,9 +1,5 @@ -# ============================================================================== -# [AXHub 공통 환경 설정 파일] (Glow Framework 연동용) -# 이 파일은 axhub-tool-core에 위치하며, 각 툴 파드들이 상속받아 사용합니다. -# ============================================================================== - -# 1. 로깅(Logging) 공통 설정 +# AX HUB Tool Pod 공통 Glow Framework 설정입니다. +# Tool Pod의 application-{profile}.yml에서 이 파일과 환경별 Glow 설정을 함께 import합니다. logging: level: root: INFO @@ -13,42 +9,31 @@ logging: pattern: console: "[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%thread] %logger{36} - %msg%n" -# 2. Redis 공통 설정 (Gateway 연동 및 캐싱) spring: data: redis: - host: 127.0.0.1 # TODO: 실제 Redis 망 IP로 변경 - port: 6379 # TODO: 실제 Redis 포트로 변경 - password: "" # TODO: 실제 비밀번호 입력 + host: ${SPRING_DATA_REDIS_HOST:127.0.0.1} + port: ${SPRING_DATA_REDIS_PORT:6379} + password: ${SPRING_DATA_REDIS_PASSWORD:} -# 3. 신한라이프 Glow Framework 통신 (MCI / EAI) 설정 glow: - communication: #Communication 설정 - common: - env-type: D # 대내표준 헤더의 환경 타입정보 (D: 개발, T: 테스트, P: 운영) - http: # HTTP 비표준 통신 설정 - connection-timeout: 5 # 연결 타임아웃 시간 (초 단위) - read-timeout: 5 # 읽기 타임아웃 시간 (초 단위) - mci: # 개발계 대내 MCI 통신 설정 - host: https://dev-ichmci.shinhanlife.co.kr - port: 26160 + communication: + http: + connection-timeout: 5 + read-timeout: 5 + mci: uri: /ntl_mci/dap_rcv receive-uri: /itrf/mciReceive connection-timeout: 300 read-timeout: 300 encoding: UTF-8 - extmci: # 대외MCI 통신 설정 - host: http://host.docker.internal # 대외MCI 호스트 주소 - port: 8080 # 대외MCI 포트 번호 - uri: /extmci # 대외MCI URI 정보 - json-uri: /extmciJson # 대외MCI JSON방식 URI 정보 - receive-uri: /app/extMciReceive # 대외MCI 수신 URI - connection-timeout: 5 # 연결 타임아웃 시간 (초 단위) - read-timeout: 30 # 읽기 타임아웃 시간 (초 단위) - encoding: EUC-KR # 대외MCI 인코딩 정보 - eai: # EAI 통신 설정 - host: tcp://host.docker.internal # EAI 호스트 주소 (TODO: 실제 주소로 변경) - port: 9999 # EAI 포트 번호 + extmci: + uri: /extmci + json-uri: /extmciJson + receive-uri: /app/extMciReceive + connection-timeout: 5 + read-timeout: 30 + encoding: EUC-KR websocket: - endpoint: "/ws-glow" - allowed-origins: "*" + endpoint: /ws-glow + allowed-origins: "*" \ No newline at end of file diff --git a/dap-was-lib/src/test/java/io/shinhanlife/dap/lib/util/PodScaffolderTest.java b/dap-was-lib/src/test/java/io/shinhanlife/dap/lib/util/PodScaffolderTest.java index f7a8807a..5d708d4b 100644 --- a/dap-was-lib/src/test/java/io/shinhanlife/dap/lib/util/PodScaffolderTest.java +++ b/dap-was-lib/src/test/java/io/shinhanlife/dap/lib/util/PodScaffolderTest.java @@ -41,5 +41,13 @@ class PodScaffolderTest { .contains("${AXHUB_GATEWAY_URL}")); assertTrue(Files.readString(resources.resolve("application-prod.yml")) .contains("${AXHUB_TOOL_URL}")); + assertTrue(Files.readString(resources.resolve("application-local.yml")) + .contains("classpath:glow/application-glow-local.yml")); + assertTrue(Files.readString(resources.resolve("application-dev.yml")) + .contains("classpath:glow/application-glow-dev.yml")); + assertTrue(Files.readString(resources.resolve("application-test.yml")) + .contains("classpath:glow/application-glow-test.yml")); + assertTrue(Files.readString(resources.resolve("application-prod.yml")) + .contains("classpath:glow/application-glow-prod.yml")); } } diff --git a/dap-was-oth/src/main/resources/application-dev.yml b/dap-was-oth/src/main/resources/application-dev.yml index fa5ebf30..b1a82a17 100644 --- a/dap-was-oth/src/main/resources/application-dev.yml +++ b/dap-was-oth/src/main/resources/application-dev.yml @@ -6,6 +6,14 @@ axhub: gateway: url: https://axhubmcp.devjun.net +spring: + config: + activate: + on-profile: dev + import: + - classpath:glow/application-glow.yml + - classpath:glow/application-glow-dev.yml + eims: http: url: http://localhost:${server.port}/api/gateway @@ -22,7 +30,3 @@ eims: url: http://localhost:${server.port}/api/mock/esb/api mcistring: url: http://localhost:${server.port}/api/mock/esb/string - -spring: - config: - import: optional:classpath:glow/application-glow.yml diff --git a/dap-was-oth/src/main/resources/application-local.yml b/dap-was-oth/src/main/resources/application-local.yml index a4e5f24c..1e73a06d 100644 --- a/dap-was-oth/src/main/resources/application-local.yml +++ b/dap-was-oth/src/main/resources/application-local.yml @@ -1,5 +1,11 @@ -# Local ?섍꼍 ?꾩슜 ?ㅼ젙 (H2 硫붾え由?DB ?? +# Local 환경 전용 설정 (H2 메모리 DB 등) spring: + config: + activate: + on-profile: local + import: + - classpath:glow/application-glow.yml + - classpath:glow/application-glow-local.yml datasource: url: jdbc:p6spy:h2:mem:testdb;DB_CLOSE_DELAY=-1; driverClassName: com.p6spy.engine.spy.P6SpyDriver diff --git a/dap-was-oth/src/main/resources/application-prod.yml b/dap-was-oth/src/main/resources/application-prod.yml index 21b801dd..b5f08f21 100644 --- a/dap-was-oth/src/main/resources/application-prod.yml +++ b/dap-was-oth/src/main/resources/application-prod.yml @@ -1,6 +1,14 @@ server: port: ${PORT:8084} +spring: + config: + activate: + on-profile: prod + import: + - classpath:glow/application-glow.yml + - classpath:glow/application-glow-prod.yml + axhub: gateway: url: ${AXHUB_GATEWAY_URL} diff --git a/dap-was-oth/src/main/resources/application-test.yml b/dap-was-oth/src/main/resources/application-test.yml index 21b801dd..ab1c6908 100644 --- a/dap-was-oth/src/main/resources/application-test.yml +++ b/dap-was-oth/src/main/resources/application-test.yml @@ -1,6 +1,14 @@ server: port: ${PORT:8084} +spring: + config: + activate: + on-profile: test + import: + - classpath:glow/application-glow.yml + - classpath:glow/application-glow-test.yml + axhub: gateway: url: ${AXHUB_GATEWAY_URL} diff --git a/dap-was-sms/src/main/resources/application-dev.yml b/dap-was-sms/src/main/resources/application-dev.yml index 4020bb26..638b9e58 100644 --- a/dap-was-sms/src/main/resources/application-dev.yml +++ b/dap-was-sms/src/main/resources/application-dev.yml @@ -6,6 +6,14 @@ axhub: gateway: url: https://axhubmcp.devjun.net +spring: + config: + activate: + on-profile: dev + import: + - classpath:glow/application-glow.yml + - classpath:glow/application-glow-dev.yml + eims: http: url: http://localhost:${server.port}/api/gateway @@ -22,7 +30,3 @@ eims: url: http://localhost:${server.port}/api/mock/esb/api mcistring: url: http://localhost:${server.port}/api/mock/esb/string - -spring: - config: - import: optional:classpath:glow/application-glow.yml diff --git a/dap-was-sms/src/main/resources/application-local.yml b/dap-was-sms/src/main/resources/application-local.yml index 13593bf4..caa93c7f 100644 --- a/dap-was-sms/src/main/resources/application-local.yml +++ b/dap-was-sms/src/main/resources/application-local.yml @@ -1,5 +1,11 @@ -# Local ?섍꼍 ?꾩슜 ?ㅼ젙 (H2 硫붾え由?DB ?? +# Local 환경 전용 설정 (H2 메모리 DB 등) spring: + config: + activate: + on-profile: local + import: + - classpath:glow/application-glow.yml + - classpath:glow/application-glow-local.yml datasource: url: jdbc:p6spy:h2:mem:testdb;DB_CLOSE_DELAY=-1; driverClassName: com.p6spy.engine.spy.P6SpyDriver @@ -36,4 +42,4 @@ axhub: gateway: url: http://localhost:8081 tool: - url: ${AXHUB_TOOL_URL:http://localhost:${server.port}} \ No newline at end of file + url: ${AXHUB_TOOL_URL:http://localhost:${server.port}} diff --git a/dap-was-sms/src/main/resources/application-prod.yml b/dap-was-sms/src/main/resources/application-prod.yml new file mode 100644 index 00000000..8d6f1ab0 --- /dev/null +++ b/dap-was-sms/src/main/resources/application-prod.yml @@ -0,0 +1,16 @@ +server: + port: ${PORT:8082} + +spring: + config: + activate: + on-profile: prod + import: + - classpath:glow/application-glow.yml + - classpath:glow/application-glow-prod.yml + +axhub: + gateway: + url: ${AXHUB_GATEWAY_URL} + tool: + url: ${AXHUB_TOOL_URL} \ No newline at end of file diff --git a/dap-was-sms/src/main/resources/application-test.yml b/dap-was-sms/src/main/resources/application-test.yml new file mode 100644 index 00000000..a394e88d --- /dev/null +++ b/dap-was-sms/src/main/resources/application-test.yml @@ -0,0 +1,16 @@ +server: + port: ${PORT:8082} + +spring: + config: + activate: + on-profile: test + import: + - classpath:glow/application-glow.yml + - classpath:glow/application-glow-test.yml + +axhub: + gateway: + url: ${AXHUB_GATEWAY_URL} + tool: + url: ${AXHUB_TOOL_URL} \ No newline at end of file