mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-13 10:00:56 +00:00
hide core/v1 behind interface
This commit is contained in:
@@ -20,7 +20,7 @@ import (
|
||||
"fmt"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"sigs.k8s.io/kustomize/pkg/configmapandsecret"
|
||||
"sigs.k8s.io/kustomize/pkg/fs"
|
||||
"sigs.k8s.io/kustomize/pkg/ifc"
|
||||
internal "sigs.k8s.io/kustomize/pkg/internal/error"
|
||||
"sigs.k8s.io/kustomize/pkg/resource"
|
||||
@@ -80,19 +80,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(
|
||||
cf *configmapandsecret.ConfigMapFactory,
|
||||
argList []types.ConfigMapArgs) (ResMap, error) {
|
||||
func (rmF *Factory) NewResMapFromConfigMapArgs(argList []types.ConfigMapArgs) (ResMap, error) {
|
||||
var resources []*resource.Resource
|
||||
for _, args := range argList {
|
||||
obj, err := cf.MakeConfigMap(&args)
|
||||
res, err := rmF.resF.MakeConfigMap(&args)
|
||||
if err != nil {
|
||||
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)
|
||||
}
|
||||
return newResMapFromResourceSlice(resources)
|
||||
@@ -100,30 +94,21 @@ func (rmF *Factory) NewResMapFromConfigMapArgs(
|
||||
|
||||
// NewResMapFromSecretArgs takes a SecretArgs slice, generates
|
||||
// secrets from each entry, and accumulates them in a ResMap.
|
||||
func (rmF *Factory) NewResMapFromSecretArgs(
|
||||
sf *configmapandsecret.SecretFactory,
|
||||
argsList []types.SecretArgs) (ResMap, error) {
|
||||
func (rmF *Factory) NewResMapFromSecretArgs(argsList []types.SecretArgs) (ResMap, error) {
|
||||
var resources []*resource.Resource
|
||||
for _, args := range argsList {
|
||||
obj, err := sf.MakeSecret(&args)
|
||||
res, err := rmF.resF.MakeSecret(&args)
|
||||
if err != nil {
|
||||
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)
|
||||
}
|
||||
return newResMapFromResourceSlice(resources)
|
||||
}
|
||||
|
||||
func fixBehavior(s string) ifc.GenerationBehavior {
|
||||
b := ifc.NewGenerationBehavior(s)
|
||||
if b == ifc.BehaviorUnspecified {
|
||||
return ifc.BehaviorCreate
|
||||
}
|
||||
return b
|
||||
// Set sets the filesystem and loader for the underlying factory
|
||||
func (rmF *Factory) Set(fs fs.FileSystem, ldr ifc.Loader) {
|
||||
rmF.resF.Set(fs, ldr)
|
||||
}
|
||||
|
||||
func newResMapFromResourceSlice(resources []*resource.Resource) (ResMap, error) {
|
||||
|
||||
@@ -22,12 +22,11 @@ import (
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"k8s.io/api/core/v1"
|
||||
"sigs.k8s.io/kustomize/pkg/configmapandsecret"
|
||||
"sigs.k8s.io/kustomize/pkg/fs"
|
||||
"sigs.k8s.io/kustomize/pkg/gvk"
|
||||
"sigs.k8s.io/kustomize/pkg/ifc"
|
||||
"sigs.k8s.io/kustomize/pkg/internal/loadertest"
|
||||
"sigs.k8s.io/kustomize/pkg/loader"
|
||||
"sigs.k8s.io/kustomize/pkg/resid"
|
||||
"sigs.k8s.io/kustomize/pkg/types"
|
||||
)
|
||||
@@ -133,7 +132,6 @@ func TestNewFromConfigMaps(t *testing.T) {
|
||||
}
|
||||
|
||||
l := loadertest.NewFakeLoader("/home/seans/project/")
|
||||
cf := configmapandsecret.NewConfigMapFactory(fs.MakeFakeFS(), l)
|
||||
testCases := []testCase{
|
||||
{
|
||||
description: "construct config map from env",
|
||||
@@ -219,12 +217,12 @@ BAR=baz
|
||||
// TODO: add testcase for data coming from multiple sources like
|
||||
// files/literal/env etc.
|
||||
}
|
||||
|
||||
rmF.Set(fs.MakeFakeFS(), 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(cf, tc.input)
|
||||
r, err := rmF.NewResMapFromConfigMapArgs(tc.input)
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
@@ -246,20 +244,20 @@ func TestNewResMapFromSecretArgs(t *testing.T) {
|
||||
"DB_PASSWORD": "printf somepw",
|
||||
},
|
||||
},
|
||||
Type: "Opaque",
|
||||
Type: ifc.SecretTypeOpaque,
|
||||
},
|
||||
{
|
||||
Name: "peanuts",
|
||||
CommandSources: types.CommandSources{
|
||||
EnvCommand: "printf \"DB_USERNAME=admin\nDB_PASSWORD=somepw\"",
|
||||
},
|
||||
Type: "Opaque",
|
||||
Type: ifc.SecretTypeOpaque,
|
||||
},
|
||||
}
|
||||
fakeFs := fs.MakeFakeFS()
|
||||
fakeFs.Mkdir(".")
|
||||
actual, err := rmF.NewResMapFromSecretArgs(
|
||||
configmapandsecret.NewSecretFactory(fakeFs, "."), secrets)
|
||||
rmF.Set(fakeFs, loader.NewFileLoader(fakeFs))
|
||||
actual, err := rmF.NewResMapFromSecretArgs(secrets)
|
||||
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
@@ -273,7 +271,7 @@ func TestNewResMapFromSecretArgs(t *testing.T) {
|
||||
"metadata": map[string]interface{}{
|
||||
"name": "apple",
|
||||
},
|
||||
"type": string(v1.SecretTypeOpaque),
|
||||
"type": ifc.SecretTypeOpaque,
|
||||
"data": map[string]interface{}{
|
||||
"DB_USERNAME": base64.StdEncoding.EncodeToString([]byte("admin")),
|
||||
"DB_PASSWORD": base64.StdEncoding.EncodeToString([]byte("somepw")),
|
||||
@@ -286,7 +284,7 @@ func TestNewResMapFromSecretArgs(t *testing.T) {
|
||||
"metadata": map[string]interface{}{
|
||||
"name": "peanuts",
|
||||
},
|
||||
"type": string(v1.SecretTypeOpaque),
|
||||
"type": ifc.SecretTypeOpaque,
|
||||
"data": map[string]interface{}{
|
||||
"DB_USERNAME": base64.StdEncoding.EncodeToString([]byte("admin")),
|
||||
"DB_PASSWORD": base64.StdEncoding.EncodeToString([]byte("somepw")),
|
||||
@@ -309,13 +307,13 @@ func TestSecretTimeout(t *testing.T) {
|
||||
"USER": "sleep 2",
|
||||
},
|
||||
},
|
||||
Type: "Opaque",
|
||||
Type: ifc.SecretTypeOpaque,
|
||||
},
|
||||
}
|
||||
fakeFs := fs.MakeFakeFS()
|
||||
fakeFs.Mkdir(".")
|
||||
_, err := rmF.NewResMapFromSecretArgs(
|
||||
configmapandsecret.NewSecretFactory(fakeFs, "."), secrets)
|
||||
rmF.Set(fakeFs, loader.NewFileLoader(fakeFs))
|
||||
_, err := rmF.NewResMapFromSecretArgs(secrets)
|
||||
|
||||
if err == nil {
|
||||
t.Fatal("didn't get the expected timeout error", err)
|
||||
|
||||
Reference in New Issue
Block a user