Skip to content

Commit

Permalink
api/resmap/factory.go: receive orderKeys in Factory's method
Browse files Browse the repository at this point in the history
  • Loading branch information
charles-chenzz committed Sep 2, 2023
1 parent e6a02a1 commit 6b22bd7
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 16 deletions.
34 changes: 20 additions & 14 deletions api/resmap/factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ func (rmF *Factory) NewResMapFromConfigMapArgs(
kvLdr ifc.KvLoader, argList []types.ConfigMapArgs) (ResMap, error) {
var resources []*resource.Resource
for i := range argList {
res, err := rmF.resF.MakeConfigMap(kvLdr, &argList[i])
res, _, err := rmF.resF.MakeConfigMap(kvLdr, &argList[i])
if err != nil {
return nil, errors.WrapPrefixf(err, "NewResMapFromConfigMapArgs")
}
Expand All @@ -90,37 +90,43 @@ func (rmF *Factory) NewResMapFromConfigMapArgs(

// FromConfigMapArgs creates a new ResMap containing one ConfigMap.
func (rmF *Factory) FromConfigMapArgs(
kvLdr ifc.KvLoader, args types.ConfigMapArgs) (ResMap, error) {
res, err := rmF.resF.MakeConfigMap(kvLdr, &args)
kvLdr ifc.KvLoader, args types.ConfigMapArgs) (ResMap, []string, error) {
res, orderKeys, err := rmF.resF.MakeConfigMap(kvLdr, &args)
if err != nil {
return nil, err
return nil, nil, err
}
return rmF.FromResource(res), nil
return rmF.FromResource(res), orderKeys, nil
}

// NewResMapFromSecretArgs takes a SecretArgs slice, generates
// secrets from each entry, and accumulates them in a ResMap.
func (rmF *Factory) NewResMapFromSecretArgs(
kvLdr ifc.KvLoader, argsList []types.SecretArgs) (ResMap, error) {
var resources []*resource.Resource
kvLdr ifc.KvLoader, argsList []types.SecretArgs) (ResMap, []string, error) {
var (
resources []*resource.Resource
orderKeys []string
)
for i := range argsList {
res, err := rmF.resF.MakeSecret(kvLdr, &argsList[i])
res, keys, err := rmF.resF.MakeSecret(kvLdr, &argsList[i])
if err != nil {
return nil, errors.WrapPrefixf(err, "NewResMapFromSecretArgs")
return nil, nil, errors.WrapPrefixf(err, "NewResMapFromSecretArgs")
}
resources = append(resources, res)
orderKeys = append(orderKeys, keys...)
}
return newResMapFromResourceSlice(resources)

resMap, err := newResMapFromResourceSlice(resources)
return resMap, orderKeys, err
}

// FromSecretArgs creates a new ResMap containing one secret.
func (rmF *Factory) FromSecretArgs(
kvLdr ifc.KvLoader, args types.SecretArgs) (ResMap, error) {
res, err := rmF.resF.MakeSecret(kvLdr, &args)
kvLdr ifc.KvLoader, args types.SecretArgs) (ResMap, []string, error) {
res, orderKeys, err := rmF.resF.MakeSecret(kvLdr, &args)
if err != nil {
return nil, err
return nil, nil, err
}
return rmF.FromResource(res), nil
return rmF.FromResource(res), orderKeys, nil
}

func newResMapFromResourceSlice(
Expand Down
2 changes: 1 addition & 1 deletion api/resmap/factory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ func TestNewResMapFromSecretArgs(t *testing.T) {
fSys := filesys.MakeFsInMemory()
fSys.Mkdir(filesys.SelfDir)

actual, err := rmF.NewResMapFromSecretArgs(
actual, _, err := rmF.NewResMapFromSecretArgs(
kv.NewLoader(
loader.NewFileLoaderAtRoot(fSys),
valtest_test.MakeFakeValidator()), secrets)
Expand Down
2 changes: 1 addition & 1 deletion api/resmap/resmap.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ type TransformerWithProperties struct {

// A Generator creates an instance of ResMap.
type Generator interface {
Generate() (ResMap, error)
Generate() (ResMap, []string, error)
}

// A GeneratorWithProperties contains a Generator and stores
Expand Down

0 comments on commit 6b22bd7

Please sign in to comment.