@@ -25,10 +25,10 @@ import (
2525
2626// FindBestArtifactHubMatch takes the helm releases found in the cluster and attempts to match those to a package in artifacthub
2727func FindBestArtifactHubMatch (clusterRelease * release.Release , ahubPackages []ArtifactHubHelmPackage ) * output.ReleaseOutput {
28- var highScore int
28+ var highScore float32
2929 var highScorePackage ArtifactHubHelmPackage
3030 for _ , p := range ahubPackages {
31- score := 0
31+ var score float32
3232 if p .Name != clusterRelease .Chart .Metadata .Name {
3333 continue
3434 }
@@ -38,7 +38,7 @@ func FindBestArtifactHubMatch(clusterRelease *release.Release, ahubPackages []Ar
3838 highScorePackage = p
3939 }
4040 }
41- klog .V (10 ).Infof ("highScore for '%s': %d , highScorePackage Repo: %s" , clusterRelease .Chart .Metadata .Name , highScore , highScorePackage .Repository .Name )
41+ klog .V (10 ).Infof ("highScore for '%s': %f , highScorePackage Repo: %s" , clusterRelease .Chart .Metadata .Name , highScore , highScorePackage .Repository .Name )
4242 return prepareOutput (clusterRelease , highScorePackage )
4343}
4444
@@ -66,14 +66,12 @@ func prepareOutput(release *release.Release, pkg ArtifactHubHelmPackage) *output
6666 }
6767}
6868
69- func scoreChartSimilarity (release * release.Release , pkg ArtifactHubHelmPackage ) int {
70- ret := 0
71- var preferredRepositories = []string {
72- "bitnami" ,
73- "fairwinds-stable" ,
74- "ingress-nginx" ,
75- "cert-manager" ,
76- }
69+ var preferredRepositories = []string {"bitnami" , "fairwinds-stable" , "fairwinds-incubator" , "ingress-nginx" , "cert-manager" , "projectcalico" ,
70+ "grafana" , "prometheus-community" , "elastic" , "hashicorp" , "argo" , "metrics-server" , "gitlab" , "jenkins" , "harbor" , "minio" , "cluster-autoscaler" ,
71+ "aws-ebs-csi-driver" , "coredns" , "datadog" , "deliveryhero" , "falcosecurity" , "kedacore" , "kured" , "oauth2-proxy" , "rimusz" }
72+
73+ func scoreChartSimilarity (release * release.Release , pkg ArtifactHubHelmPackage ) float32 {
74+ var ret float32
7775 if release .Chart .Metadata .Home == pkg .HomeURL {
7876 klog .V (10 ).Infof ("+1 score for %s Home URL (ahub package repo %s)" , release .Chart .Metadata .Name , pkg .Repository .Name )
7977 ret ++
@@ -121,10 +119,10 @@ func scoreChartSimilarity(release *release.Release, pkg ArtifactHubHelmPackage)
121119 ret ++
122120 }
123121 if containsString (preferredRepositories , pkg .Repository .Name ) {
124- klog .V (10 ).Infof ("+1 score for %s, preffered repo (ahub package repo %s)" , release .Chart .Metadata .Name , pkg .Repository .Name )
125- ret ++
122+ klog .V (10 ).Infof ("+1.5 score for %s, preferred repo (ahub package repo %s)" , release .Chart .Metadata .Name , pkg .Repository .Name )
123+ ret += 1.5
126124 }
127- klog .V (10 ).Infof ("calculated score repo: %s, release: %s, score: %d \n \n " , pkg .Repository .Name , release .Name , ret )
125+ klog .V (10 ).Infof ("calculated score repo: %s, release: %s, score: %f \n \n " , pkg .Repository .Name , release .Name , ret )
128126 return ret
129127}
130128
0 commit comments