in pkg/providers/imagefamily/nodeimageversionsclient.go [83:105]
func FilteredNodeImages(nodeImageVersions []NodeImageVersion) []NodeImageVersion {
latestImages := make(map[string]NodeImageVersion)
for _, image := range nodeImageVersions {
// Skip the galleries that Karpenter does not support
if image.OS != AKSUbuntuGalleryName && image.OS != AKSAzureLinuxGalleryName {
continue
}
key := image.OS + "-" + image.SKU
currentLatest, exists := latestImages[key]
if !exists || isNewerVersion(image.Version, currentLatest.Version) {
latestImages[key] = image
}
}
var filteredImages []NodeImageVersion
for _, image := range latestImages {
filteredImages = append(filteredImages, image)
}
return filteredImages
}