27 lines
1.6 KiB
Markdown
27 lines
1.6 KiB
Markdown
# Runtime Principles
|
|
|
|
## 1. Runtime Must Be Derived
|
|
- 런타임은 기준 문서와 Git 관리본에서 파생되어야 한다.
|
|
- `/etc`, 컨테이너 내부 설정, 서버 로컬 오버라이드는 기준이 아니라 산출물이다.
|
|
|
|
## 2. Direct Runtime Editing Creates Hidden State
|
|
- 실행본을 직접 고치면 구조보다 상태가 앞서기 시작한다.
|
|
- 이런 변경은 다음 장애 때 원인보다 흔적으로 먼저 발견되므로, 원칙적으로 금지한다.
|
|
|
|
## 3. Temporary Overrides Become Permanent Debt
|
|
- `.env`, failover 값, 임시 IP, 임시 upstream은 시간이 지나면 거의 항상 active 원인 경로가 된다.
|
|
- 임시값은 존재 자체가 예외여야 하며, 제거 조건 없이 남아 있으면 장애의 선행 징후로 본다.
|
|
|
|
## 4. Drift Is a Runtime Failure
|
|
- Git 관리본과 실제 실행본이 다르면 문서 불일치가 아니라 런타임 실패다.
|
|
- 특히 nginx, env, upstream, mount, deploy 경로는 "둘 다 맞을 수 없다"는 전제로 다룬다.
|
|
- 일부 경로만 새 기준으로 바뀌고 다른 경로가 구주소를 유지하는 상태도 실패로 본다. 부분 정상은 런타임 성공이 아니다.
|
|
|
|
## 5. Runtime Truth Comes From the Loaded Path
|
|
- 설정의 진실은 저장된 파일이 아니라 실제 로드된 경로에서 판단한다.
|
|
- 설명, 백업본, 옛 파일명이 아니라 현재 프로세스가 읽는 설정만 기준으로 삼는다.
|
|
|
|
## 6. Changes Close Only After Reproduction
|
|
- 런타임 변경은 파일 수정으로 닫히지 않는다.
|
|
- 실제 프로세스 재기동, 로드 경로 확인, 실호출 검증까지 끝나야 반영된 것으로 본다.
|