GitOps na OpenShift s ArgoCD
Nasadenie OpenShift GitOps operatora a prvý ArgoCD Application.
OpenShift GitOps je supportovaná distribúcia ArgoCD od Red Hatu. Inštaluje sa cez OperatorHub a v namespace `openshift-gitops` ti nadhodí kompletnú Argo inštanciu s dex SSO, Redis HA a application-controllerom. V praxi za 5 minút máš produkčne použiteľný GitOps engine.
Prvý krok je vytvoriť Git repo s manifestami – ideálne s adresárovou štruktúrou `clusters/<env>/apps/<name>`. Do repa daj kustomization.yaml alebo Helm chart, nič viac. ArgoCD sa postará o zvyšok cez Application CR, ktorý ukazuje na cestu v repe a target namespace v klastri.
Sync policy nastav `automated` s `prune: true` a `selfHeal: true`. Prune maže resources, ktoré si vymazal z Gitu; selfHeal vráti manuálne zmeny (napr. niekto cez `oc edit` upraví replica count) späť do stavu z Gitu. Toto je jadro GitOps – Git je jediný zdroj pravdy.
Pre správu viacerých aplikácií siahni po ApplicationSet. Cez generátor `git`, `list` alebo `matrix` vygeneruješ N Applications z jedného template-u. Kombinácia s `clusters` generátorom + ACM ti dovolí nasadiť tú istú appku do desiatok klastrov jedným YAMLom.
Nezabudni na RBAC a secrets. ArgoCD by nemal mať cluster-admin – použi projekty (AppProject) s obmedzeným zoznamom destinationov a resourcov. Secrets rieš cez Sealed Secrets, External Secrets Operator alebo SOPS + KSOPS plugin. Nikdy nedávaj plaintext secret do Gitu, ani do private repa.