in tools/version-tracker/pkg/commands/upgrade/upgrade.go [633:668]
func getLatestEKSDistroRelease(branch string) (int, string, error) {
var eksDistroReleaseChannel eksdistrorelease.ReleaseChannel
var eksDistroRelease eksdistrorelease.Release
var kubeVersion string
eksDistroReleaseChannelsFileURL := fmt.Sprintf(constants.EKSDistroReleaseChannelsFileURLFormat, branch)
eksDistroReleaseChannelsFileContents, err := file.ReadURL(eksDistroReleaseChannelsFileURL)
if err != nil {
return 0, "", fmt.Errorf("reading EKS Distro ReleaseChannels file URL: %v", err)
}
err = sigsyaml.Unmarshal(eksDistroReleaseChannelsFileContents, &eksDistroReleaseChannel)
if err != nil {
return 0, "", fmt.Errorf("unmarshalling EKS Distro ReleaseChannels file: %v", err)
}
releaseNumber := eksDistroReleaseChannel.Status.LatestRelease
eksDistroReleaseManifestURL := fmt.Sprintf(constants.EKSDistroReleaseManifestURLFormat, branch, releaseNumber)
eksDistroReleaseManifestContents, err := file.ReadURL(eksDistroReleaseManifestURL)
if err != nil {
return 0, "", fmt.Errorf("reading EKS Distro release manifest URL: %v", err)
}
err = sigsyaml.Unmarshal(eksDistroReleaseManifestContents, &eksDistroRelease)
if err != nil {
return 0, "", fmt.Errorf("unmarshalling EKS Distro release manifest: %v", err)
}
for _, component := range eksDistroRelease.Status.Components {
if component.Name == "kubernetes" {
kubeVersion = component.GitTag
break
}
}
return releaseNumber, kubeVersion, nil
}