Serve full ISO for PXE boot via proxmox-iso-url kernel param
build-and-push / test (push) Successful in 34s
build-and-push / build-and-push (push) Successful in 1m11s

The Proxmox installer needs the full ISO to access packages and
installer data. Previously the ISO was deleted after extracting
kernel+initrd. Now we keep it as original.iso and serve it via HTTP.
The iPXE script passes proxmox-iso-url=<url> so the installer
fetches the ISO over the network instead of scanning block devices.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-14 11:11:45 -04:00
parent 44c358a89b
commit 81abb94806
6 changed files with 25 additions and 19 deletions
+2
View File
@@ -55,6 +55,7 @@ func (s *Service) Upload(ctx context.Context, p UploadParams) (*model.Image, err
kernelPath := filepath.Join(p.Name, result.KernelFilename)
initrdPath := filepath.Join(p.Name, result.InitrdFilename)
isoPath := filepath.Join(p.Name, result.ISOFilename)
id, err := s.Store.Create(ctx, model.Image{
Name: p.Name,
@@ -62,6 +63,7 @@ func (s *Service) Upload(ctx context.Context, p UploadParams) (*model.Image, err
Version: p.Version,
KernelPath: kernelPath,
InitrdPath: initrdPath,
ISOPath: isoPath,
})
if err != nil {
os.RemoveAll(destDir)