# Project GitOps layout Project-specific Kubernetes resources are split into reusable catalogs and cluster entrypoints. ```text gitops/ ├── apps/ │ ├── auth-server/ │ ├── identity-postgres/ │ ├── auth-migration/ │ └── keycloak-realm-import/ ├── platform/ │ ├── cert-manager/ │ ├── forward-auth/ │ ├── keycloak/ │ ├── keycloak-operator/ │ ├── minio/ │ ├── registry/ │ ├── secret-delivery/ │ ├── traefik/ │ └── vault/ ├── policies/baseline/ ├── tenants/mnt/ └── clusters/lab/main/ ├── stages/ └── all/ ``` Rules: - Catalog `base`는 환경 중립 shape를 소유하고 `overlays/`는 차이만 표현합니다. - `clusters/lab/main/stages/*`만 현재 deployable entrypoint입니다. - `clusters/lab/main/all`은 전체 렌더와 정적 검사 전용이며 apply하지 않습니다. - operator readiness, Vault init, Secret 생성과 Job 완료는 stage 사이에서 `scripts/bin/bootstrap.sh`가 확인합니다. - 새 deployable entrypoint는 `tests/kustomize-entrypoints.txt`에 추가합니다. ```bash kubectl kustomize gitops/clusters/lab/main/all >/tmp/project-infra-lab.yaml export KUBE_CONTEXT_LAB='' bash scripts/bin/bootstrap.sh lab ```