github.com/argoproj/argo-cd/v2@v2.10.9/reposerver/repository/chart.go (about) 1 package repository 2 3 import ( 4 "fmt" 5 "strings" 6 7 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1" 8 "sigs.k8s.io/yaml" 9 ) 10 11 func getChartDetails(chartYAML string) (*v1alpha1.ChartDetails, error) { 12 var chart Chart 13 err := yaml.Unmarshal([]byte(chartYAML), &chart) 14 if err != nil { 15 return nil, fmt.Errorf("failed to unmarshal chart: %w", err) 16 } 17 var maintainers []string 18 for _, maintainer := range chart.Maintainers { 19 if maintainer.Email != "" { 20 maintainers = append(maintainers, strings.Trim(fmt.Sprintf("%v <%v>", maintainer.Name, maintainer.Email), " ")) 21 } else { 22 maintainers = append(maintainers, fmt.Sprintf("%v", maintainer.Name)) 23 } 24 } 25 return &v1alpha1.ChartDetails{ 26 Description: chart.Description, 27 Maintainers: maintainers, 28 Home: chart.Home, 29 }, nil 30 }