Skip to content

Commit

Permalink
chore: fix transformer share configmap issues (#8582)
Browse files Browse the repository at this point in the history
  • Loading branch information
ericzzzzzzz authored Mar 26, 2023
1 parent e0fea66 commit f3f305a
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 3 deletions.
7 changes: 4 additions & 3 deletions pkg/skaffold/render/transform/transform.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ var (
allowListedTransformer = []string{"set-labels"}
transformerAllowlist = map[string]kptfile.Function{
"set-namespace": {
Image: "gcr.io/kpt-fn/set-namespace",
Image: "gcr.io/kpt-fn/set-namespace:v0.4.1",
ConfigMap: map[string]string{},
},
"set-labels": {
Expand Down Expand Up @@ -135,9 +135,9 @@ func (v *Transformer) Transform(ctx context.Context, ml manifest.ManifestList) (
cmd.Stdin = reader
cmd.Stdout = buffer

err := cmd.Run()
err := util.RunCmd(ctx, cmd)
if err != nil {
return ml, err
return ml, fmt.Errorf("failed to run transfomer: %s, err: %v", transformer.Image, err)
}
ml, err = manifest.Load(buffer)
if err != nil {
Expand Down Expand Up @@ -182,6 +182,7 @@ func validateTransformers(config []latest.Transformer) ([]kptfile.Function, erro
},
})
}
newFunc = kptfile.Function{Image: newFunc.Image, ConfigMap: map[string]string{}}
if c.ConfigMap != nil {
for _, stringifiedData := range c.ConfigMap {
index := strings.Index(stringifiedData, ":")
Expand Down
23 changes: 23 additions & 0 deletions pkg/skaffold/render/transform/transform_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,29 @@ func TestNewTransformer(t *testing.T) {
}
}

func TestNewTransformerDoesNotShareConfigMap(t *testing.T) {
tests := []struct {
description string
config []latest.Transformer
}{
{
description: "set-labels",
config: []latest.Transformer{
{Name: "set-labels", ConfigMap: []string{"owner2:skaffold-test"}},
{Name: "set-labels", ConfigMap: []string{"owner:skaffold-test"}},
},
},
}
for _, test := range tests {
testutil.Run(t, test.description, func(t *testutil.T) {
transformer, err := NewTransformer(test.config)
t.CheckNoError(err)
t.CheckDeepEqual(1, len(transformer.kptFn[0].ConfigMap))
t.CheckDeepEqual(1, len(transformer.kptFn[1].ConfigMap))
})
}
}

func TestNewValidator_Error(t *testing.T) {
testutil.Run(t, "", func(t *testutil.T) {
_, err := NewTransformer([]latest.Transformer{
Expand Down

0 comments on commit f3f305a

Please sign in to comment.