2.7 KiB
2.7 KiB
Infrastructure Project Structure
목적
이 문서는 인프라 프로젝트의 핵심 구성 요소를 무엇이 있는가와 왜 필요한가 기준으로 정리하는 기준 문서다.
1. 핵심 운영 자산
23 서버
- 무엇:
- nginx
- Gitea / CI
- PostgreSQL
- auth-server
- robeing-gateway
- 운영 보조 프론트/서비스
- 왜:
- 외부 요청의 진입점과 운영 제어를 한곳에서 통합하기 위해
- 인증, 라우팅, 배포 검증, 운영 판단의 기준면을 만들기 위해
- 24 장애 시 임시 수용 지점을 확보하기 위해
24 서버
- 무엇:
- rb8001 등 핵심 앱 런타임
- 스킬 서비스들
- 실행 중심 컨테이너
- 왜:
- 사용자 가치가 생성되는 실행 부하를 23과 분리하기 위해
- 앱 장애와 게이트웨이/DB 장애를 분리해 원인 판별 속도를 높이기 위해
- 프로덕션 기준 서버를 명확히 하기 위해
내부 NAS
- 무엇:
- 백업 저장소
- 로그 아카이브
- 릴리스/산출물 보관
- 장기 보존 경로
- 왜:
- 서버 자체와 분리된 기억 저장소가 있어야 복구 기준이 생기기 때문에
- 장애 후에도 로그와 데이터가 남아야 원인을 설명할 수 있기 때문에
2. 보조 운영 자산
workspace-config
- 무엇:
runtime.env,secrets.env - 왜: 환경값의 기준점을 코드/개별
.env밖으로 분리해 SSOT를 유지하기 위해
infra/nginx
- 무엇: nginx 배포 설정 저장소
- 왜: 진입 계층 설정을 애플리케이션 저장소와 분리해 추적성과 배포 일관성을 확보하기 위해
/mnt/hdd/logs
- 무엇: 서비스 로그 저장 경로
- 왜: 컨테이너/앱 수명주기와 분리된 관측 기록을 유지하기 위해
Gitea Actions / Runner
- 무엇: 23에서 운영되는 배포 자동화 경로
- 왜: 수동 서버 조작보다 재현 가능한 배포 절차를 만들기 위해
3. 구조적으로 중요한 관계
진입 경로
- 사용자/도메인 요청 -> 23의 nginx/gateway -> 필요한 서비스로 전달
- 의미: 외부 진입을 통제 가능한 한곳에서 먼저 본다.
실행 경로
- 실제 앱 처리와 스킬 실행은 24가 주도
- 의미: 사용자 가치 생성 부하를 제어/저장 계층과 분리한다.
보존 경로
- 백업, 로그, 장기 산출물은 NAS로 보낸다.
- 의미: 서버 장애가 곧 기록 손실이 되지 않게 한다.
4. 문서화 원칙
- 역할 정의는 이 문서 같은 구조 문서에 고정한다.
- 실제 IP/포트/마운트 값은 SSOT 문서 또는
workspace-config기준으로 관리한다. - 장애/변경/복구 과정은
journey/에서 사실 중심으로 기록한다.