Browse code

c8d/commit: Unpack committed image

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>

Paweł Gronowski authored on 2023/08/25 23:17:47
Showing 1 changed files
... ...
@@ -120,7 +120,17 @@ func (i *ImageService) CommitImage(ctx context.Context, cc backend.CommitConfig)
120 120
 			return "", fmt.Errorf("failed to create new image: %w", err)
121 121
 		}
122 122
 	}
123
-	return image.ID(img.Target.Digest), nil
123
+	id := image.ID(img.Target.Digest)
124
+
125
+	c8dImg, err := i.NewImageManifest(ctx, img, commitManifestDesc)
126
+	if err != nil {
127
+		return id, err
128
+	}
129
+	if err := c8dImg.Unpack(ctx, container.Driver); err != nil && !cerrdefs.IsAlreadyExists(err) {
130
+		return id, fmt.Errorf("failed to unpack image: %w", err)
131
+	}
132
+
133
+	return id, nil
124 134
 }
125 135
 
126 136
 // generateCommitImageConfig generates an OCI Image config based on the