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 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wajog7nELA3i8JWTjxYGHF
This commit is contained in:
Mukul Sharma
2026-09-06 08:38:56 +05:30
co-authored by Claude Opus 5
parent 1c6c6fc2c3
commit 919ebd5ab8
@@ -132,30 +132,48 @@ appSpec:
namespace: postgres namespace: postgres
chartDir: postgresql chartDir: postgresql
valuesDir: postgresql valuesDir: postgresql
- name: prometheus - name: victoria-metrics-single
# Server only — see custom-values.yaml for exactly why the chart's # Replaces the Prometheus server this entry briefly was (see git
# alertmanager/kube-state-metrics/node-exporter/pushgateway subcharts # history on this file) — same job, lower RAM/disk footprint for the
# are all disabled, and why that is enough for what consumes this: # same metric volume, and it speaks Prometheus's own query API
# toolshed's per-app CPU/memory metrics (docs/PRODUCT-ARCHITECTURE.md # (/api/v1/query) so nothing downstream (toolshed's metrics
# step 5), read straight from the built-in kubernetes-nodes-cadvisor # connection, docs/PRODUCT-ARCHITECTURE.md step 5) needed to change,
# scrape job. # only the URL it points at.
# #
# Vendored official chart (prometheus-community/prometheus), not # Vendored official chart (victoriametrics/helm-charts), same
# hand-written — unlike postgresql, this one has a real official # vendor-the-official-chart pattern as Contour/ArgoCD/Vault/Gitea/
# chart, and Contour/ArgoCD/Vault/Gitea/Harbor/Jenkins already use # Harbor/Jenkins. This exact directory name already existed in this
# this same vendor-the-official-chart pattern rather than reinventing # repo before — a leftover GKE-targeted vendored copy from the
# RBAC and Kubernetes service discovery by hand. # 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 # nameOverride pinned to exactly "victoria-metrics-single" for the
# postgresql/gitea above — without it every rendered object name # same reason as postgresql/gitea/prometheus above: the chart's
# becomes "prometheus-admin-prd-prd" instead. This one matters more # server Service renders as "<release-name>-server", so this is what
# than most: the chart's server Service renders as # makes it resolvable at a predictable hostname
# "<release-name>-server", so pinning the release name to "prometheus" # (victoria-metrics-single-server.monitoring.svc.cluster.local:8428)
# is what makes it "prometheus-server" — the exact hostname toolshed's # rather than "victoria-metrics-single-admin-prd-prd-server".
# PROMETHEUS_URL already points at nameOverride: victoria-metrics-single
# (prometheus-server.monitoring.svc.cluster.local), seeded before this
# existed so the connection would already be correct the day it did.
nameOverride: prometheus
namespace: monitoring namespace: monitoring
chartDir: prometheus chartDir: victoria-metrics-single
valuesDir: prometheus 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