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