mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-30 09:51:23 +00:00
Secret/configmap factory cleanup.
This commit is contained in:
@@ -67,8 +67,8 @@ func newCmdAddConfigMap(fSys fs.FileSystem, kf ifc.KunstructuredFactory) *cobra.
|
||||
}
|
||||
|
||||
// Add the flagsAndArgs map to the kustomization file.
|
||||
kf.Set(loader.NewFileLoaderAtCwd(fSys))
|
||||
err = addConfigMap(kustomization, flags, kf)
|
||||
err = addConfigMap(
|
||||
loader.NewFileLoaderAtCwd(fSys), kustomization, flags, kf)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -103,6 +103,7 @@ func newCmdAddConfigMap(fSys fs.FileSystem, kf ifc.KunstructuredFactory) *cobra.
|
||||
// Note: error may leave kustomization file in an undefined state.
|
||||
// Suggest passing a copy of kustomization file.
|
||||
func addConfigMap(
|
||||
ldr ifc.Loader,
|
||||
k *types.Kustomization,
|
||||
flags flagsAndArgs, kf ifc.KunstructuredFactory) error {
|
||||
cmArgs := makeConfigMapArgs(k, flags.Name)
|
||||
@@ -111,7 +112,7 @@ func addConfigMap(
|
||||
return err
|
||||
}
|
||||
// Validate by trying to create corev1.configmap.
|
||||
_, err = kf.MakeConfigMap(cmArgs, k.GeneratorOptions)
|
||||
_, err = kf.MakeConfigMap(ldr, k.GeneratorOptions, cmArgs)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -67,8 +67,8 @@ func newCmdAddSecret(fSys fs.FileSystem, kf ifc.KunstructuredFactory) *cobra.Com
|
||||
}
|
||||
|
||||
// Add the flagsAndArgs map to the kustomization file.
|
||||
kf.Set(loader.NewFileLoaderAtCwd(fSys))
|
||||
err = addSecret(kustomization, flags, kf)
|
||||
err = addSecret(
|
||||
loader.NewFileLoaderAtCwd(fSys), kustomization, flags, kf)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -108,6 +108,7 @@ func newCmdAddSecret(fSys fs.FileSystem, kf ifc.KunstructuredFactory) *cobra.Com
|
||||
// Note: error may leave kustomization file in an undefined state.
|
||||
// Suggest passing a copy of kustomization file.
|
||||
func addSecret(
|
||||
ldr ifc.Loader,
|
||||
k *types.Kustomization,
|
||||
flags flagsAndArgs, kf ifc.KunstructuredFactory) error {
|
||||
secretArgs := makeSecretArgs(k, flags.Name, flags.Type)
|
||||
@@ -116,7 +117,7 @@ func addSecret(
|
||||
return err
|
||||
}
|
||||
// Validate by trying to create corev1.secret.
|
||||
_, err = kf.MakeSecret(secretArgs, k.GeneratorOptions)
|
||||
_, err = kf.MakeSecret(ldr, k.GeneratorOptions, secretArgs)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -64,9 +64,14 @@ type Kunstructured interface {
|
||||
type KunstructuredFactory interface {
|
||||
SliceFromBytes([]byte) ([]Kunstructured, error)
|
||||
FromMap(m map[string]interface{}) Kunstructured
|
||||
MakeConfigMap(args *types.ConfigMapArgs, options *types.GeneratorOptions) (Kunstructured, error)
|
||||
MakeSecret(args *types.SecretArgs, options *types.GeneratorOptions) (Kunstructured, error)
|
||||
Set(ldr Loader)
|
||||
MakeConfigMap(
|
||||
ldr Loader,
|
||||
options *types.GeneratorOptions,
|
||||
args *types.ConfigMapArgs) (Kunstructured, error)
|
||||
MakeSecret(
|
||||
ldr Loader,
|
||||
options *types.GeneratorOptions,
|
||||
args *types.SecretArgs) (Kunstructured, error)
|
||||
}
|
||||
|
||||
// See core.v1.SecretTypeOpaque
|
||||
|
||||
@@ -79,10 +79,13 @@ func (rmF *Factory) NewResMapFromBytes(b []byte) (ResMap, error) {
|
||||
|
||||
// NewResMapFromConfigMapArgs returns a Resource slice given
|
||||
// a configmap metadata slice from kustomization file.
|
||||
func (rmF *Factory) NewResMapFromConfigMapArgs(argList []types.ConfigMapArgs, options *types.GeneratorOptions) (ResMap, error) {
|
||||
func (rmF *Factory) NewResMapFromConfigMapArgs(
|
||||
ldr ifc.Loader,
|
||||
options *types.GeneratorOptions,
|
||||
argList []types.ConfigMapArgs) (ResMap, error) {
|
||||
var resources []*resource.Resource
|
||||
for _, args := range argList {
|
||||
res, err := rmF.resF.MakeConfigMap(&args, options)
|
||||
res, err := rmF.resF.MakeConfigMap(ldr, options, &args)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "NewResMapFromConfigMapArgs")
|
||||
}
|
||||
@@ -93,10 +96,13 @@ func (rmF *Factory) NewResMapFromConfigMapArgs(argList []types.ConfigMapArgs, op
|
||||
|
||||
// NewResMapFromSecretArgs takes a SecretArgs slice, generates
|
||||
// secrets from each entry, and accumulates them in a ResMap.
|
||||
func (rmF *Factory) NewResMapFromSecretArgs(argsList []types.SecretArgs, options *types.GeneratorOptions) (ResMap, error) {
|
||||
func (rmF *Factory) NewResMapFromSecretArgs(
|
||||
ldr ifc.Loader,
|
||||
options *types.GeneratorOptions,
|
||||
argsList []types.SecretArgs) (ResMap, error) {
|
||||
var resources []*resource.Resource
|
||||
for _, args := range argsList {
|
||||
res, err := rmF.resF.MakeSecret(&args, options)
|
||||
res, err := rmF.resF.MakeSecret(ldr, options, &args)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "NewResMapFromSecretArgs")
|
||||
}
|
||||
@@ -105,11 +111,6 @@ func (rmF *Factory) NewResMapFromSecretArgs(argsList []types.SecretArgs, options
|
||||
return newResMapFromResourceSlice(resources)
|
||||
}
|
||||
|
||||
// Set sets the loader for the underlying factory
|
||||
func (rmF *Factory) Set(ldr ifc.Loader) {
|
||||
rmF.resF.Set(ldr)
|
||||
}
|
||||
|
||||
func newResMapFromResourceSlice(resources []*resource.Resource) (ResMap, error) {
|
||||
result := ResMap{}
|
||||
for _, res := range resources {
|
||||
|
||||
@@ -238,12 +238,11 @@ BAR=baz
|
||||
// TODO: add testcase for data coming from multiple sources like
|
||||
// files/literal/env etc.
|
||||
}
|
||||
rmF.Set(l)
|
||||
for _, tc := range testCases {
|
||||
if ferr := l.AddFile(tc.filepath, []byte(tc.content)); ferr != nil {
|
||||
t.Fatalf("Error adding fake file: %v\n", ferr)
|
||||
}
|
||||
r, err := rmF.NewResMapFromConfigMapArgs(tc.input, nil)
|
||||
r, err := rmF.NewResMapFromConfigMapArgs(l, nil, tc.input)
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
@@ -272,9 +271,8 @@ func TestNewResMapFromSecretArgs(t *testing.T) {
|
||||
}
|
||||
fakeFs := fs.MakeFakeFS()
|
||||
fakeFs.Mkdir(".")
|
||||
rmF.Set(loader.NewFileLoaderAtRoot(fakeFs))
|
||||
actual, err := rmF.NewResMapFromSecretArgs(secrets, nil)
|
||||
|
||||
actual, err := rmF.NewResMapFromSecretArgs(
|
||||
loader.NewFileLoaderAtRoot(fakeFs), nil, secrets)
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
|
||||
@@ -124,25 +124,36 @@ func (rf *Factory) SliceFromBytes(in []byte) ([]*Resource, error) {
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// Set sets the loader for the underlying factory
|
||||
func (rf *Factory) Set(ldr ifc.Loader) {
|
||||
rf.kf.Set(ldr)
|
||||
}
|
||||
|
||||
// MakeConfigMap makes an instance of Resource for ConfigMap
|
||||
func (rf *Factory) MakeConfigMap(args *types.ConfigMapArgs, options *types.GeneratorOptions) (*Resource, error) {
|
||||
u, err := rf.kf.MakeConfigMap(args, options)
|
||||
func (rf *Factory) MakeConfigMap(
|
||||
ldr ifc.Loader,
|
||||
options *types.GeneratorOptions,
|
||||
args *types.ConfigMapArgs) (*Resource, error) {
|
||||
u, err := rf.kf.MakeConfigMap(ldr, options, args)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &Resource{Kunstructured: u, options: types.NewGenArgs(&types.GeneratorArgs{Behavior: args.Behavior}, options)}, nil
|
||||
return &Resource{
|
||||
Kunstructured: u,
|
||||
options: types.NewGenArgs(
|
||||
&types.GeneratorArgs{Behavior: args.Behavior},
|
||||
options),
|
||||
}, nil
|
||||
}
|
||||
|
||||
// MakeSecret makes an instance of Resource for Secret
|
||||
func (rf *Factory) MakeSecret(args *types.SecretArgs, options *types.GeneratorOptions) (*Resource, error) {
|
||||
u, err := rf.kf.MakeSecret(args, options)
|
||||
func (rf *Factory) MakeSecret(
|
||||
ldr ifc.Loader,
|
||||
options *types.GeneratorOptions,
|
||||
args *types.SecretArgs) (*Resource, error) {
|
||||
u, err := rf.kf.MakeSecret(ldr, options, args)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &Resource{Kunstructured: u, options: types.NewGenArgs(&types.GeneratorArgs{Behavior: args.Behavior}, options)}, nil
|
||||
return &Resource{
|
||||
Kunstructured: u,
|
||||
options: types.NewGenArgs(
|
||||
&types.GeneratorArgs{Behavior: args.Behavior},
|
||||
options),
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -62,7 +62,9 @@ func NewKustTarget(
|
||||
}
|
||||
errs := k.EnforceFields()
|
||||
if len(errs) > 0 {
|
||||
return nil, fmt.Errorf("Failed to read kustomization file under %s:\n"+strings.Join(errs, "\n"), ldr.Root())
|
||||
return nil, fmt.Errorf(
|
||||
"Failed to read kustomization file under %s:\n"+
|
||||
strings.Join(errs, "\n"), ldr.Root())
|
||||
}
|
||||
return &KustTarget{
|
||||
kustomization: &k,
|
||||
@@ -102,7 +104,8 @@ func loadKustFile(ldr ifc.Loader) ([]byte, error) {
|
||||
case 1:
|
||||
return content, nil
|
||||
default:
|
||||
return nil, fmt.Errorf("Found multiple kustomization files under: %s\n", ldr.Root())
|
||||
return nil, fmt.Errorf(
|
||||
"Found multiple kustomization files under: %s\n", ldr.Root())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -215,14 +218,17 @@ func (kt *KustTarget) AccumulateTarget() (
|
||||
|
||||
func (kt *KustTarget) generateConfigMapsAndSecrets(
|
||||
errs *interror.KustomizationErrors) (resmap.ResMap, error) {
|
||||
kt.rFactory.Set(kt.ldr)
|
||||
cms, err := kt.rFactory.NewResMapFromConfigMapArgs(
|
||||
kt.kustomization.ConfigMapGenerator, kt.kustomization.GeneratorOptions)
|
||||
kt.ldr,
|
||||
kt.kustomization.GeneratorOptions,
|
||||
kt.kustomization.ConfigMapGenerator)
|
||||
if err != nil {
|
||||
errs.Append(errors.Wrap(err, "NewResMapFromConfigMapArgs"))
|
||||
}
|
||||
secrets, err := kt.rFactory.NewResMapFromSecretArgs(
|
||||
kt.kustomization.SecretGenerator, kt.kustomization.GeneratorOptions)
|
||||
kt.ldr,
|
||||
kt.kustomization.GeneratorOptions,
|
||||
kt.kustomization.SecretGenerator)
|
||||
if err != nil {
|
||||
errs.Append(errors.Wrap(err, "NewResMapFromSecretArgs"))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user