Files

2.2 KiB

🚀 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:

# 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