diff --git a/journey/plans/260309_51123_구IP하드코딩_실행경로제거_계획.md b/journey/plans/260309_51123_구IP하드코딩_실행경로제거_계획.md index b7d8142..66b8254 100644 --- a/journey/plans/260309_51123_구IP하드코딩_실행경로제거_계획.md +++ b/journey/plans/260309_51123_구IP하드코딩_실행경로제거_계획.md @@ -4,7 +4,7 @@ tags: [infra, 51123, ip, ssot, runtime, plans] # 51123 구 IP 하드코딩 실행 경로 제거 계획 -**상태**: 거의 완료 (2026-03-10 기준, 최종 잔여 1건) +**상태**: 완료 (2026-03-10 기준) ## 상위 원칙 - [Infra Project Identity](../../00_Philosophy/00_IDENTITY/Infra_Project_Identity.md) @@ -22,6 +22,7 @@ tags: [infra, 51123, ip, ssot, runtime, plans] - [24서버 robeing runtime workspace-config 단일화](../worklog/260310_24서버_robeing_runtime_workspace_config_단일화.md) - [23 gateway MONITOR_URL 24 monitor 교정 및 실도메인 전수검증](../worklog/260310_23gateway_monitor_url_24monitor_교정_및_실도메인_전수검증.md) - [23 gateway MONITOR_URL 구주소 잔존으로 24 monitor 프록시 실패 복구](../troubleshooting/260310_23gateway_monitor_url_구주소잔존_24monitor프록시실패_복구.md) +- [260310 admin-dashboard SSOT fallback 제거 및 검증](https://git.ro-being.com/ivada_Ro-being/admin-dashboard/src/branch/main/DOCS/journey/worklog/260310_admin_dashboard_ssot_fallback_%EC%A0%9C%EA%B1%B0_%EB%B0%8F_%EA%B2%80%EC%A6%9D.md) ## 2026-03-10 진행 반영 @@ -32,11 +33,11 @@ tags: [infra, 51123, ip, ssot, runtime, plans] - `5432/tcp`, `7687/tcp`, `8001`, `9024`의 23↔24 인프라 경로와 실제 서비스 헬스가 복구됐다. - `MONITOR_URL` 구주소 잔존 문제는 `http://192.168.0.106:9024`로 교정됐고, 실도메인 기준 `stats/preferences` 전 경로가 `200`으로 검증됐다. -### 이 계획에서 아직 남은 항목 -- `admin-dashboard`의 서버 간 fallback/구주소 제거 상태를 별도 점검해, 재배포 전에도 `192.168.219.45` 또는 이전 경로가 다시 살아나지 않는지 최종 확인해야 한다. +### 완료된 최종 항목 +- `admin-dashboard`의 서버 간 fallback/구주소 제거 상태를 별도 점검했고, `HOST_51123`, `HOST_51124`, `workspace-config` 기준으로 재기동과 실제 응답 검증까지 완료했다. ### 이 계획의 닫힘 판단 -- 따라서 이 계획은 실행 조치 대부분이 끝난 상태이며, 남은 핵심 후속은 `admin-dashboard fallback 최종 점검` 1건으로 축소됐다. +- 따라서 이 계획은 `active runtime 구IP 제거`, `gateway/monitor 경로 교정`, `admin-dashboard fallback 제거`까지 닫혔고, 51123 주소 기준은 현재 `192.168.0.100` 하나로만 설명 가능하다. ## 목표 - 51123 주소 기준을 `/home/admin/workspace-config/runtime.env`의 `HOST_51123=192.168.0.100`으로 단일화한다. @@ -127,13 +128,10 @@ tags: [infra, 51123, ip, ssot, runtime, plans] - TCP 연결, 헬스체크, 로그 재검증에서 과거 IP timeout이 재현되지 않는다. - 51123 주소 기준은 `192.168.0.100` 하나로만 설명 가능하다. -## 현재 남은 최종 확인 1건 -- 대상: `robeing/admin-dashboard/backend/services/system_service.py`와 관련 fallback 경로 -- 질문: admin-dashboard가 재배포 전/후에도 `192.168.219.45` 또는 구 fallback을 다시 참조하지 않는가 -- 닫힘 기준: - - 코드 검색에서 구 IP와 구 fallback이 0건이다. - - 실제 실행 경로 또는 재배포 전 점검 결과로 현재 기준값만 설명 가능하다. - - 필요 시 `admin-dashboard` 관련 health/status 호출이 현재 SSOT 기준으로 동작함을 확인한다. +## 최종 닫힘 근거 +- `admin-dashboard`는 `system_service.py`, `routers/system.py`, `admin_routes.py`에서 `HOST_51123`, `HOST_51124` 환경변수 기반으로 현재 주소를 읽도록 교정됐다. +- `admin-dashboard/docker-compose.yml`은 `workspace-config/runtime.env`, `workspace-config/secrets.env`를 직접 읽고, `JWT_SECRET_KEY`, `DATABASE_URL` 하드코딩을 제거했다. +- 재빌드 후 `admin-dashboard-backend` 컨테이너 env에 `HOST_51123=192.168.0.100`, `HOST_51124=192.168.0.106`이 주입됐고, `admin/login`, `admin/system/services/list`, `admin/diaries` 응답이 모두 정상 확인됐다. ## 상위 원칙/근거 문서 연결