diff --git a/journey/plans/260309_51123_구IP하드코딩_실행경로제거_계획.md b/journey/plans/260309_51123_구IP하드코딩_실행경로제거_계획.md index 524079a..b7d8142 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 기준) +**상태**: 거의 완료 (2026-03-10 기준, 최종 잔여 1건) ## 상위 원칙 - [Infra Project Identity](../../00_Philosophy/00_IDENTITY/Infra_Project_Identity.md) @@ -18,7 +18,25 @@ tags: [infra, 51123, ip, ssot, runtime, plans] - [51123 구 IP 하드코딩 실행 경로와 런타임 SSOT 불일치 리서치](../research/260309_51123_구IP하드코딩_실행경로_SSOT불일치_리서치.md) - [23서버 워크스페이스 SSOT 구조전환 계획](./260309_23서버_워크스페이스_SSOT_구조전환_계획.md) - [51123 구IP active runtime 제거 1차](../worklog/260309_51123_구IP_active_runtime_제거_1차.md) +- [23제어면 gateway workspace-config 단일화](../worklog/260309_23제어면_gateway_workspace_config_단일화.md) - [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) + +## 2026-03-10 진행 반영 + +### 완료 처리된 항목 +- `robeing-gateway/docker-compose.yml`의 공용 env 경로는 `workspace-config/runtime.env`, `workspace-config/secrets.env` 기준으로 교정되고 재기동까지 검증됐다. +- 24 active runtime `rb8001`, `skill-email`, `skill-calendar`, `skill-slack`, `skill-rag-file`, `robeing-monitor`는 `workspace-config`를 공통 런타임 SSOT로 읽도록 정리됐다. +- 24 active runtime의 compose/.env/컨테이너 env 기준 `192.168.219.45` 제거와 `192.168.0.100` 기준 주입이 검증됐다. +- `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 최종 점검` 1건으로 축소됐다. ## 목표 - 51123 주소 기준을 `/home/admin/workspace-config/runtime.env`의 `HOST_51123=192.168.0.100`으로 단일화한다. @@ -32,16 +50,19 @@ tags: [infra, 51123, ip, ssot, runtime, plans] - `robeing/skill-calendar/docker-compose.yml` - `robeing/skill-calendar/.env` - `fluent-bit/data-prepper/pipelines.yaml` +- 상태: `skill-email`, `skill-calendar`, `robeing-gateway`, 24 active runtime은 완료. `data-prepper` 과거 IP 재검증은 별도 확인 필요. ### 2. 같은 작업 단위에서 함께 제거할 fallback/code default - `auth-server/app/providers/gmail_passport.py` - `robeing/skill-calendar/services/google_calendar_service.py` - `robeing/admin-dashboard/backend/services/system_service.py` - `robeing-gateway/docker-compose.yml` +- 상태: `robeing-gateway/docker-compose.yml`은 완료. `admin-dashboard` fallback 점검은 미완료. ### 3. 같은 작업 단위에서 함께 고정할 공용 env 경로 - `workspace-config`만 공용 SSOT로 사용한다. - `/home/admin/infra-config/*.env` 참조는 실행 경로에서 허용하지 않는다. +- 상태: active runtime 기준 대부분 완료. 다만 관련 잔존 참조의 전수 증명은 `admin-dashboard` 포함 최종 점검 후 닫는다. ## 실행 원칙 - 과거 IP `192.168.219.45`를 새 값과 병행 허용하지 않는다. @@ -97,7 +118,7 @@ tags: [infra, 51123, ip, ssot, runtime, plans] ### 4. 완료 검증 - 24 서버에서 23 서버 DB/인증/모니터 경로를 재확인해 과거 IP 재참조가 없는지 확인한다. -- 필요 시 admin-dashboard 재배포 전 코드 fallback 제거 상태를 별도 점검한다. +- `admin-dashboard` 재배포 전 코드 fallback 제거 상태를 별도 점검한다. ## 완료 판단 기준 - active runtime 컨테이너 `skill-email`, `skill-calendar`, `data-prepper`가 더 이상 `192.168.219.45`를 사용하지 않는다. @@ -106,6 +127,14 @@ 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 기준으로 동작함을 확인한다. + ## 상위 원칙/근거 문서 연결 - [Infra Project Identity](../../00_Philosophy/00_IDENTITY/Infra_Project_Identity.md)