Skip to content

Commit

Permalink
feat: ensure only unique images are returned
Browse files Browse the repository at this point in the history
Signed-off-by: Bradley Jones <bradley.jones@anchore.com>
  • Loading branch information
bradleyjones committed Dec 21, 2022
1 parent be175cd commit d6e505d
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions ecg/lib.go
Original file line number Diff line number Diff line change
Expand Up @@ -151,21 +151,27 @@ func fetchImagesFromTasks(client *ecs.ECS, cluster string, tasks []*string) ([]i
return []inventory.ReportImage{}, err
}

images := []inventory.ReportImage{}
for r := range results.Tasks {
task := results.Tasks[r]
for c := range task.Containers {
container := task.Containers[c]
uniqueImages := make(map[string]inventory.ReportImage)

for _, task := range results.Tasks {
for _, container := range task.Containers {
digest := ""
if container.ImageDigest != nil {
digest = *container.ImageDigest
}
images = append(images, inventory.ReportImage{
uniqueName := fmt.Sprintf("%s@%s", *container.Image, digest)
uniqueImages[uniqueName] = inventory.ReportImage{
Tag: *container.Image,
RepoDigest: digest,
})
}
}
}

// convert map of unique images to a slice
images := []inventory.ReportImage{}
for _, image := range uniqueImages {
images = append(images, image)
}

return images, nil
}

0 comments on commit d6e505d

Please sign in to comment.