in release/pkg/generate_spec.go [79:111]
func UpdateImageDigests(ecrPublicClient *ecrpublic.ECRPublic, r *ReleaseConfig, componentsTable map[string]*distrov1alpha1.Component) error {
for _, component := range componentsTable {
componentDer := *component
assets := componentDer.Assets
for _, asset := range assets {
if asset.Image != nil {
var imageTag string
releaseUriSplit := strings.Split(asset.Image.URI, ":")
repoName := strings.Replace(releaseUriSplit[0], r.ContainerImageRepository+"/", "", -1)
imageTag = releaseUriSplit[1]
describeImagesOutput, err := ecrPublicClient.DescribeImages(
&ecrpublic.DescribeImagesInput{
ImageIds: []*ecrpublic.ImageIdentifier{
{
ImageTag: aws.String(imageTag),
},
},
RepositoryName: aws.String(repoName),
},
)
if err != nil {
return errors.Cause(err)
}
imageDigest := describeImagesOutput.ImageDetails[0].ImageDigest
asset.Image.ImageDigest = *imageDigest
}
}
}
return nil
}