Files

45 lines
1.3 KiB
Markdown

# 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/<env>`는 차이만
표현합니다.
- `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='<expected-context>'
bash scripts/bin/bootstrap.sh lab
```