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:
12
customize.go
12
customize.go
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user