Application
Die Kern-CR: Source (repoURL,
path, targetRevision) +
Destination (server,
namespace) + project.
syncPolicy.automated aktiviert Auto-Sync:
prune löscht aus Git Entferntes,
selfHeal revertiert manuelle Cluster-Änderungen
zurück auf den Git-Stand.
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: shop
namespace: argocd
spec:
project: team-shop
source:
repoURL: https://git.example.com/shop/deploy.git
targetRevision: main
path: overlays/prod
destination:
server: https://kubernetes.default.svc
namespace: shop
syncPolicy:
automated: {prune: true, selfHeal: true}
AppProject
Blast-Radius pro Team: sourceRepos (erlaubte
Git-Quellen), destinations (Cluster + Namespaces),
clusterResourceWhitelist (Allow-List für
cluster-scoped Kinds), namespaceResourceBlacklist.
Commit-Signaturen seit v3.5 über sourceIntegrity
(ersetzt signatureKeys).
Projekt-Rollen bündeln Policies; JWT-Tokens dazu
(argocd proj role create-token) für CI-Zugriff.
Das default-Projekt erlaubt initial alles, für Prod einschränken oder eigene Projekte schneiden.