github enix/kube-image-keeper v3.0.0-alpha.4

pre-release5 hours ago

3.0.0-alpha.4 (2026-10-13)

Features

  • metrics: export the image series shared by the monitors and the mirrors (d3ea4b4)
  • metrics: hold the entries a restart left out of a capped list (ed187c7)
  • mirroring: carry the failing and drifted images of an ImageMirror over a restart, and copy into no listed repository before the first pass (03684d4)
  • mirroring: compute the desired state of an ImageMirror (1f10fc9)
  • mirroring: copy the images an ImageMirror owes on the copy windows of their source (a6f0d52)
  • mirroring: count the copy side of an ImageMirror and coalesce its copy failures (d89f363)
  • mirroring: export the image, copy and deletion series of the ImageMirrors (d80b200)
  • mirroring: hold a deleted ImageMirror until no pod runs its copies, then delete its tags (9e27d60)
  • mirroring: hold the unused destination tags for their retention, then delete them by tag (96d0be3)
  • mirroring: keep pendingDeletion and the copy counts exact across lost status writes, interrupted sweeps and the list cap (027987b)
  • mirroring: let the code set the capacity of the status lists (f60cd46)
  • mirroring: make destination.path immutable (8f3566b)
  • mirroring: name the real reason of a failed source read, and copy nothing once an ImageMirror is deleted (14be4d2)
  • mirroring: re-read the copied tags under driftPolicy Warn and Sync, and resync them under Sync (3a56b34)
  • mirroring: recompute the desired state after a sweep, so a swept tag is never copied again (4767ee4)
  • mirroring: self-check the destination of an ImageMirror once per scan interval (aabc1e0)
  • mirroring: sweep the destination tags and hold them for their retention (5d7c269)
  • mirroring: watch the pods, namespaces and Secrets an ImageMirror depends on, debounced (40b5355)
  • mirroring: write the Ready condition and the routing side of the ImageMirrors (7c9e48e)
  • monitoring: cap the unavailableImages of an ImageMonitor, keeping the oldest (0d90f40)
  • monitoring: check an image with the pull secrets of its pods, then fallbackAuth, and announce an anonymous access denied (4f1cd2f)
  • monitoring: check the images an ImageMonitor tracks on paced rings and report the unavailable ones (e1e49e1)
  • monitoring: track the images an ImageMonitor selects and keep unused ones for their retention (9ef3bb1)
  • pacing: export the destination scan interval of mirror destinations (cc8d101)
  • pacing: stop exporting the scan interval of a destination no ImageMirror uses any more (3b87cf6)
  • routing: stop routing to an ImageMirror being deleted (b967bf0)

Bug Fixes

  • pacing: cache no check that gives no verdict (69685b4)
  • pacing: hide the series of a host no ring nor copy queue uses (f43f05f)
  • pacing: report cycleStarted to the second (ed8d318)
  • pacing: resume cycleDuration from the persisted status (f571db3)

Don't miss a new kube-image-keeper release

NewReleases is sending notifications on new releases.