docs: comprehensive update of installation instructions including SSO, RBAC and Secret management
This commit is contained in:
@@ -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*
|
||||||
|
|||||||
Reference in New Issue
Block a user