GitOps Workshop – Übersicht
Überblick
Dieser Workshop führt von den Grundlagen bis zu fortgeschrittenem Plattformbetrieb und Security-Härtung. Der Aufbau orientiert sich am Kubernetes-Workshop: Referenzdokumente, vier Workshop-Level, Übungen, Assessments, Lösungen, offizielle Quellen und 31 praktische Beispiele.
Der Fokus liegt auf realer GitOps-Praxis:
- OpenGitOps-Prinzipien verstehen und anwenden
- gewünschten Zustand, tatsächlichen Zustand, Drift und Reconciliation erklären
- Git, Kustomize, Helm, Argo CD und Flux fachlich abgrenzen
- Repository-Strukturen für Umgebungen, Teams und Cluster entwerfen
- Promotion, Rollback, Sync-Wellen, Health, Diff und Status kontrollieren
- Secrets, RBAC, AppProjects, Policies, Signaturen und Supply Chain bewerten
- Incident Response für Drift, fehlerhafte Syncs und Secret-Leaks strukturieren
Quickstart
# Workshop content is provided through the Orthevs Academy.
chmod +x scripts/provision_gitops.sh
./scripts/provision_gitops.sh --dry-run
Prüfe danach die lokale Toolbasis:
git --version
kubectl version --client || true
kustomize version || true
helm version || true
Lernpfad
| Level | Schwerpunkt | Workshop | Übungen | Assessment |
|---|---|---|---|---|
| 01 | Grundlagen | Grundlagen Workshop | Grundlagen Übungen | Grundlagen Assessment |
| 02 | Intermediate | Intermediate Workshop | Intermediate Übungen | Intermediate Assessment |
| 03 | Professional | Professional Workshop | Professional Übungen | Professional Assessment |
| 04 | Advanced Security | Advanced Security Workshop | Advanced Security Übungen | Advanced Security Assessment |
Dokumentation
Beispiele
Die Beispiele liegen unter examples/README.md. Jedes Beispiel enthält eine Hauptbeschreibung, eine deutsche Detailbeschreibung, eine englische Detailbeschreibung, validierbare Artefakte und ein run.sh, das ein lokales GitOps-Lab unter work/ erzeugt.
Workshop-Aufbau
.
├── assessments/
├── docs/
├── examples/
├── exercises/
├── media/
│ └── pics/
├── scripts/
├── workshops/
├── LICENSE.md
└── README-DE.md
Wichtige Sicherheitsregel
GitOps macht Änderungen nachvollziehbar, aber nicht automatisch sicher. Secrets, Controller-Rechte, Repository-Zugriffe, Signaturen und Policy-Gates müssen bewusst entworfen werden. Verwende im Workshop keine echten Tokens, keine produktiven Cluster-Kubeconfigs und keine realen Secret-Werte.
Offizielle Quellen und Abgrenzung
Die Inhalte orientieren sich an öffentlich dokumentierten GitOps- und Kubernetes-Quellen. Argo CD, Flux, Kustomize, Helm, Policy-Controller und Secret-Tools werden dort eingeordnet, wo sie typische GitOps-Workflows abbilden. Ein Beispielartefakt ist kein Installationsversprechen für einen bestimmten Cluster.
- OpenGitOps: https://opengitops.dev/
- OpenGitOps Principles: https://github.com/open-gitops/documents/blob/main/PRINCIPLES.md
- Argo CD Documentation: https://argo-cd.readthedocs.io/en/stable/
- Argo CD Declarative Setup: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/
- Argo CD Project Page: https://argoproj.github.io/cd/
- Flux Documentation: https://fluxcd.io/flux/
- Flux Core Concepts: https://fluxcd.io/flux/concepts/
- CNCF GitOps Certified Associate (CGOA): https://www.cncf.io/training/certification/cgoa/
- Linux Foundation Certified GitOps Associate (CGOA): https://training.linuxfoundation.org/certification/certified-gitops-associate-cgoa/
Lizenz
Siehe LICENSE.md.
Zusätzliche Review-Drills
Nutze diese Drills, wenn die Hauptaufgabe abgeschlossen ist und zusätzliche betriebliche Begründung geübt werden soll. Sie sind bewusst nachweisorientiert und können mit lokalen GitOps-Artefakten beantwortet werden.
Drill 01: Desired State
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
Desired Statebetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.
Drill 02: Source Commit
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
Source Commitbetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.
Drill 03: Reconciliation
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
Reconciliationbetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.
Drill 04: Drift
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
Driftbetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.
Drill 05: Argo CD Application
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
Argo CD Applicationbetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.
Drill 06: Flux Kustomization
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
Flux Kustomizationbetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.
Drill 07: Kustomize Overlay
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
Kustomize Overlaybetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.
Drill 08: HelmRelease
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
HelmReleasebetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.
Drill 09: Secret Management
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
Secret Managementbetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.
Drill 10: RBAC-Grenze
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
RBAC-Grenzebetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.
Drill 11: Policy-Gate
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
Policy-Gatebetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.
Drill 12: Rollback
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
Rollbackbetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.
Drill 13: Desired State
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
Desired Statebetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.
Drill 14: Source Commit
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
Source Commitbetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.
Drill 15: Reconciliation
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
Reconciliationbetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.
Drill 16: Drift
- Benenne, welche Quelle, welcher Controller oder welche Umgebung durch
Driftbetroffen ist. - Nenne einen Befehl oder ein Manifestfeld, das einen Nachweis liefert.
- Erkläre, was aus diesem Nachweis folgt und was daraus nicht folgt.
- Beschreibe den sichersten Recovery-Pfad für eine gemeinsam genutzte GitOps-Plattform.