45 lines
1.3 KiB
Markdown
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
|
|
```
|