hide core/v1 behind interface

This commit is contained in:
Jingfang Liu
2018-10-09 14:51:37 -07:00
parent 0faef46773
commit f783486057
17 changed files with 112 additions and 77 deletions

View File

@@ -91,7 +91,7 @@ func TestConstructConfigMap(t *testing.T) {
input: types.ConfigMapArgs{ input: types.ConfigMapArgs{
Name: "envConfigMap", Name: "envConfigMap",
DataSources: types.DataSources{ DataSources: types.DataSources{
EnvSource: "../examplelayout/simple/instances/exampleinstance/configmap/app.env", EnvSource: "../../../pkg/examplelayout/simple/instances/exampleinstance/configmap/app.env",
}, },
}, },
expected: makeEnvConfigMap("envConfigMap"), expected: makeEnvConfigMap("envConfigMap"),
@@ -101,7 +101,7 @@ func TestConstructConfigMap(t *testing.T) {
input: types.ConfigMapArgs{ input: types.ConfigMapArgs{
Name: "fileConfigMap", Name: "fileConfigMap",
DataSources: types.DataSources{ DataSources: types.DataSources{
FileSources: []string{"../examplelayout/simple/instances/exampleinstance/configmap/app-init.ini"}, FileSources: []string{"../../../pkg/examplelayout/simple/instances/exampleinstance/configmap/app-init.ini"},
}, },
}, },
expected: makeFileConfigMap("fileConfigMap"), expected: makeFileConfigMap("fileConfigMap"),

View File

@@ -19,12 +19,17 @@ package k8sdeps
import ( import (
"io" "io"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"sigs.k8s.io/kustomize/internal/k8sdeps/configmapandsecret"
"sigs.k8s.io/kustomize/pkg/fs"
"sigs.k8s.io/kustomize/pkg/ifc" "sigs.k8s.io/kustomize/pkg/ifc"
"sigs.k8s.io/kustomize/pkg/types"
) )
// KunstructurerFactoryImpl hides construction using apimachinery types. // KunstructurerFactoryImpl hides construction using apimachinery types.
type KunstructurerFactoryImpl struct { type KunstructurerFactoryImpl struct {
decoder ifc.Decoder decoder ifc.Decoder
cmfactory *configmapandsecret.ConfigMapFactory
secfactory *configmapandsecret.SecretFactory
} }
var _ ifc.KunstructuredFactory = &KunstructurerFactoryImpl{} var _ ifc.KunstructuredFactory = &KunstructurerFactoryImpl{}
@@ -58,3 +63,27 @@ func (kf *KunstructurerFactoryImpl) FromMap(
m map[string]interface{}) ifc.Kunstructured { m map[string]interface{}) ifc.Kunstructured {
return &UnstructAdapter{Unstructured: unstructured.Unstructured{Object: m}} return &UnstructAdapter{Unstructured: unstructured.Unstructured{Object: m}}
} }
// MakeConfigMap returns an instance of Kunstructured for ConfigMap
func (kf *KunstructurerFactoryImpl) MakeConfigMap(args *types.ConfigMapArgs) (ifc.Kunstructured, error) {
cm, err := kf.cmfactory.MakeConfigMap(args)
if err != nil {
return nil, err
}
return NewKunstructuredFromObject(cm)
}
// MakeSecret returns an instance of Kunstructured for Secret
func (kf *KunstructurerFactoryImpl) MakeSecret(args *types.SecretArgs) (ifc.Kunstructured, error) {
sec, err := kf.secfactory.MakeSecret(args)
if err != nil {
return nil, err
}
return NewKunstructuredFromObject(sec)
}
// Set sets loader, filesystem and workdirectory
func (kf *KunstructurerFactoryImpl) Set(fs fs.FileSystem, ldr ifc.Loader) {
kf.cmfactory = configmapandsecret.NewConfigMapFactory(fs, ldr)
kf.secfactory = configmapandsecret.NewSecretFactory(fs, ldr.Root())
}

View File

@@ -51,7 +51,7 @@ See https://sigs.k8s.io/kustomize
c.AddCommand( c.AddCommand(
// TODO: Make consistent API for newCmd* functions. // TODO: Make consistent API for newCmd* functions.
build.NewCmdBuild(stdOut, fsys, kf, ptf, decoder, hash), build.NewCmdBuild(stdOut, fsys, kf, ptf, decoder, hash),
edit.NewCmdEdit(fsys, validator), edit.NewCmdEdit(fsys, validator, kf),
misc.NewCmdConfig(fsys), misc.NewCmdConfig(fsys),
misc.NewCmdVersion(stdOut), misc.NewCmdVersion(stdOut),
) )

View File

@@ -23,7 +23,7 @@ import (
) )
// NewCmdAdd returns an instance of 'add' subcommand. // NewCmdAdd returns an instance of 'add' subcommand.
func NewCmdAdd(fsys fs.FileSystem, v ifc.Validator) *cobra.Command { func NewCmdAdd(fsys fs.FileSystem, v ifc.Validator, kf ifc.KunstructuredFactory) *cobra.Command {
c := &cobra.Command{ c := &cobra.Command{
Use: "add", Use: "add",
Short: "Adds configmap/resource/patch/base to the kustomization file.", Short: "Adds configmap/resource/patch/base to the kustomization file.",
@@ -53,7 +53,7 @@ func NewCmdAdd(fsys fs.FileSystem, v ifc.Validator) *cobra.Command {
c.AddCommand( c.AddCommand(
newCmdAddResource(fsys), newCmdAddResource(fsys),
newCmdAddPatch(fsys), newCmdAddPatch(fsys),
newCmdAddConfigMap(fsys), newCmdAddConfigMap(fsys, kf),
newCmdAddBase(fsys), newCmdAddBase(fsys),
newCmdAddLabel(fsys, v.MakeLabelValidator()), newCmdAddLabel(fsys, v.MakeLabelValidator()),
newCmdAddAnnotation(fsys, v.MakeAnnotationValidator()), newCmdAddAnnotation(fsys, v.MakeAnnotationValidator()),

View File

@@ -21,15 +21,15 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"sigs.k8s.io/kustomize/pkg/commands/kustfile" "sigs.k8s.io/kustomize/pkg/commands/kustfile"
"sigs.k8s.io/kustomize/pkg/configmapandsecret"
"sigs.k8s.io/kustomize/pkg/constants" "sigs.k8s.io/kustomize/pkg/constants"
"sigs.k8s.io/kustomize/pkg/fs" "sigs.k8s.io/kustomize/pkg/fs"
"sigs.k8s.io/kustomize/pkg/ifc"
"sigs.k8s.io/kustomize/pkg/loader" "sigs.k8s.io/kustomize/pkg/loader"
"sigs.k8s.io/kustomize/pkg/types" "sigs.k8s.io/kustomize/pkg/types"
) )
// newCmdAddConfigMap returns a new command. // newCmdAddConfigMap returns a new command.
func newCmdAddConfigMap(fSys fs.FileSystem) *cobra.Command { func newCmdAddConfigMap(fSys fs.FileSystem, kf ifc.KunstructuredFactory) *cobra.Command {
var flagsAndArgs cMapFlagsAndArgs var flagsAndArgs cMapFlagsAndArgs
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "configmap NAME [--from-file=[key=]source] [--from-literal=key1=value1]", Use: "configmap NAME [--from-file=[key=]source] [--from-literal=key1=value1]",
@@ -68,10 +68,8 @@ func newCmdAddConfigMap(fSys fs.FileSystem) *cobra.Command {
} }
// Add the flagsAndArgs map to the kustomization file. // Add the flagsAndArgs map to the kustomization file.
err = addConfigMap( kf.Set(fSys, loader.NewFileLoader(fSys))
kustomization, flagsAndArgs, err = addConfigMap(kustomization, flagsAndArgs, kf)
configmapandsecret.NewConfigMapFactory(
fSys, loader.NewFileLoader(fSys)))
if err != nil { if err != nil {
return err return err
} }
@@ -107,15 +105,14 @@ func newCmdAddConfigMap(fSys fs.FileSystem) *cobra.Command {
// Suggest passing a copy of kustomization file. // Suggest passing a copy of kustomization file.
func addConfigMap( func addConfigMap(
k *types.Kustomization, k *types.Kustomization,
flagsAndArgs cMapFlagsAndArgs, flagsAndArgs cMapFlagsAndArgs, kf ifc.KunstructuredFactory) error {
factory *configmapandsecret.ConfigMapFactory) error {
cmArgs := makeConfigMapArgs(k, flagsAndArgs.Name) cmArgs := makeConfigMapArgs(k, flagsAndArgs.Name)
err := mergeFlagsIntoCmArgs(&cmArgs.DataSources, flagsAndArgs) err := mergeFlagsIntoCmArgs(&cmArgs.DataSources, flagsAndArgs)
if err != nil { if err != nil {
return err return err
} }
// Validate by trying to create corev1.configmap. // Validate by trying to create corev1.configmap.
_, err = factory.MakeConfigMap(cmArgs) _, err = kf.MakeConfigMap(cmArgs)
if err != nil { if err != nil {
return err return err
} }

View File

@@ -24,7 +24,7 @@ import (
) )
func TestNewAddConfigMapIsNotNil(t *testing.T) { func TestNewAddConfigMapIsNotNil(t *testing.T) {
if newCmdAddConfigMap(fs.MakeFakeFS()) == nil { if newCmdAddConfigMap(fs.MakeFakeFS(), nil) == nil {
t.Fatal("newCmdAddConfigMap shouldn't be nil") t.Fatal("newCmdAddConfigMap shouldn't be nil")
} }
} }

View File

@@ -25,7 +25,7 @@ import (
) )
// NewCmdEdit returns an instance of 'edit' subcommand. // NewCmdEdit returns an instance of 'edit' subcommand.
func NewCmdEdit(fsys fs.FileSystem, v ifc.Validator) *cobra.Command { func NewCmdEdit(fsys fs.FileSystem, v ifc.Validator, kf ifc.KunstructuredFactory) *cobra.Command {
c := &cobra.Command{ c := &cobra.Command{
Use: "edit", Use: "edit",
Short: "Edits a kustomization file", Short: "Edits a kustomization file",
@@ -40,7 +40,7 @@ func NewCmdEdit(fsys fs.FileSystem, v ifc.Validator) *cobra.Command {
Args: cobra.MinimumNArgs(1), Args: cobra.MinimumNArgs(1),
} }
c.AddCommand( c.AddCommand(
add.NewCmdAdd(fsys, v), add.NewCmdAdd(fsys, v, kf),
set.NewCmdSet(fsys, v), set.NewCmdSet(fsys, v),
) )
return c return c

View File

@@ -17,7 +17,11 @@ limitations under the License.
// Package ifc holds miscellaneous interfaces used by kustomize. // Package ifc holds miscellaneous interfaces used by kustomize.
package ifc package ifc
import "sigs.k8s.io/kustomize/pkg/gvk" import (
"sigs.k8s.io/kustomize/pkg/fs"
"sigs.k8s.io/kustomize/pkg/gvk"
"sigs.k8s.io/kustomize/pkg/types"
)
// Decoder unmarshalls byte input into an object. // Decoder unmarshalls byte input into an object.
type Decoder interface { type Decoder interface {
@@ -74,4 +78,10 @@ type Kunstructured interface {
type KunstructuredFactory interface { type KunstructuredFactory interface {
SliceFromBytes([]byte) ([]Kunstructured, error) SliceFromBytes([]byte) ([]Kunstructured, error)
FromMap(m map[string]interface{}) Kunstructured FromMap(m map[string]interface{}) Kunstructured
MakeConfigMap(args *types.ConfigMapArgs) (Kunstructured, error)
MakeSecret(args *types.SecretArgs) (Kunstructured, error)
Set(fs fs.FileSystem, ldr Loader)
} }
// See core.v1.SecretTypeOpaque
const SecretTypeOpaque = "Opaque"

View File

@@ -20,7 +20,7 @@ import (
"fmt" "fmt"
"github.com/pkg/errors" "github.com/pkg/errors"
"sigs.k8s.io/kustomize/pkg/configmapandsecret" "sigs.k8s.io/kustomize/pkg/fs"
"sigs.k8s.io/kustomize/pkg/ifc" "sigs.k8s.io/kustomize/pkg/ifc"
internal "sigs.k8s.io/kustomize/pkg/internal/error" internal "sigs.k8s.io/kustomize/pkg/internal/error"
"sigs.k8s.io/kustomize/pkg/resource" "sigs.k8s.io/kustomize/pkg/resource"
@@ -80,19 +80,13 @@ func (rmF *Factory) newResMapFromBytes(b []byte) (ResMap, error) {
// NewResMapFromConfigMapArgs returns a Resource slice given // NewResMapFromConfigMapArgs returns a Resource slice given
// a configmap metadata slice from kustomization file. // a configmap metadata slice from kustomization file.
func (rmF *Factory) NewResMapFromConfigMapArgs( func (rmF *Factory) NewResMapFromConfigMapArgs(argList []types.ConfigMapArgs) (ResMap, error) {
cf *configmapandsecret.ConfigMapFactory,
argList []types.ConfigMapArgs) (ResMap, error) {
var resources []*resource.Resource var resources []*resource.Resource
for _, args := range argList { for _, args := range argList {
obj, err := cf.MakeConfigMap(&args) res, err := rmF.resF.MakeConfigMap(&args)
if err != nil { if err != nil {
return nil, errors.Wrap(err, "NewResMapFromConfigMapArgs") return nil, errors.Wrap(err, "NewResMapFromConfigMapArgs")
} }
res, err := rmF.resF.WithBehavior(obj, fixBehavior(args.Behavior))
if err != nil {
return nil, err
}
resources = append(resources, res) resources = append(resources, res)
} }
return newResMapFromResourceSlice(resources) return newResMapFromResourceSlice(resources)
@@ -100,30 +94,21 @@ func (rmF *Factory) NewResMapFromConfigMapArgs(
// NewResMapFromSecretArgs takes a SecretArgs slice, generates // NewResMapFromSecretArgs takes a SecretArgs slice, generates
// secrets from each entry, and accumulates them in a ResMap. // secrets from each entry, and accumulates them in a ResMap.
func (rmF *Factory) NewResMapFromSecretArgs( func (rmF *Factory) NewResMapFromSecretArgs(argsList []types.SecretArgs) (ResMap, error) {
sf *configmapandsecret.SecretFactory,
argsList []types.SecretArgs) (ResMap, error) {
var resources []*resource.Resource var resources []*resource.Resource
for _, args := range argsList { for _, args := range argsList {
obj, err := sf.MakeSecret(&args) res, err := rmF.resF.MakeSecret(&args)
if err != nil { if err != nil {
return nil, errors.Wrap(err, "NewResMapFromSecretArgs") return nil, errors.Wrap(err, "NewResMapFromSecretArgs")
} }
res, err := rmF.resF.WithBehavior(obj, fixBehavior(args.Behavior))
if err != nil {
return nil, errors.Wrap(err, "WithBehavior")
}
resources = append(resources, res) resources = append(resources, res)
} }
return newResMapFromResourceSlice(resources) return newResMapFromResourceSlice(resources)
} }
func fixBehavior(s string) ifc.GenerationBehavior { // Set sets the filesystem and loader for the underlying factory
b := ifc.NewGenerationBehavior(s) func (rmF *Factory) Set(fs fs.FileSystem, ldr ifc.Loader) {
if b == ifc.BehaviorUnspecified { rmF.resF.Set(fs, ldr)
return ifc.BehaviorCreate
}
return b
} }
func newResMapFromResourceSlice(resources []*resource.Resource) (ResMap, error) { func newResMapFromResourceSlice(resources []*resource.Resource) (ResMap, error) {

View File

@@ -22,12 +22,11 @@ import (
"reflect" "reflect"
"testing" "testing"
"k8s.io/api/core/v1"
"sigs.k8s.io/kustomize/pkg/configmapandsecret"
"sigs.k8s.io/kustomize/pkg/fs" "sigs.k8s.io/kustomize/pkg/fs"
"sigs.k8s.io/kustomize/pkg/gvk" "sigs.k8s.io/kustomize/pkg/gvk"
"sigs.k8s.io/kustomize/pkg/ifc" "sigs.k8s.io/kustomize/pkg/ifc"
"sigs.k8s.io/kustomize/pkg/internal/loadertest" "sigs.k8s.io/kustomize/pkg/internal/loadertest"
"sigs.k8s.io/kustomize/pkg/loader"
"sigs.k8s.io/kustomize/pkg/resid" "sigs.k8s.io/kustomize/pkg/resid"
"sigs.k8s.io/kustomize/pkg/types" "sigs.k8s.io/kustomize/pkg/types"
) )
@@ -133,7 +132,6 @@ func TestNewFromConfigMaps(t *testing.T) {
} }
l := loadertest.NewFakeLoader("/home/seans/project/") l := loadertest.NewFakeLoader("/home/seans/project/")
cf := configmapandsecret.NewConfigMapFactory(fs.MakeFakeFS(), l)
testCases := []testCase{ testCases := []testCase{
{ {
description: "construct config map from env", description: "construct config map from env",
@@ -219,12 +217,12 @@ BAR=baz
// TODO: add testcase for data coming from multiple sources like // TODO: add testcase for data coming from multiple sources like
// files/literal/env etc. // files/literal/env etc.
} }
rmF.Set(fs.MakeFakeFS(), l)
for _, tc := range testCases { for _, tc := range testCases {
if ferr := l.AddFile(tc.filepath, []byte(tc.content)); ferr != nil { if ferr := l.AddFile(tc.filepath, []byte(tc.content)); ferr != nil {
t.Fatalf("Error adding fake file: %v\n", ferr) t.Fatalf("Error adding fake file: %v\n", ferr)
} }
r, err := rmF.NewResMapFromConfigMapArgs(cf, tc.input) r, err := rmF.NewResMapFromConfigMapArgs(tc.input)
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
@@ -246,20 +244,20 @@ func TestNewResMapFromSecretArgs(t *testing.T) {
"DB_PASSWORD": "printf somepw", "DB_PASSWORD": "printf somepw",
}, },
}, },
Type: "Opaque", Type: ifc.SecretTypeOpaque,
}, },
{ {
Name: "peanuts", Name: "peanuts",
CommandSources: types.CommandSources{ CommandSources: types.CommandSources{
EnvCommand: "printf \"DB_USERNAME=admin\nDB_PASSWORD=somepw\"", EnvCommand: "printf \"DB_USERNAME=admin\nDB_PASSWORD=somepw\"",
}, },
Type: "Opaque", Type: ifc.SecretTypeOpaque,
}, },
} }
fakeFs := fs.MakeFakeFS() fakeFs := fs.MakeFakeFS()
fakeFs.Mkdir(".") fakeFs.Mkdir(".")
actual, err := rmF.NewResMapFromSecretArgs( rmF.Set(fakeFs, loader.NewFileLoader(fakeFs))
configmapandsecret.NewSecretFactory(fakeFs, "."), secrets) actual, err := rmF.NewResMapFromSecretArgs(secrets)
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
@@ -273,7 +271,7 @@ func TestNewResMapFromSecretArgs(t *testing.T) {
"metadata": map[string]interface{}{ "metadata": map[string]interface{}{
"name": "apple", "name": "apple",
}, },
"type": string(v1.SecretTypeOpaque), "type": ifc.SecretTypeOpaque,
"data": map[string]interface{}{ "data": map[string]interface{}{
"DB_USERNAME": base64.StdEncoding.EncodeToString([]byte("admin")), "DB_USERNAME": base64.StdEncoding.EncodeToString([]byte("admin")),
"DB_PASSWORD": base64.StdEncoding.EncodeToString([]byte("somepw")), "DB_PASSWORD": base64.StdEncoding.EncodeToString([]byte("somepw")),
@@ -286,7 +284,7 @@ func TestNewResMapFromSecretArgs(t *testing.T) {
"metadata": map[string]interface{}{ "metadata": map[string]interface{}{
"name": "peanuts", "name": "peanuts",
}, },
"type": string(v1.SecretTypeOpaque), "type": ifc.SecretTypeOpaque,
"data": map[string]interface{}{ "data": map[string]interface{}{
"DB_USERNAME": base64.StdEncoding.EncodeToString([]byte("admin")), "DB_USERNAME": base64.StdEncoding.EncodeToString([]byte("admin")),
"DB_PASSWORD": base64.StdEncoding.EncodeToString([]byte("somepw")), "DB_PASSWORD": base64.StdEncoding.EncodeToString([]byte("somepw")),
@@ -309,13 +307,13 @@ func TestSecretTimeout(t *testing.T) {
"USER": "sleep 2", "USER": "sleep 2",
}, },
}, },
Type: "Opaque", Type: ifc.SecretTypeOpaque,
}, },
} }
fakeFs := fs.MakeFakeFS() fakeFs := fs.MakeFakeFS()
fakeFs.Mkdir(".") fakeFs.Mkdir(".")
_, err := rmF.NewResMapFromSecretArgs( rmF.Set(fakeFs, loader.NewFileLoader(fakeFs))
configmapandsecret.NewSecretFactory(fakeFs, "."), secrets) _, err := rmF.NewResMapFromSecretArgs(secrets)
if err == nil { if err == nil {
t.Fatal("didn't get the expected timeout error", err) t.Fatal("didn't get the expected timeout error", err)

View File

@@ -19,11 +19,11 @@ package resource
import ( import (
"log" "log"
"k8s.io/apimachinery/pkg/runtime" "sigs.k8s.io/kustomize/pkg/fs"
"sigs.k8s.io/kustomize/internal/k8sdeps"
"sigs.k8s.io/kustomize/pkg/ifc" "sigs.k8s.io/kustomize/pkg/ifc"
internal "sigs.k8s.io/kustomize/pkg/internal/error" internal "sigs.k8s.io/kustomize/pkg/internal/error"
"sigs.k8s.io/kustomize/pkg/patch" "sigs.k8s.io/kustomize/pkg/patch"
"sigs.k8s.io/kustomize/pkg/types"
) )
// Factory makes instances of Resource. // Factory makes instances of Resource.
@@ -36,16 +36,6 @@ func NewFactory(kf ifc.KunstructuredFactory) *Factory {
return &Factory{kf: kf} return &Factory{kf: kf}
} }
// WithBehavior returns a new instance of Resource.
// TODO(monopole): This runtime dependence must be refactored away.
// The logic calling this has to move to k8sdeps.
func (rf *Factory) WithBehavior(
obj runtime.Object, b ifc.GenerationBehavior) (*Resource, error) {
// TODO(monopole): This k8sdeps dependence must be refactored away.
u, err := k8sdeps.NewKunstructuredFromObject(obj)
return &Resource{Kunstructured: u, b: b}, err
}
// FromMap returns a new instance of Resource. // FromMap returns a new instance of Resource.
func (rf *Factory) FromMap(m map[string]interface{}) *Resource { func (rf *Factory) FromMap(m map[string]interface{}) *Resource {
return &Resource{ return &Resource{
@@ -93,3 +83,34 @@ func (rf *Factory) SliceFromBytes(in []byte) ([]*Resource, error) {
} }
return result, nil return result, nil
} }
// Set sets the filesystem and loader for the underlying factory
func (rf *Factory) Set(fs fs.FileSystem, ldr ifc.Loader) {
rf.kf.Set(fs, ldr)
}
// MakeConfigMap makes an instance of Resource for ConfigMap
func (rf *Factory) MakeConfigMap(args *types.ConfigMapArgs) (*Resource, error) {
u, err := rf.kf.MakeConfigMap(args)
if err != nil {
return nil, err
}
return &Resource{Kunstructured: u, b: fixBehavior(args.Behavior)}, nil
}
// MakeSecret makes an instance of Resource for Secret
func (rf *Factory) MakeSecret(args *types.SecretArgs) (*Resource, error) {
u, err := rf.kf.MakeSecret(args)
if err != nil {
return nil, err
}
return &Resource{Kunstructured: u, b: fixBehavior(args.Behavior)}, nil
}
func fixBehavior(s string) ifc.GenerationBehavior {
b := ifc.NewGenerationBehavior(s)
if b == ifc.BehaviorUnspecified {
return ifc.BehaviorCreate
}
return b
}

View File

@@ -27,7 +27,6 @@ import (
"github.com/ghodss/yaml" "github.com/ghodss/yaml"
"github.com/golang/glog" "github.com/golang/glog"
"github.com/pkg/errors" "github.com/pkg/errors"
"sigs.k8s.io/kustomize/pkg/configmapandsecret"
"sigs.k8s.io/kustomize/pkg/constants" "sigs.k8s.io/kustomize/pkg/constants"
"sigs.k8s.io/kustomize/pkg/crds" "sigs.k8s.io/kustomize/pkg/crds"
"sigs.k8s.io/kustomize/pkg/fs" "sigs.k8s.io/kustomize/pkg/fs"
@@ -190,15 +189,12 @@ func (kt *KustTarget) loadCustomizedResMap() (resmap.ResMap, error) {
func (kt *KustTarget) generateConfigMapsAndSecrets( func (kt *KustTarget) generateConfigMapsAndSecrets(
errs *interror.KustomizationErrors) (resmap.ResMap, error) { errs *interror.KustomizationErrors) (resmap.ResMap, error) {
cms, err := kt.rf.NewResMapFromConfigMapArgs( kt.rf.Set(kt.fSys, kt.ldr)
configmapandsecret.NewConfigMapFactory(kt.fSys, kt.ldr), cms, err := kt.rf.NewResMapFromConfigMapArgs(kt.kustomization.ConfigMapGenerator)
kt.kustomization.ConfigMapGenerator)
if err != nil { if err != nil {
errs.Append(errors.Wrap(err, "NewResMapFromConfigMapArgs")) errs.Append(errors.Wrap(err, "NewResMapFromConfigMapArgs"))
} }
secrets, err := kt.rf.NewResMapFromSecretArgs( secrets, err := kt.rf.NewResMapFromSecretArgs(kt.kustomization.SecretGenerator)
configmapandsecret.NewSecretFactory(kt.fSys, kt.ldr.Root()),
kt.kustomization.SecretGenerator)
if err != nil { if err != nil {
errs.Append(errors.Wrap(err, "NewResMapFromSecretArgs")) errs.Append(errors.Wrap(err, "NewResMapFromSecretArgs"))
} }

View File

@@ -22,7 +22,6 @@ import (
"strings" "strings"
"testing" "testing"
corev1 "k8s.io/api/core/v1"
"sigs.k8s.io/kustomize/internal/k8sdeps" "sigs.k8s.io/kustomize/internal/k8sdeps"
"sigs.k8s.io/kustomize/internal/k8sdeps/patch" "sigs.k8s.io/kustomize/internal/k8sdeps/patch"
"sigs.k8s.io/kustomize/pkg/constants" "sigs.k8s.io/kustomize/pkg/constants"
@@ -186,7 +185,7 @@ func TestResources1(t *testing.T) {
"note": "This is a test annotation", "note": "This is a test annotation",
}, },
}, },
"type": string(corev1.SecretTypeOpaque), "type": ifc.SecretTypeOpaque,
"data": map[string]interface{}{ "data": map[string]interface{}{
"DB_USERNAME": base64.StdEncoding.EncodeToString([]byte("admin")), "DB_USERNAME": base64.StdEncoding.EncodeToString([]byte("admin")),
"DB_PASSWORD": base64.StdEncoding.EncodeToString([]byte("somepw")), "DB_PASSWORD": base64.StdEncoding.EncodeToString([]byte("somepw")),