in projects/aws/image-builder/builder/manifests.go [82:119]
func downloadEKSAManifests(outputPath string) error {
// Download Release manifest
releaseManifestUrl, err := getEksAReleasesManifestURL(false)
if err != nil {
return err
}
// Create output directory path
if err = os.MkdirAll(outputPath, 0o755); err != nil {
return err
}
releaseManifestPath := filepath.Join(outputPath, eksAnywhereManifestFileName)
log.Printf("Downloading eks-a release manifest")
if err := downloadFile(releaseManifestPath, releaseManifestUrl); err != nil {
return err
}
// Download all the bundles from release manifest
releaseManifestData, err := os.ReadFile(releaseManifestPath)
if err != nil {
return err
}
releases := &releasev1.Release{}
if err = k8syaml.Unmarshal(releaseManifestData, releases); err != nil {
return err
}
for _, r := range releases.Spec.Releases {
bundleName := fmt.Sprintf(eksAnywhereBundlesFileNameFormat, r.Version)
bundleFilePath := filepath.Join(outputPath, bundleName)
log.Printf("Downloading eks-a bundles manifest for eks-a version: %s", r.Version)
if err = downloadFile(bundleFilePath, r.BundleManifestUrl); err != nil {
return err
}
}
return nil
}