From 4d845e0219695fe13b2455a6cd7e6823a45bb7f4 Mon Sep 17 00:00:00 2001 From: Tom van Dinther <39470469+tvandinther@users.noreply.github.com> Date: Wed, 22 Jan 2025 16:49:21 +0100 Subject: [PATCH] Enable hooks (#17) * enable hooks * Add hooks to returned manifests * Instantiate array with known size --- pkg/helm/template.go | 1 - pkg/plugin/helm.go | 10 +++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/pkg/helm/template.go b/pkg/helm/template.go index 19ebfeb..5877a54 100644 --- a/pkg/helm/template.go +++ b/pkg/helm/template.go @@ -83,7 +83,6 @@ func RunTemplate(chartRef *ChartRef, values map[string]interface{}, releaseName, client.APIVersions = apiVersions } client.IncludeCRDs = true - client.DisableHooks = true rel, err := client.Run(chart, values) if err != nil { diff --git a/pkg/plugin/helm.go b/pkg/plugin/helm.go index 68c88f1..78a1e34 100644 --- a/pkg/plugin/helm.go +++ b/pkg/plugin/helm.go @@ -61,7 +61,7 @@ func init() { } splitManifests := releaseutil.SplitManifests(release.Manifest) - var manifestSlice []types.Manifest + manifestSlice := make([]types.Manifest, 0, len(splitManifests)+len(release.Hooks)) for _, manifestString := range splitManifests { var manifest types.Manifest yaml.Unmarshal([]byte(manifestString), &manifest) @@ -70,6 +70,14 @@ func init() { } } + for _, hook := range release.Hooks { + var manifest types.Manifest + yaml.Unmarshal([]byte(hook.Manifest), &manifest) + if len(manifest) > 0 { + manifestSlice = append(manifestSlice, manifest) + } + } + util.SortManifests(manifestSlice) return &plugin.MethodResult{V: manifestSlice}, nil