func()

in projects/aws/image-builder/builder/manifests.go [18:55]


func (b *BuildOptions) DownloadManifests() error {
	// Clone build tooling from the latest release branch
	cwd, err := os.Getwd()
	if err != nil {
		return fmt.Errorf("Error retrieving current working directory: %v", err)
	}

	buildToolingRepoPath := getBuildToolingPath(cwd)
	_, _, err = b.prepBuildToolingRepo(buildToolingRepoPath)
	if err != nil {
		return err
	}

	// Download eks-d manifests
	manifestsPath := filepath.Join(cwd, "manifests")
	if err = downloadEKSDManifests(manifestsPath); err != nil {
		return err
	}

	// Download eks-a manifests
	if err = downloadEKSAManifests(manifestsPath); err != nil {
		return err
	}

	// Create tarball of the downloaded manifests
	log.Println("Creating tarball of downloaded manifests")
	if err = createTarball(manifestsTarballName, manifestsPath); err != nil {
		return err
	}
	log.Printf("Manifest tarball %s was successfully created", manifestsTarballName)

	// Clean up manifests directory
	if err = os.RemoveAll(manifestsPath); err != nil {
		return err
	}
	cleanup(buildToolingRepoPath)
	return nil
}