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
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
# "<release-name>-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 "<release-name>-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
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