이 저장소는 새 MSA 제품 저장소를 시작할 때 사용하는 개발 방식용 repo-template이다.
목적은 실행 가능한 샘플 서비스를 제공하는 것이 아니라, MSA 개발 저장소가 따라야 할 루트 구조, 문서 정본, source slice 경계, 개발 운영 규칙을 고정하는 것이다.
- root docs를 architecture/source-of-truth로 두는 구조
development/아래 source slice를 배치하는 기준front-*,edge-*,service-*, 필요 시runtime-*slice naming family- source slice별
owns / does not own / depends on책임 매트릭스 - cross-slice import 금지와 contract-first 개발 원칙
- 새 slice를 추가하기 전 작성해야 하는 문서 위치
- 서비스 구현 코드
- 특정 framework starter
- 배포 workflow 또는 release runbook
- cloud provider, runtime, secret, account, ARN, URL 값
- 운영 증적, smoke proof, incident 기록
배포 템플릿이나 runtime 운영 기준은 이 repo-template과 분리해서 관리한다.
WORKSPACE.md에서 제품/플랫폼 목적과 top-level 구조를 프로젝트에 맞게 수정한다.repo-map.md의 delivery operations sample을 지우고 대상 제품에 맞는 source slice 후보를 기록한다.docs/mappings/repo-responsibility-matrix.md에 각 slice의 책임과 비책임을 쓴다.docs/boundaries/와docs/contracts/에 경계와 API edge를 먼저 작성한다.- 그 다음
development/아래에 실제 source slice를 만든다.
이 template에는 delivery operations MSA sample이 들어 있다. 이는 같은 이름을
그대로 쓰라는 뜻이 아니라, product service의 목표에서 source slice와 책임
매트릭스를 끌어내는 방식을 보여주기 위한 예시다.
예시를 실제 프로젝트로 바꿀 때는 아래를 함께 교체한다.
repo-map.md의 sample slice mapdocs/mappings/repo-responsibility-matrix.md의 sample matrixdocs/boundaries/sample-delivery-ops-boundaries.mddocs/contracts/sample-ops-console-driver-summary.md
<project>/
├── WORKSPACE.md
├── repo-map.md
├── docs/
│ ├── goals/
│ ├── boundaries/
│ ├── mappings/
│ ├── contracts/
│ ├── decisions/
│ └── archive/
└── development/
└── _slice-template/
docs/가 정본이고, development/는 구현 source slice 영역이다.