33 lines
1.3 KiB
Markdown
33 lines
1.3 KiB
Markdown
# argo-k8s — DBIZ GitOps
|
|
|
|
Quản lý deploy DBIZ stateless apps lên K8s qua ArgoCD.
|
|
|
|
## Cấu trúc
|
|
```
|
|
charts/dbiz-springboot/ Chart chung (env-agnostic) cho mọi Spring Boot service
|
|
envs/dev/
|
|
apps/ ArgoCD Applications (App-of-Apps)
|
|
root.yaml Root app — trỏ tới chính thư mục apps/
|
|
infra.yaml External Service+Endpoints
|
|
sealed-secrets.yaml Sealed secrets
|
|
platform-api.yaml Deploy platform-api (helm + values)
|
|
tenant-api.yaml Deploy tenant-api
|
|
values/ Values per-service (IP, env, resources)
|
|
infra/ Service+Endpoints external (Oracle/Redis/Kafka/S3)
|
|
sealed-secrets/ Secret đã seal (an toàn commit)
|
|
envs/prod/ (làm sau — copy dev, đổi config, re-seal secret)
|
|
```
|
|
|
|
## Bootstrap (lần đầu)
|
|
1. Đảm bảo cluster đã có: ArgoCD, sealed-secrets controller, MetalLB, Traefik.
|
|
2. Seal secret (xem PHASE 3 trong kế hoạch) → đặt vào `envs/dev/sealed-secrets/`.
|
|
3. Apply root app:
|
|
```
|
|
kubectl apply -f envs/dev/apps/root.yaml
|
|
```
|
|
4. ArgoCD tự sync: root → infra + secrets + platform-api + tenant-api.
|
|
|
|
## Lưu ý
|
|
- Sealed secret seal bằng key của TỪNG cluster — dev/prod không dùng chung.
|
|
- `latest` tag ở dev; prod nên pin version.
|