What's new in chart-v0.26.0
appVersion moves to 0.26.0 and image.tag follows it to :0.26.0. No template, values.yaml key or schema changes. Under the default values the rendered perf-sentinel.toml is byte-for-byte what chart-v0.25.5 rendered, same 5036 bytes and the same digest. The other manifest changes are the image, the version labels and checksum/config.
What moves inside the pod
The default values enable no energy backend, so a release that keeps them sees no figure move. The changes below reach a release that configures [green.kepler], [green.redfish] or [green.alumet] through config or fragments.
The daemon now reads one Kepler zone instead of summing the overlapping ones, set by the new [green.kepler] zone key, package by default, which also leaves DRAM out unless zone names it. Kepler-fed energy and carbon drop in perf_sentinel_energy_kwh, perf_sentinel_carbon_gco2, /api/energy and the periodic disclosures. On a host where Kepler reads hwmon, zone has to name one of the host's sensor zones, otherwise the zero-sample warning fires and those services fall back to the next configured backend or the I/O proxy. PerfSentinelEnergyScraperStale stays silent then, since each scrape still answers HTTP 200.
Under legacy_power, [green.redfish] reads the PowerControl entry whose PhysicalContext is Chassis, where it read entry 0, which a BMC may give to a CPU or memory subsystem. The new schema = "sensor" reads a chassis power Sensor resource, for firmware that serves neither /Power nor a PowerWatts reading, and examples/helm/values-green-redfish.yaml shows it commented out. At start, the daemon warns once when [green.alumet] metric_name names a GPU, Grace, Jetson or TDP-estimate series, or a unit other than joules.
The perf-sentinel CLI in the image names the energy source in query monitor and query inspect where it printed the window's model tag, and the reports the daemon serves gain the optional green_summary.energy_calibrated field. A calibrated daemon behind a measured or Electricity Maps tag now publishes calibration_applied: true in its periodic disclosures.
The v0.26.0 binary notes describe the changes.
Upgrade impact
- Pods roll on the image.
helm upgradereplaces them becauseappVersionandimage.tagmove together. - Kepler-fed figures are not comparable across the upgrade, in the energy and carbon gauges,
/api/energyand the periodic disclosures. A Grafana panel onperf_sentinel_energy_kwhorperf_sentinel_carbon_gco2shows a step down. - A 0.25.5 daemon rejects
[green.kepler] zoneandschema = "sensor"at load, so drop them fromconfigorfragmentsbefore rolling back. checksum/configmoves, and not because your configuration changed. The renderedperf-sentinel.tomlis identical, but the ConfigMap carrieshelm.sh/chartandapp.kubernetes.io/versionlabels that bump with the chart.- No
values.yamlkey is added or removed, no template changes, and the shippedPrometheusRuleis untouched.
Install
The chart is published as an OCI artifact on GHCR, install it directly with no helm repo add step:
helm install perf-sentinel oci://ghcr.io/robintra/charts/perf-sentinel --version 0.26.0Upgrade an existing release:
helm upgrade perf-sentinel oci://ghcr.io/robintra/charts/perf-sentinel --version 0.26.0Read docs/HELM-DEPLOYMENT.md for the ServiceMonitor section, sizing and Ingress postures.
If you are upgrading from chart-v0.23.0 or earlier, read the chart-v0.24.0 notes first: that release raises the default workload.statefulset.persistence.size to 2Gi, which an existing StatefulSet does not pick up on its own. From chart-v0.18.0 or earlier, read the chart-v0.19.0 notes as well: that release adds a grouping label to five metrics and is breaking for an unaggregated alert on any of them. From chart-v0.16.0 or earlier, the chart-v0.17.0 notes change the shipped PrometheusRule.
Full Changelog: chart-v0.25.5...chart-v0.26.0