docs: comprehensive update of installation instructions including SSO, RBAC and Secret management

This commit is contained in:
2026-03-06 21:08:40 +00:00
parent 7abcdb1546
commit b05c8cd463
@@ -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 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 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*