From 919ebd5ab837ae40318763b0d7f3ce72ceabab64 Mon Sep 17 00:00:00 2001 From: Mukul Sharma Date: Sun, 6 Sep 2026 08:38:56 +0530 Subject: [PATCH] Replace the prometheus appSpec entry with victoria-metrics-single/vmagent/node-exporter Matches the chart-side replacement in devops-infra-helm-charts. Three Applications now where there was one, since victoria-metrics-single bundles no scraper or exporter the way the Prometheus chart did. Sync order matters here specifically: victoria-metrics-single needs to exist before vmagent's remote_write target resolves, though ArgoCD sync failures are naturally retried so this only affects how quickly it converges, not whether it does. Verified with `helm template` against generic-argo-apps-chart and this values file: 11 Applications render, the three new ones present and correctly formed, nothing left pointing at the removed prometheus chartDir. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01Wajog7nELA3i8JWTjxYGHF --- ...bator-infra-k8s-admin-prd-ase1-values.yaml | 66 ++++++++++++------- 1 file changed, 42 insertions(+), 24 deletions(-) diff --git a/values/incubator-infra-k8s-admin-prd-ase1-values.yaml b/values/incubator-infra-k8s-admin-prd-ase1-values.yaml index 1b1adb3..bcb53cd 100644 --- a/values/incubator-infra-k8s-admin-prd-ase1-values.yaml +++ b/values/incubator-infra-k8s-admin-prd-ase1-values.yaml @@ -132,30 +132,48 @@ appSpec: namespace: postgres chartDir: postgresql valuesDir: postgresql - - name: prometheus - # Server only — see custom-values.yaml for exactly why the chart's - # alertmanager/kube-state-metrics/node-exporter/pushgateway subcharts - # are all disabled, and why that is enough for what consumes this: - # toolshed's per-app CPU/memory metrics (docs/PRODUCT-ARCHITECTURE.md - # step 5), read straight from the built-in kubernetes-nodes-cadvisor - # scrape job. + - name: victoria-metrics-single + # Replaces the Prometheus server this entry briefly was (see git + # history on this file) — same job, lower RAM/disk footprint for the + # same metric volume, and it speaks Prometheus's own query API + # (/api/v1/query) so nothing downstream (toolshed's metrics + # connection, docs/PRODUCT-ARCHITECTURE.md step 5) needed to change, + # only the URL it points at. # - # Vendored official chart (prometheus-community/prometheus), not - # hand-written — unlike postgresql, this one has a real official - # chart, and Contour/ArgoCD/Vault/Gitea/Harbor/Jenkins already use - # this same vendor-the-official-chart pattern rather than reinventing - # RBAC and Kubernetes service discovery by hand. + # Vendored official chart (victoriametrics/helm-charts), same + # vendor-the-official-chart pattern as Contour/ArgoCD/Vault/Gitea/ + # Harbor/Jenkins. This exact directory name already existed in this + # repo before — a leftover GKE-targeted vendored copy from the + # original Meesho monorepo import — and was removed rather than + # adapted; see that chart's own Chart.yaml comment. # - # nameOverride pinned to exactly "prometheus" for the same reason as - # postgresql/gitea above — without it every rendered object name - # becomes "prometheus-admin-prd-prd" instead. This one matters more - # than most: the chart's server Service renders as - # "-server", so pinning the release name to "prometheus" - # is what makes it "prometheus-server" — the exact hostname toolshed's - # PROMETHEUS_URL already points at - # (prometheus-server.monitoring.svc.cluster.local), seeded before this - # existed so the connection would already be correct the day it did. - nameOverride: prometheus + # nameOverride pinned to exactly "victoria-metrics-single" for the + # same reason as postgresql/gitea/prometheus above: the chart's + # server Service renders as "-server", so this is what + # makes it resolvable at a predictable hostname + # (victoria-metrics-single-server.monitoring.svc.cluster.local:8428) + # rather than "victoria-metrics-single-admin-prd-prd-server". + nameOverride: victoria-metrics-single namespace: monitoring - chartDir: prometheus - valuesDir: prometheus \ No newline at end of file + chartDir: victoria-metrics-single + valuesDir: victoria-metrics-single + - name: vmagent + # The scraper — pulls from the same targets the Prometheus server + # used to scrape directly (kubelet's cAdvisor endpoint, and anything + # carrying a prometheus.io/scrape annotation, e.g. node-exporter + # below) and remote_writes into victoria-metrics-single. Needs that + # component's Service name, so bring it up after, not before. + nameOverride: vmagent + namespace: monitoring + chartDir: vmagent + valuesDir: vmagent + - name: node-exporter + # Host-level metrics (disk/memory/load) — independent of which TSDB + # stores them, so vendored standalone rather than as a subchart of + # anything. Was a subchart of the (now removed) Prometheus server + # entry; moved out to its own release when that server was replaced, + # since victoria-metrics-single has no equivalent bundled subchart. + nameOverride: node-exporter + namespace: monitoring + chartDir: node-exporter + valuesDir: node-exporter \ No newline at end of file