From 39d8f33fb72174d9c4d632962f9c6534debad660 Mon Sep 17 00:00:00 2001 From: Alexis Couvreur Date: Thu, 7 May 2026 08:39:43 -0400 Subject: [PATCH 1/2] fix(dind): close temp file handle before removal On some OS (such as Windows), keeping a file descriptor open prevents you from deleting the file. --- modules/dind/dind.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/dind/dind.go b/modules/dind/dind.go index 4a52d335a3..49d32706b6 100644 --- a/modules/dind/dind.go +++ b/modules/dind/dind.go @@ -87,6 +87,11 @@ func (c *Container) LoadImage(ctx context.Context, image string) (err error) { if err != nil { return fmt.Errorf("create temporary images file: %w", err) } + // Close the file handle immediately: SaveImages and CopyFileToContainer + // open the file by name. + if err = imagesTar.Close(); err != nil { + return fmt.Errorf("close temporary images file: %w", err) + } defer func() { err = errors.Join(err, os.Remove(imagesTar.Name())) }() From 4ea9a69736791e266059fda3a44306b3d697316f Mon Sep 17 00:00:00 2001 From: Alexis Couvreur Date: Thu, 7 May 2026 08:44:16 -0400 Subject: [PATCH 2/2] fix(k3s): close temp file handle before removal On some OS (such as Windows), keeping a file descriptor open prevents you from deleting the file. --- modules/k3s/k3s.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/k3s/k3s.go b/modules/k3s/k3s.go index 3c8d4b57e5..3f27dae770 100644 --- a/modules/k3s/k3s.go +++ b/modules/k3s/k3s.go @@ -212,6 +212,11 @@ func (c *K3sContainer) LoadImages(ctx context.Context, images ...string) error { if err != nil { return fmt.Errorf("creating temporary images file %w", err) } + // Close the file handle immediately: SaveImages and CopyFileToContainer + // open the file by name. + if err = imagesTar.Close(); err != nil { + return fmt.Errorf("close temporary images file: %w", err) + } defer func() { _ = os.Remove(imagesTar.Name()) }()