Skip to content

Commit be7a317

Browse files
authored
Merge pull request #278 from bank-vaults/backport/vsw-631
2 parents 3b1b309 + c308fd7 commit be7a317

File tree

1 file changed

+26
-3
lines changed

1 file changed

+26
-3
lines changed

pkg/registry/registry.go

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,9 +197,32 @@ func getImageConfig(ctx context.Context, client kubernetes.Interface, container
197197
return nil, errors.Wrap(err, "cannot fetch image descriptor")
198198
}
199199

200-
image, err := descriptor.Image()
201-
if err != nil {
202-
return nil, errors.Wrap(err, "cannot convert image descriptor to v1.Image")
200+
var image v1.Image
201+
if descriptor.MediaType.IsIndex() {
202+
index, err := descriptor.ImageIndex()
203+
if err != nil {
204+
return nil, errors.Wrap(err, "cannot get image index")
205+
}
206+
207+
manifest, err := index.IndexManifest()
208+
if err != nil {
209+
return nil, errors.Wrap(err, "cannot get index manifest")
210+
}
211+
212+
if len(manifest.Manifests) == 0 {
213+
return nil, errors.New("no manifests found in the image index")
214+
}
215+
216+
// Get the first available image
217+
image, err = index.Image(manifest.Manifests[0].Digest)
218+
if err != nil {
219+
return nil, errors.Wrap(err, "cannot get image from manifest")
220+
}
221+
} else {
222+
image, err = descriptor.Image()
223+
if err != nil {
224+
return nil, errors.Wrap(err, "cannot convert image descriptor to v1.Image")
225+
}
203226
}
204227

205228
configFile, err := image.ConfigFile()

0 commit comments

Comments
 (0)