Skip to content

Commit 55febb2

Browse files
committed
Add NewRunnerWithConfig constructor method
This makes it possible to inject a custom Helm action configuration, which is useful for tests where you want to be able to inject a (fake) test client and/or different (memory) storage driver. Signed-off-by: Hidde Beydals <[email protected]>
1 parent c5c58a9 commit 55febb2

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

internal/runner/runner.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package runner
1919
import (
2020
"errors"
2121
"fmt"
22+
"strings"
2223

2324
"github.com/go-logr/logr"
2425
"helm.sh/helm/v3/pkg/action"
@@ -45,9 +46,15 @@ type Runner struct {
4546
// namespace configured to the provided values.
4647
func NewRunner(getter genericclioptions.RESTClientGetter, hr *v2.HelmRelease, log logr.Logger) (*Runner, error) {
4748
cfg := new(action.Configuration)
48-
if err := cfg.Init(getter, hr.GetNamespace(), "secret", debugLogger(log)); err != nil {
49+
if err := cfg.Init(getter, hr.GetNamespace(), strings.ToLower(driver.SecretsDriverName), debugLogger(log)); err != nil {
4950
return nil, err
5051
}
52+
return NewRunnerWithConfig(cfg, hr)
53+
}
54+
55+
// NewRunnerWithConfig constructs a new Runner configured with the
56+
// given action.Configuration.
57+
func NewRunnerWithConfig(cfg *action.Configuration, hr *v2.HelmRelease) (*Runner, error) {
5158
last, err := cfg.Releases.Get(hr.GetReleaseName(), hr.Status.LastReleaseRevision)
5259
if err != nil && !errors.Is(err, driver.ErrReleaseNotFound) {
5360
return nil, err

0 commit comments

Comments
 (0)