github robintra/perf-sentinel chart-v0.9.18
perf-sentinel chart v0.9.18

4 hours ago

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=Recreate no longer renders an invalid Deployment. Overriding only the strategy type left the default rollingUpdate block in the merged values, and the API rejects the pair outright with spec.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 renders type: Recreate alone in that case, and the RollingUpdate path is untouched.
  • service.type no longer accepts ExternalName in values.schema.json. The chart always renders a selector and ports and never spec.externalName, so the value could only produce a Service the API rejects with spec.externalName: Required value. The enum now stops at ClusterIP, NodePort and LoadBalancer, and carries the reason in its description.
  • commonLabels now 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.yml drops a stale comment that described a registered repositoryID as an unregistered placeholder. The chart README.md now carries the Artifact Hub badge its own install section pointed at, and its cross-links to docs/ and examples/ 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: 5 and failureThreshold: 5. This is the value docs/RUNBOOK.md and the 0.8.7 release 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, appVersion intentionally unchanged (still 0.9.17) because the underlying binary did not change. This breaks the chart/appVersion lockstep for one release, as 0.9.16 did. The next appVersion bump jumps straight to 0.9.19, skipping 0.9.18 for 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 livenessProbe block moves to the new budget, so the pod template hash changes and helm upgrade rolls the pod even though the image tag does not move. Deployments that set commonLabels also gain those labels on the pod template. Everything else renders byte-identical to 0.9.17.
  • The image tag is unchanged. With appVersion held at 0.9.17, the artifacthub.io/images tag stays ghcr.io/robintra/perf-sentinel:0.9.17 and 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 livenessProbe in 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.18

Upgrade an existing release:

helm upgrade perf-sentinel oci://ghcr.io/robintra/charts/perf-sentinel --version 0.9.18

Full Changelog: chart-v0.9.17...chart-v0.9.18

Don't miss a new perf-sentinel release

NewReleases is sending notifications on new releases.