43 lines
916 B
Go
43 lines
916 B
Go
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
|
|
}
|