in release/pkg/assets_eksd.go [33:162]
func (r *ReleaseConfig) GetEksDChannelAssets(eksDReleaseChannel, kubeVer, eksDReleaseNumber string) ([]Artifact, error) {
// Ova artifacts
os := "linux"
arch := "amd64"
osNames := []string{"ubuntu", "bottlerocket"}
artifacts := []Artifact{}
imageBuilderGitTag, err := r.readGitTag(imageBuilderProjectPath, r.BuildRepoBranchName)
if err != nil {
return nil, errors.Cause(err)
}
for _, osName := range osNames {
var sourceS3Key string
var sourceS3Prefix string
var releaseS3Path string
var releaseName string
sourcedFromBranch := r.BuildRepoBranchName
latestPath := getLatestUploadDestination(sourcedFromBranch)
if r.DevRelease || r.ReleaseEnvironment == "development" {
sourceS3Key = fmt.Sprintf("%s.ova", osName)
sourceS3Prefix = fmt.Sprintf("%s/%s/%s", imageBuilderProjectPath, eksDReleaseChannel, latestPath)
} else {
sourceS3Key = fmt.Sprintf("%s-%s-eks-d-%s-%s-eks-a-%d-%s.ova",
osName,
kubeVer,
eksDReleaseChannel,
eksDReleaseNumber,
r.BundleNumber,
arch,
)
sourceS3Prefix = fmt.Sprintf("releases/bundles/%d/artifacts/ova/%s", r.BundleNumber, eksDReleaseChannel)
}
if r.DevRelease {
releaseName = fmt.Sprintf("%s-%s-eks-d-%s-%s-eks-a-%s-%s.ova",
osName,
kubeVer,
eksDReleaseChannel,
eksDReleaseNumber,
r.DevReleaseUriVersion,
arch,
)
releaseS3Path = fmt.Sprintf("artifacts/%s/eks-distro/ova/%s/%s-%s",
r.DevReleaseUriVersion,
eksDReleaseChannel,
eksDReleaseChannel,
eksDReleaseNumber,
)
} else {
releaseName = fmt.Sprintf("%s-%s-eks-d-%s-%s-eks-a-%d-%s.ova",
osName,
kubeVer,
eksDReleaseChannel,
eksDReleaseNumber,
r.BundleNumber,
arch,
)
releaseS3Path = fmt.Sprintf("releases/bundles/%d/artifacts/ova/%s", r.BundleNumber, eksDReleaseChannel)
}
cdnURI, err := r.GetURI(filepath.Join(releaseS3Path, releaseName))
if err != nil {
return nil, errors.Cause(err)
}
archiveArtifact := &ArchiveArtifact{
SourceS3Key: sourceS3Key,
SourceS3Prefix: sourceS3Prefix,
ArtifactPath: filepath.Join(r.ArtifactDir, "eks-d-ova", eksDReleaseChannel, r.BuildRepoHead),
ReleaseName: releaseName,
ReleaseS3Path: releaseS3Path,
ReleaseCdnURI: cdnURI,
OS: os,
OSName: osName,
Arch: []string{arch},
GitTag: imageBuilderGitTag,
ProjectPath: imageBuilderProjectPath,
SourcedFromBranch: sourcedFromBranch,
}
artifacts = append(artifacts, Artifact{Archive: archiveArtifact})
}
kindGitTag, err := r.readGitTag(kindProjectPath, r.BuildRepoBranchName)
if err != nil {
return nil, errors.Cause(err)
}
name := "kind-node"
repoName := "kubernetes-sigs/kind/node"
tagOptions := map[string]string{
"eksDReleaseChannel": eksDReleaseChannel,
"eksDReleaseNumber": eksDReleaseNumber,
"kubeVersion": kubeVer,
"projectPath": kindProjectPath,
"gitTag": kindGitTag,
}
sourceImageUri, sourcedFromBranch, err := r.GetSourceImageURI(name, repoName, tagOptions)
if err != nil {
return nil, errors.Cause(err)
}
if sourcedFromBranch != r.BuildRepoBranchName {
kindGitTag, err = r.readGitTag(eksAToolsProjectPath, sourcedFromBranch)
if err != nil {
return nil, errors.Cause(err)
}
tagOptions["gitTag"] = kindGitTag
}
releaseImageUri, err := r.GetReleaseImageURI(name, repoName, tagOptions)
if err != nil {
return nil, errors.Cause(err)
}
imageArtifact := &ImageArtifact{
AssetName: name,
SourceImageURI: sourceImageUri,
ReleaseImageURI: releaseImageUri,
Arch: []string{"amd64"},
OS: "linux",
GitTag: kindGitTag,
ProjectPath: kindProjectPath,
SourcedFromBranch: sourcedFromBranch,
}
artifacts = append(artifacts, Artifact{Image: imageArtifact})
return artifacts, nil
}