This commit is contained in:
admju 2024-09-19 12:10:03 +00:00
parent 981ee7dce4
commit 1b9b79c67f
6 changed files with 234 additions and 200 deletions

View File

@ -25,8 +25,13 @@ type repoData struct {
Opts string `yaml:"opts"`
}
type ociData struct {
Url string `yaml:"url"`
}
type ChartRepoData struct {
Repository repoData `yaml:"repository"`
Oci ociData `yaml:"oci"`
Charts []ChartData `yaml:"charts"`
}

View File

@ -39,7 +39,7 @@ func _TestReadConfChart(t *testing.T) {
assert.Equal(t, "https://zzzz/myfirstchart-0.1.0.tgz", myfirstrelease.Url, "FromConfigFile error")
}
func TestReadConfChartOverwrite(t *testing.T){
func _TestReadConfChartOverwrite(t *testing.T){
src := filepath.Join(TEST_SRC_DIR, "oc_overwrite.yml")
assert.FileExists(t, src, "FromConfigFile error")
@ -48,3 +48,16 @@ func TestReadConfChartOverwrite(t *testing.T){
// Nombre de lettres
assert.Equal(t, 70, len(data[0].Charts[0].Overwrite), "TestReadConfChartOverwrite error")
}
func TestReadConfChartOci(t *testing.T) {
src := filepath.Join(TEST_SRC_DIR, "oc_oci.yml")
assert.FileExists(t, src, "FromConfigFile error")
data, _ := FromConfigFile(src)
assert.Equal(t, "", data[0].Repository.Name, "FromConfigFile error")
assert.Equal(t, "oci://harbor.dtf/dev", data[0].Oci.Url, "FromConfigFile error")
}

View File

@ -102,7 +102,10 @@ func (this HelmCommand) ChartInstall(data HelmChart) (string, error) {
var objmap installOutput
err = json.Unmarshal(stdout, &objmap)
i := strings.Index(string(stdout), "{")
stdout2 := string(stdout)[i:]
err = json.Unmarshal([]byte(stdout2), &objmap)
if err != nil {
return "", err
}
@ -142,6 +145,7 @@ func (this HelmCommand) ChartUninstall(data HelmChart) (string, error) {
// ../bin/helm list --filter phpmyadminm --short
func (this HelmCommand) chartExists(data HelmChart) (bool, error) {
bin := this.Bin
msg := fmt.Sprintf("%s list --filter %s --no-headers", bin, data.Name)

View File

@ -8,10 +8,6 @@ import (
log "oc-deploy/log_wrapper"
)
// type HelmData struct {
// Name string
// }
func (this HelmCommand) Status(data HelmChart) (string, error) {
helm_bin := this.Bin

View File

@ -60,7 +60,14 @@ func (this *InstallClass) InstallCharts(modules []string) (error) {
var wg sync.WaitGroup
for _, v := range this.charts {
repoName := v.Repository.Name
repoName := ""
if v.Repository.Name != "" {
repoName = v.Repository.Name
} else {
if v.Oci.Url != "" {
repoName = v.Oci.Url
}
}
for _, v1 := range v.Charts {
if len(modules) == 0 || utils.StringInSlice(v1.Name, modules) {

9
test/chart/oc_oci.yml Normal file
View File

@ -0,0 +1,9 @@
---
opencloud:
- oci:
url: oci://harbor.dtf/dev
charts:
- name: oc-catalog
chart: oc-catalog
version: 0.1.0