--- tags: [infra, workspace, ssot, structure, plans] --- # 260309 23서버 워크스페이스 SSOT 구조전환 계획 ## 상위 원칙 - [Infra Project Identity](../../00_Philosophy/00_IDENTITY/Infra_Project_Identity.md) - [Core Infrastructure Principles](../../00_Philosophy/01_PRINCIPLES/Core_Infrastructure_Principles.md) - [Operational Guardrails](../../00_Philosophy/02_GUARDRAILS/Operational_Guardrails.md) - 공통 작성 원칙: [0_VALUE Writing Principles](https://github.com/happybell80/0_VALUE/blob/main/02_Governance/writing-principles.md) ## 관련 문서 - [Infra Journey](../README.md) - [23서버 워크스페이스 SSOT 구조전환 리서치](../research/260309_23서버_워크스페이스_SSOT_구조전환_리서치.md) - [23서버 워크스페이스 인프라 구조정리 이슈](../troubleshooting/260307_23서버_워크스페이스_인프라_구조정리_이슈.md) - [51123 구 IP 하드코딩 실행 경로 제거 계획](./260309_51123_구IP하드코딩_실행경로제거_계획.md) - [24서버 실서비스 운영전환 계획](./260309_24서버_실서비스운영전환_계획.md) ## 문제 정의 - 현재 워크스페이스 해석 기준은 `WORKSPACE_ROOT=/home/admin`로 고정됐지만, 일부 실행 경로와 문서는 아직 `infra-config` 또는 삭제된 경로를 참조한다. - 목표는 `23 제어면`, `24 실행면`, `workspace-config` 공용 env 구조를 실제 실행 경로까지 일치시키는 것이다. - 이번 작업의 닫힘 기준은 `workspace-config` 단일화, 루트 중복 디렉터리 정리 유지, 삭제된 경로 참조 정리까지 포함한다. ## 구조 결정 고정 - `robeing-gateway`는 `auth-server`와 함께 23 서버 제어면에 유지한다. - 제어면과 실행면을 가리지 않고 공용 운영값은 `/home/admin/workspace-config/runtime.env`, `/home/admin/workspace-config/secrets.env`만 SSOT로 사용한다. - 워크스페이스 정본 루트는 `TheGooseCouncil`만 남기고, 제거된 `thegoosecouncil`, `external_nas_test`, `tmp_lfs_branch_test`는 재도입하지 않는다. ## 실행 순서 ### 1. 공용 env 참조를 `workspace-config`로 단일화한다 - `/home/admin/robeing-gateway/docker-compose.yml`의 `env_file`을 `/home/admin/workspace-config/runtime.env`, `/home/admin/workspace-config/secrets.env`로 교체한다. - `/home/admin/infra/scripts/README.md`의 공용 env 경로 설명도 같은 기준으로 교체한다. - 실행 경로에서 `/home/admin/infra-config/*.env` 참조는 0건이 되게 만든다. ### 2. 23 제어면 서비스 기준을 명시적으로 고정한다 - `robeing-gateway`, `auth-server`가 모두 23 제어면 서비스라는 점을 관련 계획 문서와 리서치에서 같은 표현으로 유지한다. - `24 전환` 계획에서도 gateway를 이전 대상이 아니라 연결 대상 제어면으로만 다루게 맞춘다. ### 3. 삭제된 루트 경로 참조를 현재 정본 경로로 교정한다 - `thegoosecouncil`를 직접 참조하는 하위 문서를 `TheGooseCouncil` 기준으로 교정한다. - `external_nas_test`, `tmp_lfs_branch_test`를 전제하는 설명이 있으면 제거하거나 종료된 테스트 흔적으로 정리한다. - `/home/admin/DOCS`처럼 현재 없는 루트 경로를 전제한 문서는 실제 경로 기준으로 수정 범위를 확정한다. ### 4. 실행 경로와 문서 경로를 함께 검증한다 - `rg` 기준 실행 경로에서 `infra-config/runtime.env`, `infra-config/secrets.env`가 0건인지 확인한다. - `/home/admin` 최상위에 `TheGooseCouncil`만 남아 있는지 확인한다. - 삭제된 경로를 참조하던 문서가 현재 정본 경로를 보도록 교정됐는지 확인한다. ## 체크리스트 - `robeing-gateway/docker-compose.yml`가 `workspace-config`만 참조한다. - `infra/scripts/README.md`가 `workspace-config` 기준 설명만 남긴다. - 실행 경로에서 `/home/admin/infra-config/*.env`가 0건이다. - `/home/admin` 최상위에 `thegoosecouncil`, `external_nas_test`, `tmp_lfs_branch_test`가 없다. - 삭제된 경로를 참조하는 문서는 현재 정본 경로 기준으로 정리된다. ## 검증 기준 - `docker compose config` 기준 `robeing-gateway`가 `workspace-config` 경로를 읽는다. - `rg` 기준 비문서 실행 경로에서 `infra-config` 참조가 남지 않는다. - `find /home/admin -maxdepth 1 -type d` 기준 중복/테스트 잔존 디렉터리가 재등장하지 않는다. - 관련 문서에서 `TheGooseCouncil` 정본 경로와 `workspace-config` 용어가 일관되게 사용된다. ## 완료 조건 - 23 제어면 서비스의 공용 env 참조가 `workspace-config`로 단일화된다. - 워크스페이스 루트 중복/테스트 디렉터리 정리가 문서와 실제 파일시스템 모두에서 일치한다. - 삭제된 경로와 옛 SSOT 이름을 기준으로 하는 실행 경로가 0건이다.