Argo CD
SDLC / Policy-as-Code
GitOps dla Kubernetes — repo jako źródło prawdy o stanie klastra.
Argo CD to deklaratywne narzędzie continuous delivery dla Kubernetes w modelu GitOps. Repozytorium Git jest źródłem prawdy o pożądanym stanie klastra; Argo CD nieustannie porównuje ten stan z rzeczywistym i synchronizuje różnice (automatycznie lub po akceptacji). Dostajesz pełną historię zmian, łatwe wycofywanie i czytelny podgląd „drift” między Gitem a klastrem.
Kiedy używać
- Wdrażasz na Kubernetes i chcesz, by każda zmiana szła przez Git (audyt, review, rollback).
- Zarządzasz wieloma klastrami/środowiskami z jednego miejsca.
- Łączysz z Helm lub Kustomize do szablonowania manifestów.
Przykład użycia
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: eiac-web
spec:
project: default
source:
repoURL: https://git.eiac.dev/eiac/deploy.git
path: web
targetRevision: main
destination:
server: https://kubernetes.default.svc
namespace: web
syncPolicy:
automated: { prune: true, selfHeal: true }
selfHeal przywróci stan z Gita, jeśli ktoś zmieni zasób ręcznie w klastrze.
Warto wiedzieć
- Repo z manifestami trzymamy na Gitei — Argo CD ciągnie z dowolnego Git.
pruneusuwa zasoby skasowane w repo; włączaj świadomie.