apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: kube-prometheus-stack namespace: argocd annotations: argocd.argoproj.io/sync-wave: "1" spec: project: default sources: - repoURL: https://prometheus-community.github.io/helm-charts chart: kube-prometheus-stack targetRevision: "65.0.0" # TODO: verify latest via `helm search repo prometheus-community/kube-prometheus-stack --versions` helm: valueFiles: - $values/platform/apps/kube-prometheus-stack/values.yaml - repoURL: https://gitea.fireflylab.cc/duynguyen/cluster-platform.git targetRevision: main ref: values - repoURL: https://gitea.fireflylab.cc/duynguyen/cluster-platform.git targetRevision: main path: platform/apps/kube-prometheus-stack directory: exclude: "{application.yaml,values.yaml}" destination: server: https://kubernetes.default.svc namespace: monitoring # Gateway API's admission webhook server-side-defaults backendRefs[].group # and .weight on the grafana HTTPRoute — fields our manifest omits — so # ArgoCD sees permanent drift vs Git even though the object matches intent # (route itself is Accepted/ResolvedRefs=True, Grafana reachable). Ignore # the defaulted fields instead of chasing a diff that will never close. ignoreDifferences: - group: gateway.networking.k8s.io kind: HTTPRoute jsonPointers: - /spec/rules/0/backendRefs/0/group - /spec/rules/0/backendRefs/0/weight syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true - ServerSideApply=true - SkipDryRunOnMissingResource=true