diff --git a/main.go b/main.go index 7dd95eaa..25cf6b7b 100644 --- a/main.go +++ b/main.go @@ -50,6 +50,7 @@ func main() { cli.StringFlag{ Name: "helm-binary, b", Usage: "path to helm binary", + Value: "helm", }, cli.StringFlag{ Name: "file, f", diff --git a/pkg/app/app.go b/pkg/app/app.go index 5bafd47f..a0a8ed1c 100644 --- a/pkg/app/app.go +++ b/pkg/app/app.go @@ -36,7 +36,6 @@ type App struct { Env string Namespace string Selectors []string - HelmBinary string Args string ValuesFiles []string Set map[string]interface{} @@ -69,12 +68,11 @@ func New(conf ConfigProvider) *App { Env: conf.Env(), Namespace: conf.Namespace(), Selectors: conf.Selectors(), - HelmBinary: conf.HelmBinary(), Args: conf.Args(), FileOrDir: conf.FileOrDir(), ValuesFiles: conf.StateValuesFiles(), Set: conf.StateValuesSet(), - helmExecer: helmexec.New(conf.Logger(), conf.KubeContext(), &helmexec.ShellRunner{ + helmExecer: helmexec.New(conf.HelmBinary(), conf.Logger(), conf.KubeContext(), &helmexec.ShellRunner{ Logger: conf.Logger(), }), }) @@ -534,10 +532,6 @@ func (a *App) Wrap(converge func(*state.HelmState, helmexec.Interface) []error) } } - if a.HelmBinary != "" { - helm.SetHelmBinary(a.HelmBinary) - } - type Key struct { TillerNamespace, Name string } diff --git a/pkg/app/app_test.go b/pkg/app/app_test.go index 4fbf1d3a..16d93e80 100644 --- a/pkg/app/app_test.go +++ b/pkg/app/app_test.go @@ -1918,7 +1918,7 @@ func (mock *mockRunner) Execute(cmd string, args []string, env map[string]string } func MockExecer(logger *zap.SugaredLogger, kubeContext string) helmexec.Interface { - execer := helmexec.New(logger, kubeContext, &mockRunner{}) + execer := helmexec.New("helm", logger, kubeContext, &mockRunner{}) return execer } diff --git a/pkg/helmexec/exec.go b/pkg/helmexec/exec.go index 89c32020..1d51bcac 100644 --- a/pkg/helmexec/exec.go +++ b/pkg/helmexec/exec.go @@ -13,10 +13,6 @@ import ( "go.uber.org/zap/zapcore" ) -const ( - command = "helm" -) - type decryptedSecret struct { mutex sync.RWMutex bytes []byte @@ -50,9 +46,9 @@ func NewLogger(writer io.Writer, logLevel string) *zap.SugaredLogger { } // New for running helm commands -func New(logger *zap.SugaredLogger, kubeContext string, runner Runner) *execer { +func New(helmBinary string, logger *zap.SugaredLogger, kubeContext string, runner Runner) *execer { return &execer{ - helmBinary: command, + helmBinary: helmBinary, logger: logger, kubeContext: kubeContext, runner: runner, diff --git a/pkg/helmexec/exec_test.go b/pkg/helmexec/exec_test.go index f0d22411..0bb32ff4 100644 --- a/pkg/helmexec/exec_test.go +++ b/pkg/helmexec/exec_test.go @@ -24,7 +24,7 @@ func (mock *mockRunner) Execute(cmd string, args []string, env map[string]string } func MockExecer(logger *zap.SugaredLogger, kubeContext string) *execer { - execer := New(logger, kubeContext, &mockRunner{}) + execer := New("helm", logger, kubeContext, &mockRunner{}) return execer } @@ -33,7 +33,7 @@ func MockExecer(logger *zap.SugaredLogger, kubeContext string) *execer { func TestNewHelmExec(t *testing.T) { buffer := bytes.NewBufferString("something") logger := NewLogger(buffer, "debug") - helm := New(logger, "dev", &ShellRunner{ + helm := New("helm", logger, "dev", &ShellRunner{ Logger: logger, }) if helm.kubeContext != "dev" { @@ -50,7 +50,7 @@ func TestNewHelmExec(t *testing.T) { func Test_SetExtraArgs(t *testing.T) { buffer := bytes.NewBufferString("something") logger := NewLogger(buffer, "debug") - helm := New(NewLogger(os.Stdout, "info"), "dev", &ShellRunner{ + helm := New("helm", NewLogger(os.Stdout, "info"), "dev", &ShellRunner{ Logger: logger, }) helm.SetExtraArgs() @@ -70,7 +70,7 @@ func Test_SetExtraArgs(t *testing.T) { func Test_SetHelmBinary(t *testing.T) { buffer := bytes.NewBufferString("something") logger := NewLogger(buffer, "debug") - helm := New(NewLogger(os.Stdout, "info"), "dev", &ShellRunner{ + helm := New("helm", NewLogger(os.Stdout, "info"), "dev", &ShellRunner{ Logger: logger, }) if helm.helmBinary != "helm" { diff --git a/pkg/state/state_test.go b/pkg/state/state_test.go index 02e35ddd..8c2ad549 100644 --- a/pkg/state/state_test.go +++ b/pkg/state/state_test.go @@ -524,7 +524,7 @@ func TestHelmState_flagsForUpgrade(t *testing.T) { HelmDefaults: tt.defaults, valsRuntime: valsRuntime, } - helm := helmexec.New(logger, "default", &helmexec.ShellRunner{ + helm := helmexec.New("helm", logger, "default", &helmexec.ShellRunner{ Logger: logger, }) args, err := state.flagsForUpgrade(helm, tt.release, 0)