Convention: only the root app-of-apps (platform) auto-syncs so it picks up new/changed child Application definitions from Git. Every leaf service app (vault, headlamp, harbor, jenkins, sonarqube, external-secrets, kube-prometheus-stack) now requires an explicit manual Sync — matches cluster-bootstrap and homelab-services' existing ignis convention.
45 lines
1.7 KiB
YAML
45 lines
1.7 KiB
YAML
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
|
|
# Leaf app — manual sync only; root `platform` app-of-apps stays automated.
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- ServerSideApply=true
|
|
- SkipDryRunOnMissingResource=true
|