From aaf7a4019faea1acef63edff67df139ecb14920a Mon Sep 17 00:00:00 2001 From: Phani Teja Marupaka Date: Fri, 30 Apr 2021 17:02:27 -0700 Subject: [PATCH] SeparateApiLayerApplySetters --- .../go/apply-setters/{ => api}/apply_setters.go | 10 +++++++++- .../apply-setters/{ => api}/apply_setters_test.go | 4 ++-- functions/go/apply-setters/{ => api}/walk.go | 2 +- functions/go/apply-setters/main.go | 15 ++++----------- 4 files changed, 16 insertions(+), 15 deletions(-) rename functions/go/apply-setters/{ => api}/apply_setters.go (97%) rename functions/go/apply-setters/{ => api}/apply_setters_test.go (99%) rename functions/go/apply-setters/{ => api}/walk.go (99%) diff --git a/functions/go/apply-setters/apply_setters.go b/functions/go/apply-setters/api/apply_setters.go similarity index 97% rename from functions/go/apply-setters/apply_setters.go rename to functions/go/apply-setters/api/apply_setters.go index 188628895..867b53735 100644 --- a/functions/go/apply-setters/apply_setters.go +++ b/functions/go/apply-setters/api/apply_setters.go @@ -1,4 +1,4 @@ -package main +package api import ( "fmt" @@ -275,3 +275,11 @@ func clean(input string) string { input = strings.TrimSpace(input) return strings.TrimSuffix(strings.TrimPrefix(input, "${"), "}") } + +// Decode decodes the input yaml node into Set struct +func Decode(rn *yaml.RNode, fcd *ApplySetters) error { + for k, v := range rn.GetDataMap() { + fcd.Setters = append(fcd.Setters, Setter{Name: k, Value: v}) + } + return nil +} diff --git a/functions/go/apply-setters/apply_setters_test.go b/functions/go/apply-setters/api/apply_setters_test.go similarity index 99% rename from functions/go/apply-setters/apply_setters_test.go rename to functions/go/apply-setters/api/apply_setters_test.go index 5b3d52ae5..ddeda66fe 100644 --- a/functions/go/apply-setters/apply_setters_test.go +++ b/functions/go/apply-setters/api/apply_setters_test.go @@ -1,4 +1,4 @@ -package main +package api import ( "io/ioutil" @@ -310,7 +310,7 @@ spec: if !assert.NoError(t, err) { t.FailNow() } - err = decode(node, s) + err = Decode(node, s) if !assert.NoError(t, err) { t.FailNow() } diff --git a/functions/go/apply-setters/walk.go b/functions/go/apply-setters/api/walk.go similarity index 99% rename from functions/go/apply-setters/walk.go rename to functions/go/apply-setters/api/walk.go index fcc6db621..85503944b 100644 --- a/functions/go/apply-setters/walk.go +++ b/functions/go/apply-setters/api/walk.go @@ -1,4 +1,4 @@ -package main +package api import ( "sigs.k8s.io/kustomize/kyaml/yaml" diff --git a/functions/go/apply-setters/main.go b/functions/go/apply-setters/main.go index 87f5ae94c..a6d7a6e1a 100644 --- a/functions/go/apply-setters/main.go +++ b/functions/go/apply-setters/main.go @@ -4,6 +4,7 @@ import ( "fmt" "os" + "github.com/GoogleContainerTools/kpt-functions-catalog/functions/go/apply-setters/api" "github.com/GoogleContainerTools/kpt-functions-catalog/functions/go/apply-setters/generated" "sigs.k8s.io/kustomize/kyaml/fn/framework" kyaml "sigs.k8s.io/kustomize/kyaml/yaml" @@ -37,8 +38,8 @@ func main() { } // getSetters retrieve the setters from input config -func getSetters(fc interface{}) (ApplySetters, error) { - var fcd ApplySetters +func getSetters(fc interface{}) (api.ApplySetters, error) { + var fcd api.ApplySetters f, ok := fc.(map[string]interface{}) if !ok { return fcd, fmt.Errorf("function config %#v is not valid", fc) @@ -48,13 +49,5 @@ func getSetters(fc interface{}) (ApplySetters, error) { return fcd, fmt.Errorf("failed to parse input from function config: %w", err) } - return fcd, decode(rn, &fcd) -} - -// decode decodes the input yaml node into Set struct -func decode(rn *kyaml.RNode, fcd *ApplySetters) error { - for k, v := range rn.GetDataMap() { - fcd.Setters = append(fcd.Setters, Setter{Name: k, Value: v}) - } - return nil + return fcd, api.Decode(rn, &fcd) }