- Published on
Cấu trúc repository Kyverno chuẩn GitOps với ArgoCD
- Authors
- Name
- Bạch Đăng Tuấn
- Occupation
- Kỹ sư công nghệ thông tin
- Zalo: 0934.01.07.04
Cấu trúc repository Kyverno chuẩn GitOps với ArgoCD

📦 Mục tiêu
- Tổ chức policies tách biệt giữa base logic và môi trường
- Hỗ trợ tốt cho Kustomize và GitOps tool như ArgoCD
- Dễ dàng version, review, rollback
📁 Cấu trúc gợi ý
kyverno-policies/
├── base/
│ ├── kustomization.yaml
│ └── common-policies/
│ ├── require-team-label.yaml
│ ├── image-signing.yaml
│ └── resource-limits.yaml
├── overlays/
│ ├── dev/
│ │ ├── kustomization.yaml
│ │ └── patch-dev-labels.yaml
│ ├── staging/
│ │ ├── kustomization.yaml
│ │ └── audit-only.yaml
│ └── prod/
│ ├── kustomization.yaml
│ └── enforce-all.yaml
kustomization.yaml
ở overlays/prod
🔧 Ví dụ resources:
- ../../base
patchesStrategicMerge:
- enforce-all.yaml
🚀 Tích hợp vào ArgoCD Application
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: kyverno-policies-prod
spec:
destination:
namespace: kyverno
server: https://kubernetes.default.svc
source:
repoURL: https://github.com/your-org/kyverno-policies.git
path: overlays/prod
targetRevision: main
syncPolicy:
automated:
prune: true
selfHeal: true
✅ Lợi ích
- Tái sử dụng
base
cho mọi môi trường - Gắn logic riêng theo môi trường thông qua
overlay
- Dễ dàng maintain, CI/CD friendly
💡 Đây là cấu trúc lý tưởng để mở rộng policies cho hàng chục team hoặc môi trường khác nhau, vừa chuẩn hóa, vừa linh hoạt.