WEBBOOK CHAPTER

Git에서 EKS까지: 6장 저장소를 애플리케이션과 운영 계약으로 나눈다

6장 저장소를 애플리케이션과 운영 계약으로 나눈다

FlowNote 저장소는 다음처럼 구성한다.


examples/
  app/                 # server.mjs, Dockerfile
  cluster/cluster.yaml # EKS Auto Mode 선언
  k8s/                 # namespace, workload, availability, ingress, policy
  pipelines/           # GitHub Actions, GitLab CI 비교본
docs/                  # ADR, runbook, release evidence

application과 manifest를 같은 repository에 둘지 별도의 configuration repository로 나눌지는 팀 규모에 따라 결정한다. 처음에는 한 repository가 추적하기 쉽다. production에서는 build 권한과 deployment 변경 승인 주체가 다르면 분리할 가치가 생긴다.

branch policy의 핵심은 이름이 아니라 protected state로 들어가는 조건이다. main에는 pull request 또는 merge request, 최소 한 명 review, required test, 직접 push 제한을 둔다. 긴 develop branch를 자동으로 정답으로 취급하지 않는다. 짧은 feature branch와 자주 통합하는 흐름이 conflict와 배포 차이를 줄인다.

commit에는 결과가 아니라 의도를 적는다.


feat: expose separate readiness endpoint
fix: keep zero unavailable pods during rollout
ops: cap FlowNote namespace resource usage