in bigquery/main.go [139:157]
func imageManifestToBuildImage(image string) (*buildImage, error) {
ref, err := name.ParseReference(image)
if err != nil {
return nil, fmt.Errorf("error parsing image reference: %v", err)
}
img, err := remote.Image(ref, remote.WithAuthFromKeychain(google.Keychain))
if err != nil {
return nil, fmt.Errorf("error obtaining image reference: %v", err)
}
sha, err := img.Digest()
layers, err := img.Layers()
// Calculating the compressed image size
containerSize, err := getImageSize(layers)
if err != nil {
return nil, err
}
return &buildImage{SHA: sha.String(), ContainerSizeMB: containerSize}, nil
}