diff --git a/07_bootstrap_argocd/00_installation_instructions.md b/07_bootstrap_argocd/00_installation_instructions.md deleted file mode 100644 index 0529265..0000000 --- a/07_bootstrap_argocd/00_installation_instructions.md +++ /dev/null @@ -1,68 +0,0 @@ -# 🎡 ArgoCD Bootstrapping (App-of-Apps) - -Diese Sektion beschreibt den Übergang von der manuellen Installation zur vollautomatischen GitOps-Verwaltung des gesamten Clusters. - -## 🏗️ 1. Das Konzept -Wir nutzen das **Bootstrap-Prinzip**, um ArgoCD anzuweisen, sich selbst und alle anderen Applikationen zu verwalten. Sobald die Bootstrap-Ressourcen angewendet werden, scannt ArgoCD das Repository und rollt die definierten Stacks automatisch aus. - -### 📊 Architektur-Übersicht -```mermaid -graph TD - Root[ArgoCD Bootstrap] --> |Deploy| AS1[ApplicationSet: Cluster Infra] - Root --> |Deploy| AS2[ApplicationSet: Homelab Apps] - - AS1 --> |Scans 08_cluster_infrastructure/*| AppInfra[Core Tools: Monitoring, VPA, etc.] - AS2 --> |Scans 09_homelab_apps/*| AppHome[User Apps: Immich, Ghostfolio, etc.] - - subgraph "Git Repository" - D8[Verzeichnis 08] - D9[Verzeichnis 09] - end - - AS1 -.-> D8 - AS2 -.-> D9 -``` - ---- - -## 🛠️ 2. Bootstrap Komponenten - -### 📂 Projekte (`argocd-project-*.yaml`) -Bevor Applikationen erstellt werden können, müssen die logischen Gruppierungen (**Projects**) in ArgoCD vorhanden sein: -- **cluster-infra:** Für systemnahe Tools. -- **homelab:** Für Benutzer-Applikationen. - -### 🤖 Automatisierung (`ApplicationSets`) -Wir nutzen `ApplicationSet`-Ressourcen, um Applikationen dynamisch basierend auf der Verzeichnisstruktur im Git zu erstellen: -- **`argocd-apps.yaml`:** Übernimmt alle Ordner aus `08_cluster_infrastructure/`. -- **`homelab-apps.yaml`:** Übernimmt alle Ordner aus `09_homelab_apps/`. - -### 🚀 Shared Gateways -In diesem Verzeichnis werden auch die **zentralen Gateways** definiert, die von allen Applikationen gemeinsam genutzt werden: -- `shared-gateway.yaml`: Interner Traffic (`*.k8s.hnrx.net`). -- `shared-external-gateway.yaml`: Externer Traffic (`*.hnrx.net`). - ---- - -## 🚀 3. Ausführung (Bootstrapping) - -Um das Bootstrapping zu starten, werden alle Ressourcen in diesem Ordner einmalig manuell auf den Cluster angewendet: - -```bash -# 1. Projekte erstellen -kubectl apply -f argocd-project-cluster-infra.yaml -kubectl apply -f argocd-project-homelab.yaml - -# 2. Shared Gateways bereitstellen -kubectl apply -f shared-gateway.yaml -kubectl apply -f shared-external-gateway.yaml - -# 3. ApplicationSets aktivieren (Der "Magic" Moment) -kubectl apply -f argocd-apps.yaml -kubectl apply -f homelab-apps.yaml -``` - -Ab diesem Zeitpunkt übernimmt ArgoCD die Kontrolle. Jedes neue Verzeichnis in `08_` oder `09_` wird automatisch als neue Applikation erkannt und deployed. 🚀 - ---- -*Zuletzt aktualisiert am 06. März 2026 von Gemini CLI*