perf-sentinel chart v0.9.18
What's new in chart-v0.9.18
This chart release is a template and schema fix, the first since 0.9.0 to change the rendered output rather than only track a new appVersion. It removes two values that could only ever render a manifest the API rejects, makes commonLabels reach the pod template, and widens the default liveness probe budget to the value the runbook has recommended since 0.8.7. appVersion is intentionally held at the current daemon release 0.9.17 because the binary did not change, which breaks the chart/appVersion lockstep for this one release. The chart version advances to 0.9.18 on its own.
Fixed
workload.strategy.type=Recreateno longer renders an invalidDeployment. Overriding only the strategy type left the defaultrollingUpdateblock in the merged values, and the API rejects the pair outright withspec.strategy.rollingUpdate: Forbidden: may not be specified when strategy type is 'Recreate', so the install failed. Anyone wanting a Recreate rollout, the correct choice when two daemon pods must not overlap, hit a hard failure with no obvious cause in their own values file. The template now renderstype: Recreatealone in that case, and the RollingUpdate path is untouched.service.typeno longer acceptsExternalNameinvalues.schema.json. The chart always renders a selector and ports and neverspec.externalName, so the value could only produce a Service the API rejects withspec.externalName: Required value. The enum now stops atClusterIP,NodePortandLoadBalancer, and carries the reason in itsdescription.commonLabelsnow reach the pod template. They were applied to every rendered object except the podTemplate, so pod-level selectors built on a common label (chargeback, network policy, log routing) matched nothing while the same label was visible on the Deployment, the Service and the ConfigMap. The selector labels are unchanged, so this is a pod-template rollout on upgrade, not a selector migration.- Chart metadata and README housekeeping.
artifacthub-repo.ymldrops a stale comment that described a registeredrepositoryIDas an unregistered placeholder. The chartREADME.mdnow carries the Artifact Hub badge its own install section pointed at, and its cross-links todocs/andexamples/are absolute so they resolve when the README is rendered on artifacthub.io instead of on GitHub.
Changed
- The default liveness probe budget widens to
timeoutSeconds: 5andfailureThreshold: 5. This is the valuedocs/RUNBOOK.mdand the0.8.7release notes have recommended since the limit-testing campaign, and the chart had never applied it to its own defaults. Under sustained saturation the whole cgroup is throttled in quanta, and the previous 2s / 3-failure budget restarted a functional daemon that was merely backpressuring, exactly the failure the runbook warns about. The readiness probe stays tight on purpose: dropping the pod from the Service endpoints is the wanted response to saturation, a restart is not. - Chart-only release,
appVersionintentionally unchanged (still0.9.17) because the underlying binary did not change. This breaks the chart/appVersionlockstep for one release, as0.9.16did. The nextappVersionbump jumps straight to0.9.19, skipping0.9.18for the application, to realign the two version numbers going forward.
Behavior
- The rendered manifest set changes for every deployment, unlike the previous chart-only release. The
livenessProbeblock moves to the new budget, so the pod template hash changes andhelm upgraderolls the pod even though the image tag does not move. Deployments that setcommonLabelsalso gain those labels on the pod template. Everything else renders byte-identical to0.9.17. - The image tag is unchanged. With
appVersionheld at0.9.17, theartifacthub.io/imagestag staysghcr.io/robintra/perf-sentinel:0.9.17and the same daemon binary runs after the upgrade. - No daemon behavior changes. No route disappears, no metric loses a label value, no configuration key changes its meaning, and acknowledgment signatures do not reset. Operators who already pinned
livenessProbein their own values file keep their setting, the change only moves the chart default.
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.9.18Upgrade an existing release:
helm upgrade perf-sentinel oci://ghcr.io/robintra/charts/perf-sentinel --version 0.9.18Full Changelog: chart-v0.9.17...chart-v0.9.18