Problem
With platform.chartPath (a local meta chart directory) agentlab writes its stable-line lab values, which set kagent.serviceMonitor.enabled: true — the connectivity chart then renders the kagent controller metrics Service and ServiceMonitor. The dev-channel shape (platform.chartBranch) sets false with the comment that kagent main opens no metrics listener. Meta chart 4.0 (giantswarm/agent-platform#341, PR #350) runs the kagent line (kagent API v2), whose controller serves no /metrics, and defaults kagent.serviceMonitor.enabled to false in both charts; a chartPath lab of that chart still gets true from agentlab, so:
- Prometheus gets a kagent target that is never up, and
agentlab platform-test fails at "Verifying Prometheus scrapes the platform itself" with prometheus is not scraping kagent — the check expects a kagent target whenever the ServiceMonitor exists (kagentControllerMonitored()).
Seen on agentlab v0.31.1 proving PR #350 from a checkout (platform.chartPath); a platform.valuesFiles overlay with kagent.serviceMonitor.enabled: false works around it.
Proposed solution
The lab values leave kagent.serviceMonitor.enabled to the chart's default (or set false) whenever the platform runs the kagent line — for chartPath as for chartBranch; from meta chart 4.0 on that is every lab (#138 makes the 4.0 topology the lab's shape). platform-test keeps expecting a kagent target only where a ServiceMonitor exists, so nothing else changes.
Acceptance criteria
Problem
With
platform.chartPath(a local meta chart directory) agentlab writes its stable-line lab values, which setkagent.serviceMonitor.enabled: true— the connectivity chart then renders the kagent controller metricsServiceandServiceMonitor. The dev-channel shape (platform.chartBranch) setsfalsewith the comment that kagentmainopens no metrics listener. Meta chart 4.0 (giantswarm/agent-platform#341, PR #350) runs the kagent line (kagent API v2), whose controller serves no/metrics, and defaultskagent.serviceMonitor.enabledtofalsein both charts; achartPathlab of that chart still getstruefrom agentlab, so:agentlab platform-testfails at "Verifying Prometheus scrapes the platform itself" withprometheus is not scraping kagent— the check expects a kagent target whenever the ServiceMonitor exists (kagentControllerMonitored()).Seen on agentlab v0.31.1 proving PR #350 from a checkout (
platform.chartPath); aplatform.valuesFilesoverlay withkagent.serviceMonitor.enabled: falseworks around it.Proposed solution
The lab values leave
kagent.serviceMonitor.enabledto the chart's default (or setfalse) whenever the platform runs the kagent line — forchartPathas forchartBranch; from meta chart 4.0 on that is every lab (#138 makes the 4.0 topology the lab's shape).platform-testkeeps expecting a kagent target only where a ServiceMonitor exists, so nothing else changes.Acceptance criteria
platform.chartPathlab of a 4.x meta chart renders no kagent controllerServiceMonitorwithout an overlay;agentlab platform-testpasses on it.