39 lines
1.1 KiB
Markdown
39 lines
1.1 KiB
Markdown
# 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에 기록합니다.
|