Repository navigation
Conversation
Package private Podman and Docker sysexts, disabled user units, signed release assets and version-locked sysupdate features independently of Homebrew and installer policy. Assisted-by: GPT-6.1 Sol via GitHub Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
155a9e9
ℹ️ Sentinel notice — informational; author is trusted (owner), merge is not blockedHive flagged this PR (author @castrojo, head
Hive did not add the |
Correct the existing install-action SHA annotation to its verified v2.87.28 tag. Preserve action code, permissions, tool versions and security lint severity; floating major comments no longer match the pinned commit. Assisted-by: GPT-6.1 Sol via GitHub Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: castrojo The full list of commands accepted by this bot can be found here. Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
649cc42
ℹ️ Sentinel notice — informational; author is trusted (owner), merge is not blockedHive flagged this PR (author @castrojo, head
Hive did not add the |
There was a problem hiding this comment.
Reviewed at head 649cc42 (the queue dispatched 155a9e9; the branch has since gained one CI-comment commit).
correctness
- Podman's
/etc/containersseed is shipped but never applied, so a fresh node has nopolicy.jsonorregistries.confandpodman pullfails.elements/runtimes/podman-runtime.bst:56installstmpfiles.confto/usr/lib/bluefin/podman/tmpfiles.conf, a pathsystemd-tmpfilesnever reads;elements/runtimes/podman-sysext.bst:38-44copies that tree and the user units and nothing else, and no unit runssystemd-tmpfiles --createon it (contrastelements/oci/kubeadm-sysext.bst:68+files/kubeadm/sysext/containerd.service:15). The base image has no/etc/containers, sysexts cannot merge/etc, andcontainers/imageresolves policy only from~/.config/containers/policy.jsonor/etc/containers/policy.jsonwith no/usr/sharefallback (signature/policy_config.godefaultPolicyPathWithHomeDir: "no policy.json file found at any of the following"). Nothing infiles/runtimes/podman/containers.confor the wrapperfiles/runtimes/podman/podman:11points Podman at the private copy under/usr/lib/bluefin/podman/etc/containers. Either install the rule into%{indep-libdir}/tmpfiles.d/with a root-side activation path, or set the policy/registries paths explicitly (e.g.CONTAINERS_REGISTRIES_CONFand asignature_policy-equivalent in the wrapper). The docs atdocs/skills/systemd-sysext-extensions.md:116-128do not tell the operator to create these files either. - Lock-step contract test deleted instead of adapted.
tests/unit/test_signed_lockstep.py:170(head) is wheretest_extension_release_name_carries_the_image_versionused to assertsysext-release/sysext-imagecarry%{image-version}for every feature. It only failed because the new elements live underelements/runtimes/rather thanelements/oci/; dropping it removes that guard for zfs, kubeadm, homelab, mcp, etc. too. Resolve the element path per feature (globelements/*/{name}-sysext.bst) rather than delete.
style
- New sysexts live in
elements/runtimes/while every other sysext iselements/oci/*-sysext.bst, whichinclude/sysext.yml:1documents as the convention. This is also what broke the test above. Low. include/runtimes.yml:6-12carries# renovate:annotations, butrenovate.json:9-13only matcheselements/**/*.bstand requires a followingref:line, so none of these versions (nor the sha256ref:s inelements/runtimes/docker-bin.bst:21-45) will ever be bumped automatically. Either wire a manager or drop the comments so they do not imply tracking that does not exist. Low.
docs-currency
docs/skills/ddi-installer.md:41lists every image-locked sysext asset (zfs_…throughnvidia-open-595_…) and was not extended withpodman_<ver>.raw.zst/docker_<ver>.raw.zst, whilescripts/publish-release.sh:290andelements/oci/bluefin-server-image.bst:37-38were. Low.
No findings from: security, intent-alignment.
Confidence: 2/5 (needs attention) — 1 high finding; 1 medium finding
— hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88
Summary
First independent replacement for #463, following @jeefy's requested split. Based on current main (
eafc6f9), including its sed/gzip build dependencies.Verification
just validate: passed on this standalone branch.pre-commit run --all-files: passed.Review decision
Docker retains the digest-pinned upstream static payload from #463 plus FSDK rootless support. The maintainer's upstream-static-binary policy question remains explicit; this PR does not approve or bypass it. No dependency on fsdk-containers#436 or Homebrew/installer changes.
Homebrew integration (#485) and opt-in installer profile (#486) are separate stacked PRs. Minimal remains the default. Independent review is requested from @jeefy.