init: k8s 폴더 구조init
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# Live Infrastructure
|
||||
|
||||
실제로 plan/apply하는 root를 둡니다. leaf 디렉터리 하나가 독립적인 state,
|
||||
locking, 권한과 실패 범위입니다.
|
||||
|
||||
소규모 예:
|
||||
|
||||
```text
|
||||
live/
|
||||
└── dev/
|
||||
├── network/
|
||||
└── cluster/
|
||||
```
|
||||
|
||||
확장 예:
|
||||
|
||||
```text
|
||||
live/
|
||||
└── aws/
|
||||
└── platform-prod/
|
||||
└── ap-northeast-2/
|
||||
└── prod/
|
||||
├── network/
|
||||
├── shared-services/
|
||||
└── cluster-a/
|
||||
```
|
||||
|
||||
경로 깊이보다 leaf의 실행 계약이 중요합니다. 자동화는 특정 depth를 가정하지
|
||||
말고 IaC root marker를 기준으로 대상을 찾습니다.
|
||||
|
||||
## 규칙
|
||||
|
||||
- 각 root는 remote backend와 locking을 사용합니다.
|
||||
- production과 non-production state/credential을 분리합니다.
|
||||
- 민감하지 않은 입력만 커밋하며 secret 입력은 runtime에 주입합니다.
|
||||
- 다른 환경 경로를 상대 import하지 않습니다.
|
||||
- provider, module과 component version을 고정합니다.
|
||||
- output consumer와 파괴 영향 범위를 README에 기록합니다.
|
||||
@@ -0,0 +1,34 @@
|
||||
# __REPLACE_ME_LIVE_ROOT_NAME__
|
||||
|
||||
## 대상
|
||||
|
||||
- Provider/account/project: __REPLACE_ME_SCOPE__
|
||||
- Region: __REPLACE_ME_REGION_OR_GLOBAL__
|
||||
- Environment: __REPLACE_ME_ENVIRONMENT__
|
||||
- Stack: __REPLACE_ME_STACK__
|
||||
- Owner: __REPLACE_ME_OWNER__
|
||||
|
||||
## State
|
||||
|
||||
- Backend: __REPLACE_ME_BACKEND__
|
||||
- Locking:
|
||||
- Encryption:
|
||||
- Recovery runbook:
|
||||
|
||||
## 의존성
|
||||
|
||||
선행 state/output과 사용하는 component/stack version을 적습니다.
|
||||
|
||||
## Output Contract
|
||||
|
||||
downstream bootstrap 또는 system에 전달하는 값을 적습니다. 민감 output은
|
||||
명시적으로 표시하고 로그에 출력하지 않습니다.
|
||||
|
||||
## 실행
|
||||
|
||||
프로젝트가 선택한 IaC 엔진의 init/plan/apply 절차를 적습니다. production은
|
||||
검토된 plan, 승인과 concurrency lock 없이 적용하지 않습니다.
|
||||
|
||||
## 롤백/복구
|
||||
|
||||
되돌릴 수 있는 변경과 state 복구 절차 링크를 적습니다.
|
||||
Reference in New Issue
Block a user