From 2bba44afe9468b0c76d96e5778212f574947eab7 Mon Sep 17 00:00:00 2001 From: gemini Date: Fri, 6 Mar 2026 21:32:54 +0000 Subject: [PATCH] docs: rename installation_instructions.md to README.md for auto-rendering in directory 06 --- 06_argocd_installation/README.md | 65 ++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 06_argocd_installation/README.md diff --git a/06_argocd_installation/README.md b/06_argocd_installation/README.md new file mode 100644 index 0000000..6f95f74 --- /dev/null +++ b/06_argocd_installation/README.md @@ -0,0 +1,65 @@ +# 🚀 Argo-CD Installation & SSO Konfiguration + +Diese Dokumentation beschreibt die Installation von Argo CD im Homelab mit Fokus auf SSO (Authentik) und automatisierte Secret-Verwaltung. + +## 📦 1. Vorbereitung & Installation + +Zuerst muss das Repository hinzugefügt und die Basis-Ressourcen (Namespace & Gateway) erstellt werden: + +```bash +# Repo hinzufügen +helm repo add argo https://argoproj.github.io/argo-helm +helm repo update + +# Vorbereitungen treffen (Gateway & Namespace) +kubectl apply -f argo-prepare.yaml + +# Installation via Helm +helm upgrade --install argocd argo/argo-cd --namespace argocd -f argo-values.yaml +``` + +--- + +## 🔐 2. SSO Integration (Authentik) + +Die Authentifizierung erfolgt über **Authentik** via **OIDC**. + +### Konfiguration in `argo-values.yaml`: +- **Dex** ist als interner Connector vorkonfiguriert. +- Die Gruppen `ArgoCD Admins` und `ArgoCD Viewers` werden direkt aus Authentik übernommen. + +### RBAC (Rechteverwaltung): +| Authentik Gruppe | Argo CD Rolle | Beschreibung | +| :--- | :--- | :--- | +| `ArgoCD Admins` | `role:admin` | Voller Zugriff auf alle Cluster-Ressourcen 👑 | +| `ArgoCD Viewers` | `role:readonly` | Nur Lesezugriff auf Applikationen 👁️ | + +--- + +## 🔑 3. Secret Management (Phase) + +Wir nutzen **Phase** (`secrets.phase.dev`), um sensible Daten wie OIDC-Secrets und Git-Credentials sicher in den Cluster zu synchronisieren. + +- Der `PhaseSecret` Operator überwacht die Ressource `argocd-phase-secret`. +- Erstellt automatisch das Kubernetes Secret `argocd-authentik-client-secret`. +- Die Variablen `$AUTHENTIK_CLIENT_ID` und `$AUTHENTIK_CLIENT_SECRET` werden zur Laufzeit in Dex injiziert. + +--- + +## 🌐 4. Networking (Gateway API) + +Die Erreichbarkeit wird über das **Envoy Gateway** gesteuert: +- **Hostname:** `argocd.k8s.hnrx.net` +- **Infrastruktur:** Nutzt `HTTPRoute` für das Web-UI (Port 80) und `GRPCRoute` für CLI/API Kommunikation (Port 443). +- **TLS:** Zertifikate werden automatisch via Cert-Manager (Cloudflare DNS-01) erstellt. + +--- + +## ⚡ 5. Performance & Stabilität + +Um Abstürze des `repo-server` zu vermeiden, wurden explizite Ressourcen-Limits gesetzt: +- **Repo-Server:** 512Mi Memory / 500m CPU +- **Controller:** 1Gi Memory / 500m CPU + +--- +*Zuletzt aktualisiert am 06. März 2026 von Gemini CLI*