Refactor based on review comment

Signed-off-by: Chris Berry <bez625@gmail.com>
pull/10309/head
Chris Berry 7 months ago
parent 6d30fa5990
commit 9791767baa

@ -57,6 +57,11 @@ func warning(format string, v ...interface{}) {
fmt.Fprintf(os.Stderr, format, v...)
}
// hookOutputWriter provides the writer for writing hook logs.
func hookOutputWriter(_, _, _ string) io.Writer {
return log.Writer()
}
func main() {
// Setting the name of the app for managedFields in the Kubernetes client.
// It is set here to the full name of "helm" so that renaming of helm to
@ -74,7 +79,7 @@ func main() {
// run when each command's execute method is called
cobra.OnInitialize(func() {
helmDriver := os.Getenv("HELM_DRIVER")
if err := actionConfig.Init(settings.RESTClientGetter(), settings.Namespace(), helmDriver, debug); err != nil {
if err := actionConfig.Init(settings.RESTClientGetter(), settings.Namespace(), helmDriver, debug, hookOutputWriter); err != nil {
log.Fatal(err)
}
if helmDriver == "memory" {

@ -71,7 +71,7 @@ func newListCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
ValidArgsFunction: noMoreArgsCompFunc,
RunE: func(cmd *cobra.Command, _ []string) error {
if client.AllNamespaces {
if err := cfg.Init(settings.RESTClientGetter(), "", os.Getenv("HELM_DRIVER"), debug); err != nil {
if err := cfg.Init(settings.RESTClientGetter(), "", os.Getenv("HELM_DRIVER"), debug, nil); err != nil {
return err
}
}

@ -20,7 +20,6 @@ import (
"bytes"
"fmt"
"io"
"log"
"os"
"path"
"path/filepath"
@ -98,7 +97,7 @@ type Configuration struct {
Log func(string, ...interface{})
// HookOutputFunc Called with container name and returns and expects writer that will receive the log output
// HookOutputFunc called with container name and returns and expects writer that will receive the log output.
HookOutputFunc func(namespace, pod, container string) io.Writer
}
@ -247,6 +246,9 @@ type RESTClientGetter interface {
// DebugLog sets the logger that writes debug strings
type DebugLog func(format string, v ...interface{})
// HookOutputFunc returns the io.Writer for outputting hook logs.
type HookOutputFunc func(namespace, pod, container string) io.Writer
// capabilities builds a Capabilities from discovery information.
func (cfg *Configuration) getCapabilities() (*chartutil.Capabilities, error) {
if cfg.Capabilities != nil {
@ -375,7 +377,7 @@ func (cfg *Configuration) recordRelease(r *release.Release) {
}
// Init initializes the action configuration
func (cfg *Configuration) Init(getter genericclioptions.RESTClientGetter, namespace, helmDriver string, log DebugLog) error {
func (cfg *Configuration) Init(getter genericclioptions.RESTClientGetter, namespace, helmDriver string, log DebugLog, outputFunc HookOutputFunc) error {
kc := kube.New(getter)
kc.Log = log
@ -427,12 +429,11 @@ func (cfg *Configuration) Init(getter genericclioptions.RESTClientGetter, namesp
cfg.KubeClient = kc
cfg.Releases = store
cfg.Log = log
cfg.HookOutputFunc = defaultHookOutputWriter
if outputFunc != nil {
cfg.HookOutputFunc = outputFunc
} else {
cfg.HookOutputFunc = func(_, _, _ string) io.Writer { return io.Discard }
}
return nil
}
// defaultHookOutputWriter will write the Hook logs to log.Writer().
func defaultHookOutputWriter(_, _, _ string) io.Writer {
return log.Writer()
}

@ -334,7 +334,7 @@ func TestConfiguration_Init(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
cfg := &Configuration{}
actualErr := cfg.Init(nil, "default", tt.helmDriver, nil)
actualErr := cfg.Init(nil, "default", tt.helmDriver, nil, nil)
if tt.expectErr {
assert.Error(t, actualErr)
assert.Contains(t, actualErr.Error(), tt.errMsg)

Loading…
Cancel
Save