diff --git a/cli/test.mod.cue b/cli/test.mod.cue deleted file mode 100644 index 5941ec7..0000000 --- a/cli/test.mod.cue +++ /dev/null @@ -1,13 +0,0 @@ -{ - helm: { - instance: "tailscale" - name: "nginx" - namespace: "default" - registry: "https://charts.bitnami.com/bitnami" - type: "helm" - values: { - foo: "bar" - } - version: "18.3.6" - } -} diff --git a/lib/project/deployment/providers/helm/downloader/default.go b/lib/project/deployment/providers/helm/downloader/default.go index 41ac615..eface90 100644 --- a/lib/project/deployment/providers/helm/downloader/default.go +++ b/lib/project/deployment/providers/helm/downloader/default.go @@ -30,7 +30,7 @@ func (d *DefaultChartDownloader) Download(repoUrl, chartName, version string) (* return nil, fmt.Errorf("failed to find chart in repo: %w", err) } - u, err := dl.ResolveChartVersion(url, "") + u, err := dl.ResolveChartVersion(url, version) if err != nil { return nil, fmt.Errorf("failed to resolve chart version: %w", err) } diff --git a/lib/project/deployment/providers/helm/generator.go b/lib/project/deployment/providers/helm/generator.go index cf9e186..a4c9248 100644 --- a/lib/project/deployment/providers/helm/generator.go +++ b/lib/project/deployment/providers/helm/generator.go @@ -36,7 +36,12 @@ func (h *HelmManifestGenerator) Generate(mod schema.DeploymentModule) ([]byte, e return nil, fmt.Errorf("failed to load chart archive: %w", err) } - rel, err := client.Run(chart, map[string]interface{}{"foo": "bar"}) + values, ok := mod.Values.(map[string]interface{}) + if !ok { + return nil, fmt.Errorf("failed to assert mod.Values to map[string]interface{}") + } + + rel, err := client.Run(chart, values) if err != nil { return nil, fmt.Errorf("failed to run client: %w", err) } diff --git a/lib/project/deployment/providers/helm/generator_test.go b/lib/project/deployment/providers/helm/generator_test.go index 8338fc7..1e8ffc1 100644 --- a/lib/project/deployment/providers/helm/generator_test.go +++ b/lib/project/deployment/providers/helm/generator_test.go @@ -33,7 +33,12 @@ func TestHelmManifestGenerator(t *testing.T) { Name: utils.StringPtr("test"), Namespace: "default", Registry: utils.StringPtr("https://charts.test.com/repo"), - Version: utils.StringPtr("1.0.0"), + Values: map[string]interface{}{ + "image": map[string]interface{}{ + "tag": "1.27.0", + }, + }, + Version: utils.StringPtr("1.0.0"), } result, err := gen.Generate(mod) diff --git a/lib/project/deployment/providers/helm/testdata/golden.yaml b/lib/project/deployment/providers/helm/testdata/golden.yaml index 6e43d15..12b38e3 100644 --- a/lib/project/deployment/providers/helm/testdata/golden.yaml +++ b/lib/project/deployment/providers/helm/testdata/golden.yaml @@ -18,5 +18,5 @@ spec: spec: containers: - name: nginx - image: "nginx:latest" + image: "nginx:1.27.0" imagePullPolicy: IfNotPresent