• v0.3.0 4e88305101

    mward4 released this 2026-05-06 14:14:09 -04:00 | 50 commits to main since this release

    v0.3.0 — UI/Branding OpenPXE

    Full project rename to match openpxe.com. The product now reads as a polished open-source release rather than a personal-tool nickname. Placeholder retired; new mark is the rainbow-horizon medallion from site examples (animated SMIL gradient, no GIF, no JS).

    Pull

    docker pull gitea.milesward.dev/mward4/openpxe:0.3.0
    

    Naming changes

    OpenPXE everywhere user-visible or developer-facing:

    • 8 crate package names updated
    • The bin crate dir + binary (crates/openpxe, bin = "openpxe")
    • Env vars updated
    • Tracing targets updated
    • Prometheus metrics updated
    • Container image path: gitea.milesward.dev/mward4/openpxe
    • All in-tree paths: /var/lib/openpxe/{isos,work,smb}, /usr/share/openpxe/ipxe
    • Unraid template updated

    Gated Deployment → Queued Deployment as the user-facing concept:

    • Settings::TimeoutAction::GatedDeploymentQueuedDeployment (with #[serde(alias = "gated_deployment")] so v0.2.0 settings.json files keep deserializing transparently)
    • Rust types: GateQueueEntry, GateQueueDeploymentQueue, gate.rsqueue.rs
    • HTTP routes: /api/gate/*/api/queue/*. JSON envelope key flipped from "gates" to "entries"
    • iPXE shortcut: /boot/_gate.ipxe/boot/_queue.ipxe. Top-level menu item id queue instead of gate
    • WebUI sidebar tab: "Forge Gate" → "Queue"

    Brand assets

    • logo.svg is a 24×24 medallion filled with the rainbow-horizon gradient from openpxe.com (sliding hue rotation via SMIL on the gradient stops, no JS).
    • anvil-forge.svgloader.svg, rebuilt as a 64×64 louder version of the same disc — used for page-load transitions and the imaging-progress widget. Adds a subtle scale pulse and a white inner-glow for depth.

    The dashboard layout is unchanged — light/dark theme tokens and the sidebar/topbar carry over from v0.2.0. "Keeping the UI similar" was the brief.

    Validation

    • cargo build --workspace clean
    • cargo clippy --workspace --all-targets no warnings
    • cargo test --workspace66 tests passing
    • Local smoke against the rebuilt release binary verifies:
      • /boot.ipxe emits Queued Deployment + item queue and chains /boot/_queue.ipxe
      • /api/queue returns {count, entries}
      • /metrics emits openpxe_queue_count (renamed from pxeforge_gate_count)
      • /assets/logo.svg and /assets/loader.svg serve the new rainbow brand SVGs
      • /api/status reports version 0.3.0

    Image details

    • Base: debian:12-slim
    • Architecture: linux/amd64
    • Size: ~97 MB
    • Digest: sha256:c5fea580fb248d63f4d6c5bb9af229c2824673d5a1207f1c0e9d841c9fe40d36
    • Runs as uid 10001 (entrypoint chowns bind mounts as root, then drops via gosu)
    • Required cap: NET_BIND_SERVICE
    • Optional cap: SYS_ADMIN for NFS share mounting

    For Unraid: pull deploy/unraid/openpxe.xml and re-add the container under the new template. Move host appdata to /mnt/user/appdata/openpxe/.

    Downloads