fix: select bundled parent before reading image metadata #135
No reviewers
Labels
No labels
app-migration
bug
ci-cd
cluster
Documentation
duplicate
enhancement
gpu
invalid
networking
question
security
Storage
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Homelab/workflows!135
Loading…
Reference in a new issue
No description provided.
Delete branch "kiyi/package-parent-inventory"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Base-images #57 already picked up stable-v1 v1.47.3. Validator run 368 and Grafana build run 367 successfully pull and verify the DU Core package, then fail in package_parents.image_manifest with “Missing or changed OCI metadata blob,” before building an image.
The helper opens every image descriptor before selecting the requested digest. A component-filtered UDS bundle can retain the complete package image index while omitting unrelated optional-image blobs. Select the exact parent digest first. When resolving a multi-architecture parent, inspect only the OCI/Docker index named for that parent, then require its exact Linux amd64 child. Selected package/index/manifest/config/layer size and digest checks remain enforced; missing selected data still blocks. Diagnostics now distinguish missing metadata from changed metadata and identify its digest. No package declarations, charts, manifests, credential scopes, scan mitigations or check names change.
Validation: 573 Linux unit/contract tests passed (20 tool-dependent skips; the previously separate Windows Git-path case was not rerun). All 26 focused package-parent/container tests and Ruff passed; the native Gitleaks pre-commit gate passed. New synthetic fixtures cover omitted unrelated manifests/indexes, both Zarf image-name annotations, exact amd64 child selection, and missing/corrupt selected metadata. No local container build, real package pull, scanner run, publication or deployment was performed. Hosted acceptance remains required.
After merge, publish/promote the workflow fix to stable-v1, then retry base-images #57. Its caller already uses the channel; no new base-image source changes are required for this parser fix.
Reviewed the exact head's
pipeline/package_parents.pyand new package-parent fixtures. The change skips nonselected manifest descriptors before reading optional blobs, restricts alternate multiarch traversal to a parent-named OCI/Docker index, requires the exact Linux/amd64 child digest, and retains descriptor size/digest verification and the existing payload checks. Synthetic tests cover omitted unrelated metadata and missing selected metadata. This is UDS-bundle parsing (pinned client 0.39.0), not a deployment/routing/policy change; no new gateway, route, package declaration, or scan bypass is introduced. Source approved; Workflow acceptance, Repository security, and Library checks were still pending at review time. Approval is not merge or publication authorization; hosted gates and real package/build acceptance remain separate.CI at submission: pending. This is a source-review approval, not a scan verdict; required checks still block merge.