Files
universe/scripts
zeekayandHanzo Dev 965241ab76 one image per pod: what stages the plugins is what runs them
A node's C-Chain is a plugin, copied onto the volume by an init container at
boot. Those containers named their own image, and drifted: devnet staged from
v1.36.25 under a v1.36.123 node, mainnet from v1.36.88 under v1.36.116, testnet
from v1.34.0 — a tag with no image at all — under v1.36.123. Between 28 and 98
releases apart.

So every roll moved luxd and left the C-Chain built from an old evm. The plugin
files are rewritten on each boot, which makes them look current by any timestamp
you can check; they were written from a stale source. That is how four fleets ran
a two-month-old plugin under a current binary, and why a state-sync default
shipped in the node image did not reach the chain that needed it.

An artifact check cannot see this. The image is internally consistent — the
deployment swaps the plugin out afterwards — so it is a fact about the manifest
and is checked there: scripts/check_image_match.sh refuses a StatefulSet whose
init containers stage from anything other than the image its node runs.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-28 12:41:28 -07:00
..