# 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을 따릅니다.