Add checksum verification and retry logic- Add SHA256 checksum verification for downloaded images- Add qemu-img check verification before and after operations- Add retry logic (3 attempts) for download, upload, and commands- Verify image integrity after customization- Verify uploaded image on Proxmox host before import- Auto-remove corrupted images and retry download

This commit is contained in:
2025-11-14 21:14:39 +07:00
parent 8d057bfd94
commit aea1b31115
3 changed files with 163 additions and 35 deletions

View File

@@ -28,6 +28,12 @@ func customizeImage(config *Config) error {
}
}
fmt.Println("Verifying customized image...")
if err := verifyImage(imagePath); err != nil {
return fmt.Errorf("customized image verification failed: %w", err)
}
fmt.Println("Customized image verification passed!")
return nil
}
@@ -43,15 +49,15 @@ func checkDependencies() error {
func resizeImage(imagePath, size string) error {
fmt.Printf("Resizing image to %s...\n", size)
cmd := exec.Command("qemu-img", "resize", imagePath, size)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
if err := cmd.Run(); err != nil {
return fmt.Errorf("failed to resize image: %w", err)
}
return nil
}