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 update
|
||||
|
||||
helm upgrade --install argocd argo/argo-cd --namespace argocd -f argo-values.yaml
|
||||
# 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*
|
||||
|
||||
Reference in New Issue
Block a user