agent-platform release v4.7.18
Fixed
- The substrate release pins the platform Harness’s image in atelet’s image cache, and the Substrate line re-pins to
v0.0.27-gs.6 (giantswarm/giantswarm#37764; giantswarm/giantswarm#37742 rows 34 and 35): atelet’s image GC evicted every image older than two minutes on every pass while the cache volume sat above the 85 % watermark — the Harness image included — so the first turn after a few idle minutes paid a cold pull and unpack that did not fit the resume’s restore budget and failed with context canceled. The line’s sixth release (giantswarm/substrate#21, #23, #24) makes the pinned set configurable (--image-cache-pinned-images; chart atelet.imageCache.{gcPeriod,highPercent,lowPercent,minAge,maxBytes,pinnedImages}, unset by default) and raises the router’s request-parking budget to 30 s. The meta chart derives atelet.imageCache.pinnedImages for the substrate release from kagent.harness.image (agent-platform.componentDerivedValues, next to the CNPG connection Secret): the platform Harness’s digest joins whatever substrate.atelet.imageCache.pinnedImages lists — the installation’s own pins first, once each — so atelet pulls it at every GC pass and never evicts it, and a Harness re-pin moves the pinned set with it; no second copy of the digest anywhere. The other imageCache knobs stay the chart’s defaults (an installation or a lab tunes them in substrate.atelet.imageCache). components.substrate/components.substrate-crds move to >=0.0.27-gs.6 <0.0.28-0 and kagent.substrateWorkerPool.workerImage to …:0.0.27-gs.6; examples/customer-bom.yaml and tests/verify-components.py move with the pin. make verify-components asserts the derived pin (the default render, a re-pinned Harness image, an installation’s own list). An installation on the 4.x line rolls the atelet DaemonSet once (--image-cache-pinned-images=<Harness digest>) on its next reconcile; the lab proof — no Image cache evicting image record for the Harness image, the first turn after ten idle minutes completing — is the audit’s next step. No installation acts — the release stays inert behind the fleet’s <4.0.0 bound.