@@ -31,9 +31,14 @@ func (c *Client) ImageGetManifest(ctx context.Context, ref reference.Named, plat
3131 return v1.Hash {}, nil , err
3232 }
3333
34- img , err := remote .Image (nameRef , opts ... )
34+ desc , err := remote .Get (nameRef , opts ... )
3535 if err != nil {
36- return v1.Hash {}, nil , fmt .Errorf ("failed to get image manifest: %w" , err )
36+ return v1.Hash {}, nil , fmt .Errorf ("failed to get descriptor: %w" , err )
37+ }
38+
39+ img , err := desc .Image ()
40+ if err != nil {
41+ return v1.Hash {}, nil , fmt .Errorf ("failed to get image: %w" , err )
3742 }
3843 isPodman , err := c .SystemIsPodman (ctx )
3944 if err != nil {
@@ -43,11 +48,14 @@ func (c *Client) ImageGetManifest(ctx context.Context, ref reference.Named, plat
4348 if err != nil {
4449 return v1.Hash {}, nil , err
4550 }
51+
4652 var id v1.Hash
4753 if isPodman {
48- id , err = img .Digest ()
49- } else {
54+ // Podman uses config digest as image-id
5055 id , err = img .ConfigName ()
56+ } else {
57+ // Docker uses manifest/index digest as image-id
58+ id = desc .Digest
5159 }
5260 if err != nil {
5361 return v1.Hash {}, nil , err
0 commit comments