Commit Graph

  • 017c3c38fe feat(ui): 15-point UX overhaul — affordances, feedback, and navigation main josh 2026-04-23 20:08:07 -04:00
  • 8367ec2a9f docs: comprehensive documentation expansion josh 2026-04-23 18:37:26 -04:00
  • 17ec55cb85 chore: cleanup sprint — dead CSS, dedup helpers, handler refactor josh 2026-04-21 20:39:38 -04:00
  • c11573eeeb feat(ui): slim dashboard tile to hostname + online/offline only josh 2026-04-20 22:56:05 -04:00
  • 6d50f3a804 feat(install): polish install UX with banner, spinner, progress bar, summary josh 2026-04-20 22:29:44 -04:00
  • 48f992a451 bump live-image josh 2026-04-20 21:31:09 -04:00
  • 98cdd95b50 chore(release): add registry auth diagnostic to build-live-image josh 2026-04-20 21:27:23 -04:00
  • 211abdf08f feat(release): version live-image, skip rebuild+redownload when unchanged josh 2026-04-20 21:04:14 -04:00
  • 4c153bb115 chore(templ): regenerate host_tile_templ.go for cancelledFromHold josh 2026-04-20 21:04:01 -04:00
  • a01db63952 feat(install): auto-heal pxe.interface/pxe.subnet against the host josh 2026-04-20 19:56:39 -04:00
  • 599fd156d0 feat(ui): distinguish cancel-from-hold as "Failed (cancelled)" josh 2026-04-20 18:54:04 -04:00
  • 73f727b4c1 fix(agent): keep heartbeat loop alive during FailedHolding josh 2026-04-20 18:28:43 -04:00
  • 62bddac110 feat(cancel): allow cancel from FailedHolding, reboot to local disk josh 2026-04-19 22:59:34 -04:00
  • 21014c1268 fix(inventory): read GPU model from device field, not vendor field josh 2026-04-19 22:53:42 -04:00
  • e73b221a8c fix(ui): fit pipeline timeline without horizontal scroll josh 2026-04-19 22:51:10 -04:00
  • 3656af9823 feat(end-of-run): reboot to local disk instead of powering off josh 2026-04-19 22:45:11 -04:00
  • 8acef92a60 feat(inventory): deep hardware capture + per-probe substeps + verbose logs josh 2026-04-19 22:21:17 -04:00
  • 481b67fb69 feat(firmware): install probe tools in live image + surface nic/hba gaps josh 2026-04-19 21:56:18 -04:00
  • c545028903 feat(run-page): tick the run-duration timer between SSE pushes josh 2026-04-19 21:53:40 -04:00
  • 05ceb8e042 ci(release): skip release workflow for non-bundle changes josh 2026-04-19 21:08:26 -04:00
  • 988448664a fix(runs): stamp completed_at on cancel/terminal SetState transitions josh 2026-04-19 20:21:39 -04:00
  • bbe1b19819 store: fix FindActiveByMAC scanning profile column that wasn't selected josh 2026-04-19 20:14:16 -04:00
  • 75c29bb31a ci: pin upload-artifact to v3 for Gitea compatibility josh 2026-04-18 22:58:59 -04:00
  • 23c689aa5b deep profile + threshold gating + firmware stage + Burn super-stage josh 2026-04-18 22:50:57 -04:00
  • fbb21cbafd ci: delete latest version, not the file, before re-uploading josh 2026-04-18 21:07:24 -04:00
  • 19608bef1b ui: split /hosts/{id} into host page + /runs/{runID} run page josh 2026-04-18 20:37:57 -04:00
  • 5c6bfa5ffa ui: fix log lines rendering vertically when stage prefix is present josh 2026-04-18 19:20:51 -04:00
  • f79fe0f0db ui: GitHub-Actions-style detail page, sub-steps, mini-tile run-view josh 2026-04-18 19:00:11 -04:00
  • 5c00edd7b6 ui: fix htmx-ext-sse integrity hash (was silently blocked by browser) josh 2026-04-18 17:51:58 -04:00
  • 27098fc7ed cpustress+orchestrator: serial CPU/RAM passes + silent-skip guard josh 2026-04-18 17:29:13 -04:00
  • cdd6cae3b0 ui: keep detail-page SSE swaps live after the first outerHTML replace josh 2026-04-18 17:03:39 -04:00
  • e73e31af92 live-image: install stage tools and fail loudly if any are missing josh 2026-04-18 16:39:28 -04:00
  • 0db790ae3e ui: stream host-detail fragments over SSE so the page updates live josh 2026-04-18 16:36:13 -04:00
  • 5e9ad7f569 probes: sanitize disk serials and normalize GPU model for stable spec keys josh 2026-04-18 16:06:18 -04:00
  • d48cf146f4 live-image: mask systemd-firstboot at image-build time josh 2026-04-18 15:41:46 -04:00
  • 026923075c pxe: disable systemd-firstboot so the live image doesn't prompt josh 2026-04-18 15:35:24 -04:00
  • 956120b80e deploy: show speed + ETA in bundle-download progress meter josh 2026-04-18 15:04:26 -04:00
  • c45349f62c pxe: mask serial-getty@ttyS0 so hosts without serial don't wait 90s josh 2026-04-18 14:47:03 -04:00
  • a88e24bef4 live-image: real /init + verbose boot for first-boot diagnosis josh 2026-04-18 14:31:40 -04:00
  • 43ea845ac0 live-image: pack full rootfs as initrd so PXE actually boots userspace josh 2026-04-18 14:14:08 -04:00
  • 6c6d20710f live-image: fix check-initrd size measurement; add zstd to image josh 2026-04-18 14:00:07 -04:00
  • 0a5e5d0b39 ci: add bubblewrap dep and bump mkosi to v25.3 josh 2026-04-18 13:53:09 -04:00
  • 488a0d1052 ci: install mkosi from upstream git tag, not PyPI josh 2026-04-18 13:44:51 -04:00
  • 28918bad15 live-image: fix firmware so i915 actually loads at boot josh 2026-04-18 13:38:40 -04:00
  • c962d6d8ab live-image: bundle nonfree firmware (i915 GuC et al.) josh 2026-04-18 13:14:19 -04:00
  • 4524ab8dc0 runs: add non-destructive flag + operator Cancel button josh 2026-04-18 13:01:42 -04:00
  • 2c440fce8a pxe: move dhcp-host allowlist into a SIGHUP-reloadable file josh 2026-04-18 12:41:27 -04:00
  • bce6e08524 pxe: reload dnsmasq on host create/delete josh 2026-04-18 12:31:00 -04:00
  • 157b70f536 pxe: split subnet into network+netmask for dnsmasq proxy-DHCP josh 2026-04-18 12:17:10 -04:00
  • cf3a75591c install: stage pxe-setup.sh at /usr/local/sbin/vetting-pxe-setup josh 2026-04-18 12:10:23 -04:00
  • bcbbc35489 docs+e2e: document proxy-DHCP topology; default e2e bridge to LAN josh 2026-04-18 12:07:05 -04:00
  • 506c856046 pxe: switch dnsmasq to proxy-DHCP mode on the LAN josh 2026-04-18 12:02:49 -04:00
  • b809bf5f3e proxmox-install: show download progress bar for the bundle fetch josh 2026-04-18 11:43:51 -04:00
  • 6a1d5c3bed pxe: route dnsmasq lease + pid files into RuntimeDir josh 2026-04-18 11:31:37 -04:00
  • 9d17859992 orchestrator: anchor pxe+tftp runtime dirs under artifacts parent josh 2026-04-18 11:14:11 -04:00
  • caebd00d8d live-image: symlink /initrd.img to match /vmlinuz josh 2026-04-18 10:54:25 -04:00
  • 41a273b47f live-image: generate initrd explicitly; fail release on missing files josh 2026-04-18 10:47:26 -04:00
  • f927a4a66b install.sh: stage live image and auto-restart on upgrade josh 2026-04-18 10:38:34 -04:00
  • 5aa245cd85 live-image: disable mkosi Bootable (PXE doesn't need a bootloader) josh 2026-04-18 10:18:49 -04:00
  • a893b0d817 live-image: stage agent binary via mkosi.extra josh 2026-04-18 03:13:38 -04:00
  • d6cdb7caa9 ci: install kmod for mkosi depmod josh 2026-04-18 03:05:55 -04:00
  • e6aa57e839 ci: install systemd-boot for mkosi bootctl josh 2026-04-18 03:01:30 -04:00
  • 3dc0ca0bc2 ci: install debian-archive-keyring for mkosi bootstrap josh 2026-04-18 02:54:04 -04:00
  • a427640608 ci: install systemd-ukify so mkosi's Bootable=yes step succeeds josh 2026-04-18 02:50:39 -04:00
  • 4dda1dad83 live-image: mark mkosi.postinst executable in git index josh 2026-04-18 02:41:40 -04:00
  • 180a5212a4 deps: add missing go.sum entry for golang.org/x/term v0.25.0 josh 2026-04-18 02:38:13 -04:00
  • 74c09e9596 ci: disable setup-go cache to skip 4m Gitea cache server timeout josh 2026-04-18 02:37:16 -04:00
  • 869cd78d0b ci: quote e2e.yml input description so Gitea's YAML parser accepts it josh 2026-04-18 02:34:35 -04:00
  • 03dcf33686 ci: switch runs-on to ubuntu-latest to match runner label josh 2026-04-18 02:25:22 -04:00
  • f188c7add4 proxmox-install: fetch prebuilt bundle from Gitea package registry josh 2026-04-18 02:16:02 -04:00
  • 609ad2e383 ci: migrate to Gitea Actions + publish release bundle to package registry josh 2026-04-18 02:14:08 -04:00
  • 05bd88b016 pxe-setup: handle quoted defaults whose comments contain quotes josh 2026-04-18 01:52:31 -04:00
  • 6ce95547f4 deploy: mark install.sh + pxe-setup.sh executable in git index josh 2026-04-18 01:43:02 -04:00
  • a5055b3c7a Automate PXE setup: release bundle + pxe-setup.sh + startup validation josh 2026-04-18 01:38:43 -04:00
  • d245fa6235 quick.sh: stage+install agent to avoid ETXTBSY, restart service josh 2026-04-18 01:13:14 -04:00
  • d0bfae14c8 Heartbeat-first dispatch: retire WoL-as-default, add WaitingReboot josh 2026-04-18 01:10:34 -04:00
  • c9927ca2bf config: default agent.asset_dir so old configs still serve /assets josh 2026-04-18 00:41:09 -04:00
  • 1694c20b12 Host detail v2: full pipeline + per-stage logs + WoL diagnostics josh 2026-04-18 00:38:27 -04:00
  • a3d5e2d0a4 proxmox-install: build agent binary for serving josh 2026-04-18 00:12:41 -04:00
  • af41644929 proxmox-install: reset hard instead of checkout josh 2026-04-18 00:02:01 -04:00
  • bb658a8435 Host detail page + pipeline timeline josh 2026-04-17 23:59:43 -04:00
  • 9b16ed80e6 Heartbeat command channel: reboot_for_vetting skips WoL josh 2026-04-17 23:37:01 -04:00
  • a0c0fb114f Add host-mode heartbeat: vetting-agent host + last-seen badge josh 2026-04-17 23:34:15 -04:00
  • d24207427f Fix quick-register broadcast detection on Proxmox bridges josh 2026-04-17 22:57:49 -04:00
  • 8b3d9a312e Add quick-register one-liner for target-host registration josh 2026-04-17 22:50:54 -04:00
  • 42da48864f Remove operator auth — trust the LAN josh 2026-04-17 22:31:49 -04:00
  • 273e7593bc Fix LXC deploy: absolute paths + systemd section for StartLimit josh 2026-04-17 22:02:03 -04:00
  • 47b4fa35a6 Install gen-admin-password alongside vetting josh 2026-04-17 21:50:54 -04:00
  • 64acb97073 Add one-liner Proxmox LXC installer josh 2026-04-17 21:39:47 -04:00
  • 9bb4b09a04 Initial commit: full Phases 1-6 implementation josh 2026-04-17 21:32:10 -04:00