What's new in chart-v0.30.0
appVersion moves to 0.30.0 and image.tag follows it to :0.30.0. No template, values.yaml key or schema changes. Under the default values the rendered perf-sentinel.toml differs from what chart-v0.29.0 rendered by two comment lines only, 5655 bytes against 5502, and no setting changes. The other manifest changes are the image, the version labels and checksum/config.
What moves inside the pod
With [daemon.hub_export] and [daemon.correlation] both enabled in config, the daemon now pushes its cross-trace correlations to PerfSentinelHub's /api/import/correlations as episodes, each period during which a pair kept co-occurring, so a correlation outlives the rolling window. The comment on [daemon.hub_export] in values.yaml, which the chart copies into the rendered perf-sentinel.toml, now says so. /metrics gains two label-free series, perf_sentinel_hub_export_correlations_pending and perf_sentinel_hub_export_correlations_dropped_total.
An excessive_fanout whose parent span is outside the trace now keeps one signature from trace to trace instead of one per trace, which filled a Hub's volume and broke its acknowledgments. These findings change signature once.
The v0.30.0 binary notes describe both changes.
Upgrade impact
- Upgrade PerfSentinelHub to 0.6.0 before this chart when
[daemon.hub_export]and[daemon.correlation]are both enabled. An older Hub with sign-in on answers the correlation push with 401, which the daemon retries and logs. With sign-in off it answers 404, and the daemon stops pushing correlations until it restarts. - Orphan
excessive_fanoutfindings change signature once, so an acknowledgment taken on one of the old signatures stops matching. - Pods roll on the image.
helm upgradereplaces them becauseappVersionandimage.tagmove together. checksum/configmoves. The renderedperf-sentinel.tomlgains the two comment lines, and 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.
Verifying this chart
Charts signed before the move carry the original account's identity, so the regex accepts both owners:
cosign verify \
--certificate-identity-regexp '^https://github.com/(robintra|Institut-du-Numerique-Responsable)/perf-sentinel/\.github/workflows/helm-release\.yml@refs/tags/chart-v' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
ghcr.io/institut-du-numerique-responsable/charts/perf-sentinel:0.30.0
helm pull oci://ghcr.io/institut-du-numerique-responsable/charts/perf-sentinel --version 0.30.0
gh attestation verify perf-sentinel-0.30.0.tgz \
--repo Institut-du-Numerique-Responsable/perf-sentinelcosign 3.0 or newer is required, the signature is an OCI 1.1 referrer bundle.
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/institut-du-numerique-responsable/charts/perf-sentinel --version 0.30.0Upgrade an existing release:
helm upgrade perf-sentinel oci://ghcr.io/institut-du-numerique-responsable/charts/perf-sentinel --version 0.30.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.29.0...chart-v0.30.0