Files
project-infra/scripts/README.md
T

41 lines
1.4 KiB
Markdown

# Scripts
Kustomize source를 대체하지 않는 얇고 명시적인 운영 자동화입니다.
```text
scripts/
├── bin/
│ ├── bootstrap.sh
│ └── teardown.sh
├── tasks/
├── lib/
├── ci/
│ ├── validate.sh
│ └── validate-docs.sh
├── doctor.sh
└── validate.sh
```
- `doctor.sh`: 로컬 도구와 IaC 엔진 선택 상태 확인
- `validate.sh`: 템플릿 구조, 민감 파일, shell, Kustomize와 IaC 형식 검증
- `ci/validate.sh`: 프로젝트 entrypoint, schema, policy, shell, secret와 문서 검증
- `bin/bootstrap.sh`: stage별 render/dry-run/diff/confirm/apply와 readiness 대기
- `bin/teardown.sh`: 명시적 opt-in을 요구하는 역순 제거
```bash
make doctor
make check
export KUBE_CONTEXT_LAB='<expected-context>'
bash scripts/bin/bootstrap.sh lab
bash scripts/bin/teardown.sh lab
```
Context 검증은 `CONFIRM=yes`로 우회할 수 없습니다. teardown은 기본적으로
app/operation만 제거하며 data/Vault/namespace는 `DELETE_DATA=yes`, 공유
operator는 `TEARDOWN_PLATFORM=yes`가 추가로 필요합니다.
검증한 Kubernetes context는 이후 모든 `kubectl`/`helm` 호출과 하위 task에
고정됩니다. `prod`의 Vault init material은 repository 밖 경로만 허용하며,
Secret 강제 재생성에는 `ALLOW_PROD_SECRET_RESET=yes`가 추가로 필요합니다.