func()

in release/pkg/assets_snapshotter.go [26:59]


func (r *ReleaseConfig) GetSnapshotterComponent(spec distrov1alpha1.ReleaseSpec) (*distrov1alpha1.Component, error) {
	projectSource := "projects/kubernetes-csi/external-snapshotter"
	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{}
	binaries := []string{"csi-snapshotter", "snapshot-controller"}
	for _, binary := range binaries {
		assets = append(assets, distrov1alpha1.Asset{
			Name:        fmt.Sprintf("%s-image", binary),
			Type:        "Image",
			Description: fmt.Sprintf("%s container image", binary),
			OS:          "linux",
			Arch:        []string{"amd64", "arm64"},
			Image: &distrov1alpha1.AssetImage{
				URI: fmt.Sprintf("%s/kubernetes-csi/external-snapshotter/%s:%s-eks-%s-%d",
					r.ContainerImageRepository,
					binary,
					gitTag,
					spec.Channel,
					spec.Number,
				),
			},
		})
	}
	component := &distrov1alpha1.Component{
		Name:   "external-snapshotter",
		GitTag: gitTag,
		Assets: assets,
	}
	return component, nil
}