Repository navigation
fix(image): say which platforms an image archive can serve - #8304
Conversation
An export carries content only for its nodes' platform but keeps each multi-platform image's full index, so the archive advertises platforms it cannot serve. Importing it on a node of another platform then failed late, inside ctr, on a missing manifest. Import now reads the archive's index first and, when it holds a multi-platform image, checks each node's platform before copying anything. A node the archive has no content for is refused with an error naming the images. Single-node and multi-node exports both warn afterwards which images carry only some of their platforms. The troubleshooting guide says what a cross-architecture import supports. Part of #8269 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
User trial at
🤖 Generated with Claude Code |
✅
|
Code coverage overviewLanguages: Go Go / code-coverage/go
View coverage of the 7 most impacted files.
ℹ️ Calculations represent line coverage. Results may change as calculations are updated. Updated |
@codex review |
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1015eaa6ea
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
> 🤖 Generated by the Agentic Engineer Check each carried manifest for its config and layers. Cover archives that advertise a platform and contain its manifest but omit a layer.
Keep both node executor helpers in exec.go, and expect the import archive cleanup on the detached cleanup context that main now uses. Part of #8269 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
User trial at
🤖 Generated with Claude Code |
@codex review |
|
Codex Review: Didn't find any major issues. 🎉 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Regenerate the embedded chat documentation so it carries both main's documentation changes and the cross-architecture troubleshooting note. Part of #8269 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
User trial at
🤖 Generated with Claude Code |
@codex review |
|
Codex Review: Didn't find any major issues. More of your lovely PRs please. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |

Why
An exported image archive only holds content for the processor type of the machine it came from, but it still lists every processor type the image supports. Importing it on a machine of another type failed late, with an unclear error, after the export had reported success.
What
Import now checks each machine's processor type before copying anything, and stops with a clear message naming the images it cannot serve there. After an export, KSail warns which images other processor types cannot use, and the troubleshooting guide explains what a cross-architecture import supports.
Fixes #8269
🤖 Generated with Claude Code