apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: prometheus-stack namespace: argocd spec: project: default source: repoURL: https://prometheus-community.github.io/helm-charts targetRevision: 61.x.x chart: kube-prometheus-stack helm: values: | namespaceOverride: "monitoring" # Gemeinsame Labels für alle Ressourcen commonLabels: tier: infra prometheus: prometheusSpec: # Prometheus soll nur auf Nodes mit diesem Label laufen: securityContext: runAsUser: 0 runAsGroup: 0 fsGroup: 0 runAsNonRoot: false nodeSelector: tier: infra retention: 7d storageSpec: volumeClaimTemplate: spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 10Gi resources: requests: memory: "1Gi" limits: memory: "2Gi" grafana: # Auch Grafana ziehen wir auf die Infra-Nodes nodeSelector: tier: infra persistence: enabled: true size: 2Gi # Der Node-Exporter läuft weiterhin als DaemonSet ÜBERALL, # damit er JEDEN RAM im Cluster sieht. nodeExporter: enabled: true operatingSystem: linux destination: server: https://kubernetes.default.svc namespace: monitoring syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true - ServerSideApply=true - SkipDryRunOnMissingResource=true # Erlaubt Argo weiterzumachen, auch wenn CRDs noch laden