github attune-io/attune v0.1.37

one hour ago

Highlights

A Job policy no longer treats a CronJob's scheduled Jobs as a second target.

When two workloads match the same pod, Attune keeps that pod on the workload that owns it.

Bug fixes

  • A Job policy also resized CronJob children. Selector discovery drops a Job whose owner is a CronJob. A policy that names that Job becomes Ready False with reason WorkloadDiscoveryFailed and the message Job <namespace>/<name> is owned by a CronJob; target the CronJob instead. A Job created with kubectl create job --from stays a Job target, and new pods from it are not sized by the CronJob policy. That command sets cronjob.kubernetes.io/instantiate: manual (#1113, #1122, #1124).

  • Two workloads could count and resize the same pod. The pod stays on the workload that owns it. A Deployment or Rollout owns it through its ReplicaSet. A standalone ReplicaSet owns it when it is the controller. A CronJob owns it through the Job that controls the pod. If neither workload owns the pod, the name that sorts first keeps it (#1113, #1123, #1124).

  • Status and Datadog errors could split a character. Text cut at the length limit stops before a multi-byte character, and invalid bytes are dropped, so the stored message stays valid UTF-8 (#1110, #1122).

  • The fleet dashboard still said savings. Its titles now match the overview dashboard: CPU request gap, memory request gap, and estimated monthly request gap. The number is still the remaining request gap, not money already saved (#1124).

Upgrading

No CRD change. Existing policy YAML still applies. Upgrade the chart to 0.1.37, or set the image tag to 0.1.37 or v0.1.37. The image is built with Go 1.27.3.

A Job policy that selected CronJob children will stop listing those Jobs. Point that policy at the CronJob. kubectl create job --from=cronjob/... still creates a Job target.

Kubernetes support stays 1.32 and newer. On 1.33, an in-place memory limit decrease is still refused when the resize policy is NotRequired. Use RestartContainer or move to 1.34 or newer.

Guide: Upgrading.

Full changelog

v0.1.36...v0.1.37

Don't miss a new attune release

NewReleases is sending notifications on new releases.