Files

51 lines
2.6 KiB
Markdown

# Phase 1 Gitea 수동 부트스트랩 진입점
상세 절차와 검증·롤백 기준의 단일 원본은
[중앙 Phase 1 Gitea bootstrap runbook](/home/donghyeon/workspace/docs/platform/runbooks/2026-07-22-phase1-gitea-bootstrap.md)입니다.
이 파일은 저장소에서 실행 명령을 찾기 위한 짧은 진입점만 제공합니다.
2026-07-23 기준 Phase 1 클러스터 적용과 내부 health, Gitea restricted
securityContext 검증을 완료했습니다. 이 진입점은 **신규 클러스터의 Gitea
baseline 최초 구축 전용**입니다. baseline에는 Keycloak OIDC, `id` host alias,
Keycloak 전용 egress 및 선언형 브랜딩을 포함하지 않습니다.
기존 `Deployment/gitea` 또는 `Secret/gitea-keycloak-oidc`가 있는 클러스터에는 이
스크립트를 재실행하지 않습니다. 전용 안전장치도 둘 중 하나를 발견하면 적용을
거부합니다. Keycloak OIDC와 브랜딩을 포함한 현재 목표 상태는 public discovery
전환을 마친 뒤 `scripts/bootstrap/apply-gitea-oidc.sh --execute`로만 적용하며,
2026-07-23 실제 클러스터에는 이 전용 경로로 적용을 완료했습니다. 현재
OIDC-enabled 클러스터에서 baseline 스크립트를 복구 수단으로 재실행하지 않습니다.
## 실행 순서
저장소 루트 `/home/donghyeon/workspace/platform`에서 중앙 runbook을 확인한
뒤 다음 순서를 지킵니다.
1. 전체 렌더·정적 검증
```sh
bash scripts/validate/render-phase1.sh
```
2. 신규 클러스터 Phase 1 baseline 최초 적용
```sh
bash scripts/bootstrap/apply-phase1-gitea.sh --execute
```
`apply-phase1-gitea.sh`는 안전장치로 검증을 다시 실행합니다. 검증기가 Chart
SHA-256 확인을 마친 여섯 manifest를 제한된 `/tmp` handoff 경로로 받아
`gitea.yaml` baseline만 적용하며, 함께 검증한 OIDC 목표 상태
`gitea-oidc.yaml`은 적용하지 않습니다. 검증 뒤 Chart를 다시 내려받거나
Kustomize를 다시 렌더링하지 않으며 취소·실패·신호 종료 때 임시 파일을
정리합니다.
내부 5단계에서는 `create-phase1-secrets.sh --execute`를 호출합니다. helper는 세
Secret이 모두 없을 때에만 최초 생성하고, 모두 있으면 값이 같은 완전한 계약인지
검증한 뒤 그대로 재사용합니다. 일부만 존재하면 중단합니다. 자격 증명 회전은
별도 runbook이 마련될 때까지 지원하지 않으므로 이 helper를 갱신 용도로 단독
실행하지 않습니다.
OIDC 적용·자격 증명 회전·클러스터 검증·Nginx 전환·롤백 방법은 이 파일에
복제하지 않고 중앙 runbook을 따릅니다.