From b05c8cd4635f99862c65dd59d1cc6e34294efe06 Mon Sep 17 00:00:00 2001 From: gemini Date: Fri, 6 Mar 2026 21:08:40 +0000 Subject: [PATCH] docs: comprehensive update of installation instructions including SSO, RBAC and Secret management --- .../installation_instructions.md | 64 ++++++++++++++++++- 1 file changed, 62 insertions(+), 2 deletions(-) diff --git a/06_argocd_installation/installation_instructions.md b/06_argocd_installation/installation_instructions.md index 65b76ee..6f95f74 100644 --- a/06_argocd_installation/installation_instructions.md +++ b/06_argocd_installation/installation_instructions.md @@ -1,5 +1,65 @@ -# Argo-CD Installation mit SSO über Authentik +# 🚀 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 -helm upgrade --install argocd argo/argo-cd --namespace argocd -f argo-values.yaml \ No newline at end of file +# 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*