github.com/gocrane/crane@v0.11.0/pkg/recommendation/recommender/volume/registry.go (about) 1 package volume 2 3 import ( 4 analysisv1alph1 "github.com/gocrane/api/analysis/v1alpha1" 5 6 "github.com/gocrane/crane/pkg/recommendation/config" 7 "github.com/gocrane/crane/pkg/recommendation/recommender" 8 "github.com/gocrane/crane/pkg/recommendation/recommender/apis" 9 "github.com/gocrane/crane/pkg/recommendation/recommender/base" 10 ) 11 12 var _ recommender.Recommender = &VolumeRecommender{} 13 14 type VolumeRecommender struct { 15 base.BaseRecommender 16 } 17 18 func init() { 19 recommender.RegisterRecommenderProvider(recommender.VolumeRecommender, NewVolumeRecommender) 20 } 21 22 func (vr *VolumeRecommender) Name() string { 23 return recommender.VolumeRecommender 24 } 25 26 // NewVolumeRecommender create a new Volumes recommender. 27 func NewVolumeRecommender(recommender apis.Recommender, recommendationRule analysisv1alph1.RecommendationRule) (recommender.Recommender, error) { 28 recommender = config.MergeRecommenderConfigFromRule(recommender, recommendationRule) 29 return &VolumeRecommender{ 30 *base.NewBaseRecommender(recommender), 31 }, nil 32 }