2024-09-02 13:44:44 +02:00
|
|
|
package chart
|
|
|
|
|
|
|
|
import (
|
|
|
|
"os"
|
|
|
|
"gopkg.in/yaml.v2"
|
|
|
|
)
|
|
|
|
|
|
|
|
type ChartData struct {
|
|
|
|
Name string `yaml:"name"`
|
|
|
|
Chart string `yaml:"chart"`
|
|
|
|
Version string `yaml:"version"`
|
|
|
|
|
|
|
|
Opts string `yaml:"helm_opts"`
|
|
|
|
Values string `yaml:"helm_values"`
|
|
|
|
FileValues string `yaml:"helm_filevalues"`
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
type ChartRepoData struct {
|
|
|
|
Name string `yaml:"name"`
|
|
|
|
Repository string `yaml:"repository"`
|
2024-09-03 13:46:45 +02:00
|
|
|
Charts []ChartData `yaml:"charts"`
|
2024-09-02 13:44:44 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
type chartsRepoData struct {
|
|
|
|
Charts []ChartRepoData `yaml:"opencloud"`
|
|
|
|
}
|
|
|
|
|
2024-09-03 15:18:20 +02:00
|
|
|
func FromConfigFile(filename string) ([]ChartRepoData, error) {
|
2024-09-02 13:44:44 +02:00
|
|
|
yamlFile, _ := os.ReadFile(filename)
|
|
|
|
var data chartsRepoData
|
2024-09-03 15:18:20 +02:00
|
|
|
err := yaml.Unmarshal(yamlFile, &data)
|
|
|
|
if err != nil {
|
|
|
|
return data.Charts, err
|
|
|
|
}
|
|
|
|
return data.Charts, nil
|
2024-09-02 13:44:44 +02:00
|
|
|
}
|