feat(kernel-chain): publish node-base as :v2, which carries jq and yq #594

Merged
binjovi-bot merged 2 commits from sean/node-base-jq-yq into trunk 2026-09-10 19:02:25 +00:00 AGit
Owner

builder-images adds jq and yq to the node OS package layer so the two gates that run inside the node image can read JSON and the one TOML file without a Python interpreter. The tag is immutable by rule -- zot onDemand sync and Spegel both latch a moving tag's first-seen digest -- so this publishes :v2, and node-bootc FROMs it in the matching builder-images change. node-base-seed is a one-shot BuildRun held by literal name, so the new tag is produced by deleting it and letting Flux recreate it. https://claude.ai/code/session_01KZoQin34jeyt6nDGqvJA76

builder-images adds jq and yq to the node OS package layer so the two gates that run inside the node image can read JSON and the one TOML file without a Python interpreter. The tag is immutable by rule -- zot onDemand sync and Spegel both latch a moving tag's first-seen digest -- so this publishes :v2, and node-bootc FROMs it in the matching builder-images change. node-base-seed is a one-shot BuildRun held by literal name, so the new tag is produced by deleting it and letting Flux recreate it. https://claude.ai/code/session_01KZoQin34jeyt6nDGqvJA76
feat(kernel-chain): publish node-base as :v2, which carries jq and yq
All checks were successful
binjovi/ci Binjovi completed the frozen plan
bce229cd21
`builder-images` adds `jq` and `yq` to the node OS package layer, so the
two gates that run inside the node image -- the kernel artifact check
and the boot image check -- can read JSON and the one TOML file on the
node without a Python interpreter.

The tag is immutable by rule: zot's onDemand sync and Spegel both latch
a moving tag's first-seen digest, so a re-pushed :v1 would never reach
the build. This publishes :v2, and `node-bootc` FROMs it in the same
change on the builder-images side.

`node-base-seed` is a one-shot BuildRun held by a literal name, so the
new tag is produced by deleting it and letting Flux recreate it, as the
comment beside it says.

Claude-Session: https://claude.ai/code/session_01KZoQin34jeyt6nDGqvJA76
fix(buildkit): the ARM cache was ten gigabytes, and a node build fills it
All checks were successful
binjovi/ci Binjovi completed the frozen plan
2f57e3a25f
The `node-base-arm64` build failed with

    error committing 7sq3dsfxg3ua: write
    /home/user/.local/share/buildkit/runc-overlayfs/metadata_v2.db:
    disk quota exceeded

and dnf had already reported `disk I/O error` on its own
`history.sqlite` a moment before, which is the same disk running out
wearing a different hat.

That build runs a whole-OS `dnf upgrade` plus about thirty packages
UNDER EMULATION, keeps the RPM cache on purpose, and holds an overlayfs
snapshot per RUN. Ten gigabytes does not hold it. The amd64 lane has had
100Gi for the whole fleet since the six per-lane claims were replaced;
this lane builds fewer images but pays emulation for every one, so it
gets the same.

`zfs-nvme-128k` sets `allowVolumeExpansion: true`, so the claim grows in
place with no data movement. The reason is an annotation because this
manifest is JSON and JSON has no comments.

Claude-Session: https://claude.ai/code/session_01KZoQin34jeyt6nDGqvJA76
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
sean/seanfarm!594
No description provided.