func imageManifestToBuildImage()

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
}