# Session 2026-02-25

## Context

Session 41. Adding n8n Prometheus metrics and a Grafana dashboard. Also
resolved a ServiceMonitor discovery issue causing custom monitors to be ignored.

## Findings

- ServiceMonitor discovery requires `serviceMonitorSelector: {}` (select all) AND
  `NilUsesHelmValues: false` in kube-prometheus-stack values. Without NilUsesHelmValues,
  the chart applies its own label selector which ignores custom ServiceMonitors.
- pve-exporter 3.8.1 works with current Prometheus — no breaking changes from 3.7.x
- Grafana dashboard provisioning via ConfigMap is stable; no need for Grafana API

## Actions Taken

- Updated `platform-services.md` with pve-exporter 3.8.1 and Grafana 12.3.3 versions
- Updated `homelab-iac.md` Overview with v0.160.0 tag

## Consolidation Notes

- Promote ServiceMonitor discovery fix to technical-gotchas.md under Kubernetes/Flux section:
  "ServiceMonitor discovery: `serviceMonitorSelector: {}` + `NilUsesHelmValues: false` required"
