What's changed
- Fix OpenCost failing to deploy with
duplicate entries for key [name="CONFIG_PATH"]whencustomPricingis enabled. The GKE GCP-provider workaround no longer setsCONFIG_PATHviaextraEnv(which collided with theCONFIG_PATHthe OpenCost chart sets for custom pricing); instead it mounts a writableemptyDirat OpenCost's default config path (/var/configs). (#2692) (@petewall) - Require
labelMatchers(rather than accepting anamespacealone) when connecting Cluster Metrics (kube-state-metrics), Host Metrics (Node Exporter, Windows Exporter, Kepler), or Cost Metrics (OpenCost) to an existing service that is not deployed viatelemetryServices. Previously a namespace-only configuration rendered an emptylabel = ""selector that matched every pod in the namespace. (@petewall) - Add a best-effort validator that uses Helm
lookupto confirm the configuredlabelMatchersactually select running pods in the specifiednamespacefor an existing kube-state-metrics, Node Exporter, Windows Exporter, Kepler, or OpenCost. The check is skipped duringhelm template/--dry-run(no cluster connection) and only runs when a namespace is set. (@petewall) - Update Alloy Operator to 0.5.9, Beyla to 1.16.8, and OpenCost to 2.5.23 (@petewall)* Add a best-effort validator that checks (via Helm
lookup) for an existing Node Exporter using the same port when deploying the bundledtelemetryServices.node-exporter. If a port conflict is detected, the install fails with guidance to either skip the deployment and point Host Metrics at the existing Node Exporter, or deploy on a unique port. (@petewall)
Full changelog: CHANGELOG.md