package chart import ( "os" "gopkg.in/yaml.v2" ) type ChartData struct { Name string `yaml:"name"` Chart string `yaml:"chart"` Url string `yaml:"url"` Version string `yaml:"version"` Opts string `yaml:"helm_opts"` Values string `yaml:"helm_values"` FileValues string `yaml:"helm_filevalues"` } type repoData struct { Name string `yaml:"name"` Url string `yaml:"url"` ForceUpdate bool `yaml:"forceupdate"` } type ChartRepoData struct { Repository repoData `yaml:"repository"` Charts []ChartData `yaml:"charts"` } type chartsRepoData struct { Charts []ChartRepoData `yaml:"opencloud"` } func FromConfigFile(filename string) ([]ChartRepoData, error) { yamlFile, _ := os.ReadFile(filename) var data chartsRepoData err := yaml.Unmarshal(yamlFile, &data) if err != nil { return data.Charts, err } return data.Charts, nil }