This fixes the run package's leaky abstraction; other packages no longer need to know or care that run.Config even exists. Note that since the various Steps now depend on having a non-nil pointer to a run.Config, it's unsafe (or at least risky) to initialize them directly. They should be created with their NewSTEPNAME functions. All their fields are now private, to reflect this.
23 lines
344 B
Go
23 lines
344 B
Go
package run
|
|
|
|
import (
|
|
"github.com/pelotech/drone-helm3/internal/env"
|
|
"io"
|
|
)
|
|
|
|
type config struct {
|
|
debug bool
|
|
namespace string
|
|
stdout io.Writer
|
|
stderr io.Writer
|
|
}
|
|
|
|
func newConfig(cfg env.Config) *config {
|
|
return &config{
|
|
debug: cfg.Debug,
|
|
namespace: cfg.Namespace,
|
|
stdout: cfg.Stdout,
|
|
stderr: cfg.Stderr,
|
|
}
|
|
}
|