Add automated PXE installation via ISO GRUB modification and auto-answer endpoint
build-and-push / test (push) Successful in 35s
build-and-push / build-and-push (push) Successful in 1m20s

Modifies uploaded ISO's GRUB config in-place to set timeout=0 and inject
proxmox-start-auto-installer + answer-url kernel params, enabling fully
hands-off installation. Adds /api/boot/auto-answer endpoint that identifies
hosts by ARP-resolving the requester's IP to MAC address.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-14 14:28:10 -04:00
parent 994152bedf
commit f58ab9fab3
6 changed files with 257 additions and 14 deletions
+1
View File
@@ -73,6 +73,7 @@ func NewRouter(d Deps) http.Handler {
// Boot / PXE endpoints
r.Get("/ipxe/{mac}", d.BootAPI.IPXEScript)
r.Get("/api/boot/auto-answer", d.BootAPI.AutoAnswer)
r.Post("/api/boot/answer", d.BootAPI.AnswerFile)
r.Post("/api/hosts/{id}/installed", d.BootAPI.InstallComplete)
r.Get("/api/hosts/{id}/first-boot-script", d.BootAPI.FirstBootScript)