in release/pkg/assets_cni.go [26:78]
func (r *ReleaseConfig) GetCniComponent(spec distrov1alpha1.ReleaseSpec) (*distrov1alpha1.Component, error) {
projectSource := "projects/containernetworking/plugins"
tagFile := filepath.Join(r.BuildRepoSource, projectSource, spec.Channel, "GIT_TAG")
gitTag, err := readTag(tagFile)
if err != nil {
return nil, errors.Cause(err)
}
assets := []distrov1alpha1.Asset{}
osArchMap := map[string][]string{
"linux": []string{"arm64", "amd64"},
}
for os, arches := range osArchMap {
for _, arch := range arches {
filename := fmt.Sprintf("cni-plugins-%s-%s-%s.tar.gz", os, arch, gitTag)
tarfile := filepath.Join(r.ArtifactDir, "plugins", gitTag, filename)
sha256, sha512, err := r.readShaSums(tarfile)
if err != nil {
return nil, errors.Cause(err)
}
assetPath, err := r.GetURI(filepath.Join(
fmt.Sprintf("kubernetes-%s", spec.Channel),
"releases",
fmt.Sprintf("%d", spec.Number),
"artifacts",
"plugins",
gitTag,
filename,
))
if err != nil {
return nil, errors.Cause(err)
}
assets = append(assets, distrov1alpha1.Asset{
Name: filename,
Type: "Archive",
Description: fmt.Sprintf("cni-plugins tarball for %s/%s", os, arch),
OS: os,
Arch: []string{arch},
Archive: &distrov1alpha1.AssetArchive{
URI: assetPath,
SHA512: sha512,
SHA256: sha256,
},
})
}
}
component := &distrov1alpha1.Component{
Name: "cni-plugins",
GitTag: gitTag,
Assets: assets,
}
return component, nil
}