• v0.7.4 6524aa4118

    mward4 released this 2026-06-12 15:26:10 -04:00 | 4 commits to main since this release

    Probe-based introspection — remote-share ISOs finally classify, the gparted false-Windows bug is fixed, and Storage pages its library.

    docker pull gitea.milesward.dev/mward4/openpxe:0.7.4
    docker pull gitea.milesward.dev/mward4/openpxe:latest
    

    Introspection, rebuilt

    Detection no longer greps raw sectors for filename strings — it walks the ISO9660 directory tree and checks that the well-known boot files actually exist. The same probes run over NFS (READ3 at offset) and SFTP (seekable handles), so share-hosted ISOs classify like local ones instead of registering as Unknown:

    • Remote ISOs: each scan registers entries instantly with a filename-based family, then a background pass probes every ISO over the share and upgrades it in place — volume label, real family, verified kernel/initrd, El Torito. Results persist in a per-share cache keyed on path@size, so container restarts re-probe only new or replaced files. Your 40-ISO NFS wall of "Unknown" becomes AlmaLinux / CentOS / RHEL / RHCOS / OpenShift rows on the first scan after upgrade.
    • The gparted bug: any Linux ISO shipping GRUB/syslinux chainload modules contains the literal string bootmgr, which the old byte-scan read as Windows. Linux probes now run first; gparted-live (and Clonezilla, Kali live, …) classify as Debian-family. Local ISOs re-probe automatically on first startup — no re-upload.
    • No more guessed boot paths: kernel entries are emitted only when kernel+initrd verifiably exist in the image. Shapes whose boot protocol needs arguments we don't render yet (Debian-live, d-i netinst, CoreOS/RHCOS/agent ISOs — the latter need their embedded ignition) classify for the UI but keep their working sanboot entries.
    • Remote in-ISO serving: /iso/{id}/{*path} now locates and streams files from inside NFS/SFTP-hosted ISOs, so a verified kernel entry on a remote RHEL DVD boots end-to-end.
    • SMB: smbclient can't seek, so SMB ISOs get the filename-token family and an honest "awaiting introspection" label, keeping their optimistic sanboot entry.

    Storage

    The Available images table is paged 5 per page with a quiet footer pager (Showing 1–5 of 50 · Prev/Next). The filter from v0.7.2 composes with it — search narrows, then pages, and the page resets on every keystroke.

    Hosts / Queue

    The deployment-profile picker now reads “Unattended file (in Storage → Advanced)” so it's obvious where those files are managed.


    Validation: clippy (pedantic) clean, fmt clean, 316 workspace tests green (+17 new: ISO9660 walker, probe shapes including the gparted regression and CoreOS, filename-token table, cache round-trips), web UI syntax-checked.

    Downloads