argo-cd/reposerver/repository/chart.go
github-actions[bot] 4d9835927d
Bump major version to 3 (#21410)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: crenshaw-dev <350466+crenshaw-dev@users.noreply.github.com>
2025-01-10 16:14:00 -05:00

31 lines
781 B
Go

package repository
import (
"fmt"
"strings"
"sigs.k8s.io/yaml"
"github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
func getChartDetails(chartYAML string) (*v1alpha1.ChartDetails, error) {
var chart Chart
err := yaml.Unmarshal([]byte(chartYAML), &chart)
if err != nil {
return nil, fmt.Errorf("failed to unmarshal chart: %w", err)
}
var maintainers []string
for _, maintainer := range chart.Maintainers {
if maintainer.Email != "" {
maintainers = append(maintainers, strings.Trim(fmt.Sprintf("%v <%v>", maintainer.Name, maintainer.Email), " "))
} else {
maintainers = append(maintainers, maintainer.Name)
}
}
return &v1alpha1.ChartDetails{
Description: chart.Description,
Maintainers: maintainers,
Home: chart.Home,
}, nil
}