From 276693cf0e9cf5b83809edac832c5c253f5a941c Mon Sep 17 00:00:00 2001 From: Jeffrey Regan Date: Fri, 20 Jul 2018 09:01:37 -0700 Subject: [PATCH] Make a secret factory. --- pkg/app/application.go | 13 ++++++++----- pkg/app/application_test.go | 7 ++++--- pkg/commands/build.go | 6 +++--- pkg/commands/configmap.go | 2 +- pkg/commands/diff.go | 6 +++--- pkg/configmapandsecret/configmapfactory.go | 6 +++--- pkg/configmapandsecret/configmapfactory_test.go | 2 +- pkg/resmap/configmap.go | 10 +++++++--- pkg/resmap/configmap_test.go | 3 ++- 9 files changed, 32 insertions(+), 23 deletions(-) diff --git a/pkg/app/application.go b/pkg/app/application.go index d3e58bb025..3f69383d2e 100644 --- a/pkg/app/application.go +++ b/pkg/app/application.go @@ -28,6 +28,7 @@ import ( "github.com/kubernetes-sigs/kustomize/pkg/constants" "github.com/kubernetes-sigs/kustomize/pkg/crds" + "github.com/kubernetes-sigs/kustomize/pkg/fs" interror "github.com/kubernetes-sigs/kustomize/pkg/internal/error" "github.com/kubernetes-sigs/kustomize/pkg/loader" "github.com/kubernetes-sigs/kustomize/pkg/resmap" @@ -44,10 +45,11 @@ import ( type Application struct { kustomization *types.Kustomization loader loader.Loader + fSys fs.FileSystem } // NewApplication returns a new instance of Application primed with a Loader. -func NewApplication(loader loader.Loader) (*Application, error) { +func NewApplication(loader loader.Loader, fSys fs.FileSystem) (*Application, error) { content, err := loader.Load(constants.KustomizationFileName) if err != nil { return nil, err @@ -58,7 +60,7 @@ func NewApplication(loader loader.Loader) (*Application, error) { if err != nil { return nil, err } - return &Application{kustomization: &m, loader: loader}, nil + return &Application{kustomization: &m, loader: loader, fSys: fSys}, nil } func unmarshal(y []byte, o interface{}) error { @@ -139,7 +141,8 @@ func (a *Application) loadCustomizedResMap() (resmap.ResMap, error) { errs.Append(errors.Wrap(err, "RegisterCRDs")) } - cms, err := resmap.NewResMapFromConfigMapArgs(a.loader, a.kustomization.ConfigMapGenerator) + cms, err := resmap.NewResMapFromConfigMapArgs( + a.loader, a.fSys, a.kustomization.ConfigMapGenerator) if err != nil { errs.Append(errors.Wrap(err, "NewResMapFromConfigMapArgs")) } @@ -200,7 +203,7 @@ func (a *Application) loadCustomizedBases() (resmap.ResMap, *interror.Kustomizat errs.Append(errors.Wrap(err, "couldn't make ldr for "+path)) continue } - app, err := NewApplication(ldr) + app, err := NewApplication(ldr, a.fSys) if err != nil { errs.Append(errors.Wrap(err, "couldn't make app for "+path)) continue @@ -228,7 +231,7 @@ func (a *Application) loadBasesAsFlatList() ([]*Application, error) { errs.Append(err) continue } - a, err := NewApplication(ldr) + a, err := NewApplication(ldr, a.fSys) if err != nil { errs.Append(err) continue diff --git a/pkg/app/application_test.go b/pkg/app/application_test.go index af4ea7caa3..c2c69cac50 100644 --- a/pkg/app/application_test.go +++ b/pkg/app/application_test.go @@ -22,6 +22,7 @@ import ( "testing" "github.com/kubernetes-sigs/kustomize/pkg/constants" + "github.com/kubernetes-sigs/kustomize/pkg/fs" "github.com/kubernetes-sigs/kustomize/pkg/internal/loadertest" "github.com/kubernetes-sigs/kustomize/pkg/loader" "github.com/kubernetes-sigs/kustomize/pkg/resmap" @@ -179,7 +180,7 @@ func TestResources1(t *testing.T) { }), } l := makeLoader1(t) - app, err := NewApplication(l) + app, err := NewApplication(l, fs.MakeFakeFS()) if err != nil { t.Fatalf("Unexpected construction error %v", err) } @@ -214,7 +215,7 @@ func TestRawResources1(t *testing.T) { }), } l := makeLoader1(t) - app, err := NewApplication(l) + app, err := NewApplication(l, fs.MakeFakeFS()) if err != nil { t.Fatalf("Unexpected construction error %v", err) } @@ -324,7 +325,7 @@ func TestRawResources2(t *testing.T) { }), } l := makeLoader2(t) - app, err := NewApplication(l) + app, err := NewApplication(l, fs.MakeFakeFS()) if err != nil { t.Fatalf("Unexpected construction error %v", err) } diff --git a/pkg/commands/build.go b/pkg/commands/build.go index 8a40e2d42f..13fe9dd954 100644 --- a/pkg/commands/build.go +++ b/pkg/commands/build.go @@ -69,8 +69,8 @@ func (o *buildOptions) Validate(args []string) error { } // RunBuild runs build command. -func (o *buildOptions) RunBuild(out io.Writer, fs fs.FileSystem) error { - l := loader.Init([]loader.SchemeLoader{loader.NewFileLoader(fs)}) +func (o *buildOptions) RunBuild(out io.Writer, fSys fs.FileSystem) error { + l := loader.Init([]loader.SchemeLoader{loader.NewFileLoader(fSys)}) absPath, err := filepath.Abs(o.kustomizationPath) if err != nil { @@ -82,7 +82,7 @@ func (o *buildOptions) RunBuild(out io.Writer, fs fs.FileSystem) error { return err } - application, err := app.NewApplication(rootLoader) + application, err := app.NewApplication(rootLoader, fSys) if err != nil { return err } diff --git a/pkg/commands/configmap.go b/pkg/commands/configmap.go index f8065d958e..39f824671d 100644 --- a/pkg/commands/configmap.go +++ b/pkg/commands/configmap.go @@ -103,7 +103,7 @@ func addConfigMap(k *types.Kustomization, flagsAndArgs cMapFlagsAndArgs, fSys fs return err } - factory := configmapandsecret.NewConfigMapFactory(cmArgs, fSys, nil) + factory := configmapandsecret.NewConfigMapFactory(cmArgs, nil, fSys) // Validate by trying to create corev1.configmap. _, _, err = factory.MakeUnstructAndGenerateName() diff --git a/pkg/commands/diff.go b/pkg/commands/diff.go index e46e9a0b44..3fd7162e46 100644 --- a/pkg/commands/diff.go +++ b/pkg/commands/diff.go @@ -66,9 +66,9 @@ func (o *diffOptions) Validate(args []string) error { } // RunDiff gets the differences between Application.MakeCustomizedResMap() and Application.MakeUncustomizedResMap(). -func (o *diffOptions) RunDiff(out, errOut io.Writer, fs fs.FileSystem) error { +func (o *diffOptions) RunDiff(out, errOut io.Writer, fSys fs.FileSystem) error { - l := loader.Init([]loader.SchemeLoader{loader.NewFileLoader(fs)}) + l := loader.Init([]loader.SchemeLoader{loader.NewFileLoader(fSys)}) absPath, err := filepath.Abs(o.kustomizationPath) if err != nil { @@ -80,7 +80,7 @@ func (o *diffOptions) RunDiff(out, errOut io.Writer, fs fs.FileSystem) error { return err } - application, err := app.NewApplication(rootLoader) + application, err := app.NewApplication(rootLoader, fSys) if err != nil { return err } diff --git a/pkg/configmapandsecret/configmapfactory.go b/pkg/configmapandsecret/configmapfactory.go index 5ecbc60f4d..ce95a74366 100644 --- a/pkg/configmapandsecret/configmapfactory.go +++ b/pkg/configmapandsecret/configmapfactory.go @@ -46,9 +46,9 @@ type ConfigMapFactory struct { // NewConfigMapFactory returns a new ConfigMapFactory. func NewConfigMapFactory( args *types.ConfigMapArgs, - fSys fs.FileSystem, - l loader.Loader) *ConfigMapFactory { - return &ConfigMapFactory{args: args, fSys: fSys, ldr: l} + l loader.Loader, + fSys fs.FileSystem) *ConfigMapFactory { + return &ConfigMapFactory{args: args, ldr: l, fSys: fSys} } // MakeUnstructAndGenerateName returns an configmap and the name appended with a hash. diff --git a/pkg/configmapandsecret/configmapfactory_test.go b/pkg/configmapandsecret/configmapfactory_test.go index 52d1c8f289..d18ec80f0d 100644 --- a/pkg/configmapandsecret/configmapfactory_test.go +++ b/pkg/configmapandsecret/configmapfactory_test.go @@ -136,7 +136,7 @@ func TestConstructConfigMap(t *testing.T) { for _, tc := range testCases { // TODO: all tests should use a FakeFs fSys := fs.MakeRealFS() - f := NewConfigMapFactory(&tc.input, fSys, nil) + f := NewConfigMapFactory(&tc.input, nil, fSys) cm, err := f.MakeConfigMap1() if err != nil { t.Fatalf("unexpected error: %v", err) diff --git a/pkg/resmap/configmap.go b/pkg/resmap/configmap.go index 80bbb940e8..b0bbc8092b 100644 --- a/pkg/resmap/configmap.go +++ b/pkg/resmap/configmap.go @@ -18,20 +18,24 @@ package resmap import ( "github.com/kubernetes-sigs/kustomize/pkg/configmapandsecret" + "github.com/kubernetes-sigs/kustomize/pkg/fs" "github.com/kubernetes-sigs/kustomize/pkg/loader" "github.com/kubernetes-sigs/kustomize/pkg/resource" "github.com/kubernetes-sigs/kustomize/pkg/types" ) -// NewResMapFromConfigMapArgs returns a Resource slice given a configmap metadata slice from kustomization file. +// NewResMapFromConfigMapArgs returns a Resource slice given +// a configmap metadata slice from kustomization file. func NewResMapFromConfigMapArgs( - ldr loader.Loader, cmArgsList []types.ConfigMapArgs) (ResMap, error) { + ldr loader.Loader, + fSys fs.FileSystem, + cmArgsList []types.ConfigMapArgs) (ResMap, error) { var allResources []*resource.Resource for _, cmArgs := range cmArgsList { if cmArgs.Behavior == "" { cmArgs.Behavior = "create" } - f := configmapandsecret.NewConfigMapFactory(&cmArgs, nil, ldr) + f := configmapandsecret.NewConfigMapFactory(&cmArgs, ldr, fSys) cm, err := f.MakeConfigMap2() if err != nil { return nil, err diff --git a/pkg/resmap/configmap_test.go b/pkg/resmap/configmap_test.go index 6e574409c6..dc16d8ec98 100644 --- a/pkg/resmap/configmap_test.go +++ b/pkg/resmap/configmap_test.go @@ -20,6 +20,7 @@ import ( "reflect" "testing" + "github.com/kubernetes-sigs/kustomize/pkg/fs" "github.com/kubernetes-sigs/kustomize/pkg/internal/loadertest" "github.com/kubernetes-sigs/kustomize/pkg/resource" "github.com/kubernetes-sigs/kustomize/pkg/types" @@ -130,7 +131,7 @@ BAR=baz if ferr := l.AddFile(tc.filepath, []byte(tc.content)); ferr != nil { t.Fatalf("Error adding fake file: %v\n", ferr) } - r, err := NewResMapFromConfigMapArgs(l, tc.input) + r, err := NewResMapFromConfigMapArgs(l, fs.MakeFakeFS(), tc.input) if err != nil { t.Fatalf("unexpected error: %v", err) }