diff --git a/api/builtins/AnnotationsTransformer.go b/api/builtins/AnnotationsTransformer.go index 823b12d62..3db04125c 100644 --- a/api/builtins/AnnotationsTransformer.go +++ b/api/builtins/AnnotationsTransformer.go @@ -6,7 +6,6 @@ package builtins import ( "sigs.k8s.io/kustomize/api/filters/annotations" "sigs.k8s.io/kustomize/api/resmap" - "sigs.k8s.io/kustomize/api/transform" "sigs.k8s.io/kustomize/api/types" "sigs.k8s.io/kustomize/kyaml/filtersutil" "sigs.k8s.io/yaml" @@ -16,10 +15,6 @@ import ( type AnnotationsTransformerPlugin struct { Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` FieldSpecs []types.FieldSpec `json:"fieldSpecs,omitempty" yaml:"fieldSpecs,omitempty"` - - // YAMLSupport can be set to true to use the kyaml filter instead of the - // kunstruct transformer - YAMLSupport bool `json:"yamlSupport,omitempty" yaml:"yamlSupport,omitempty"` } func (p *AnnotationsTransformerPlugin) Config( @@ -30,27 +25,16 @@ func (p *AnnotationsTransformerPlugin) Config( } func (p *AnnotationsTransformerPlugin) Transform(m resmap.ResMap) error { - if p.YAMLSupport { - for _, r := range m.Resources() { - err := filtersutil.ApplyToJSON(annotations.Filter{ - Annotations: p.Annotations, - FsSlice: p.FieldSpecs, - }, r.Kunstructured) - if err != nil { - return err - } - } - return nil - } else { - t, err := transform.NewMapTransformer( - p.FieldSpecs, - p.Annotations, - ) + for _, r := range m.Resources() { + err := filtersutil.ApplyToJSON(annotations.Filter{ + Annotations: p.Annotations, + FsSlice: p.FieldSpecs, + }, r.Kunstructured) if err != nil { return err } - return t.Transform(m) } + return nil } func NewAnnotationsTransformerPlugin() resmap.TransformerPlugin { diff --git a/api/go.sum b/api/go.sum index fef49cded..797cde2d4 100644 --- a/api/go.sum +++ b/api/go.sum @@ -297,6 +297,7 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/securego/gosec v0.0.0-20191002120514-e680875ea14d h1:BzRvVq1EHuIjxpijCEKpAxzKUUMurOQ4sknehIATRh8= github.com/securego/gosec v0.0.0-20191002120514-e680875ea14d/go.mod h1:w5+eXa0mYznDkHaMCXA4XYffjlH+cy1oyKbfzJXa2Do= +github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada/go.mod h1:WWnYX4lzhCH5h/3YBfyVA3VbLYjlMZZAQcW9ojMexNc= github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc= @@ -422,6 +423,7 @@ golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190922100055-0a153f010e69 h1:rOhMmluY6kLMhdnrivzec6lLgaVbMHMn2ISQXJeJ5EM= golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191002063906-3421d5a6bb1c h1:Vco5b+cuG5NNfORVxZy6bYZQ7rsigisU1WQFkvQ0L5E= golang.org/x/sys v0.0.0-20191002063906-3421d5a6bb1c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -506,13 +508,6 @@ mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphD mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= mvdan.cc/unparam v0.0.0-20190720180237-d51796306d8f h1:Cq7MalBHYACRd6EesksG1Q8EoIAKOsiZviGKbOLIej4= mvdan.cc/unparam v0.0.0-20190720180237-d51796306d8f/go.mod h1:4G1h5nDURzA3bwVMZIVpwbkw+04kSxk3rAtzlimaUJw= -sigs.k8s.io/kustomize v1.0.11 h1:Yb+6DDt9+aR2AvQApvUaKS/ugteeG4MPyoFeUHiPOjk= -sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0= -sigs.k8s.io/kustomize/kyaml v0.1.1 h1:nGUNYINljZNmlAS8uoobUv/wx/s3Pg8dNxYo+W7uYh0= -sigs.k8s.io/kustomize/kyaml v0.1.1/go.mod h1:/NdPPfrperSCGjm55cwEro1loBVtbtVIXSb7FguK6uk= -sigs.k8s.io/kustomize/kyaml v0.1.2 h1:l12+QGl+ETUHhP8/bZAi6TknU7H194fXL/9b2gUxZFY= -sigs.k8s.io/kustomize/kyaml v0.1.3 h1:zbeHVTMCQPtWgjIH/YYJZC45mm7coTdw2TblyJ79BrY= -sigs.k8s.io/kustomize/kyaml v0.1.3/go.mod h1:461i94nj0h0ylJ6w83jLkR4SqqVhn1iY6fjD0JSTQeE= sigs.k8s.io/kustomize/kyaml v0.1.5 h1:NicBWYTwkuOfVyZDbNkfSBSCwSgin4uirkedtyZltIc= sigs.k8s.io/kustomize/kyaml v0.1.5/go.mod h1:461i94nj0h0ylJ6w83jLkR4SqqVhn1iY6fjD0JSTQeE= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= diff --git a/api/transform/maptransformer.go b/api/transform/maptransformer.go deleted file mode 100644 index 125e83ce8..000000000 --- a/api/transform/maptransformer.go +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 The Kubernetes Authors. -// SPDX-License-Identifier: Apache-2.0 - -package transform - -import ( - "errors" - "fmt" - - "sigs.k8s.io/kustomize/api/resmap" - "sigs.k8s.io/kustomize/api/types" -) - -// mapTransformer applies a string->string map to fieldSpecs. -type mapTransformer struct { - m map[string]string - fieldSpecs []types.FieldSpec -} - -var _ resmap.Transformer = &mapTransformer{} - -// NewMapTransformer construct a mapTransformer. -func NewMapTransformer( - pc []types.FieldSpec, m map[string]string) (resmap.Transformer, error) { - if m == nil { - return newNoOpTransformer(), nil - } - if pc == nil { - return nil, errors.New("fieldSpecs is not expected to be nil") - } - return &mapTransformer{fieldSpecs: pc, m: m}, nil -} - -// Transform apply each pair in the mapTransformer to the -// fields specified in mapTransformer. -func (o *mapTransformer) Transform(m resmap.ResMap) error { - for _, r := range m.Resources() { - for _, path := range o.fieldSpecs { - if !r.OrgId().IsSelected(&path.Gvk) { - continue - } - err := MutateField( - r.Map(), path.PathSlice(), - path.CreateIfNotPresent, o.addMap) - if err != nil { - return err - } - } - } - return nil -} - -func (o *mapTransformer) addMap(in interface{}) (interface{}, error) { - m, ok := in.(map[string]interface{}) - if in == nil { - m = map[string]interface{}{} - } else if !ok { - return nil, fmt.Errorf("%#v is expected to be %T", in, m) - } - for k, v := range o.m { - m[k] = v - } - return m, nil -} diff --git a/api/transform/maptransformer_test.go b/api/transform/maptransformer_test.go deleted file mode 100644 index 631150b04..000000000 --- a/api/transform/maptransformer_test.go +++ /dev/null @@ -1,570 +0,0 @@ -// Copyright 2019 The Kubernetes Authors. -// SPDX-License-Identifier: Apache-2.0 - -package transform_test - -import ( - "testing" - - "sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig" - "sigs.k8s.io/kustomize/api/k8sdeps/kunstruct" - "sigs.k8s.io/kustomize/api/resource" - resmaptest_test "sigs.k8s.io/kustomize/api/testutils/resmaptest" - . "sigs.k8s.io/kustomize/api/transform" -) - -var resourceFactory = resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl()) - -func TestLabelsRun(t *testing.T) { - m := resmaptest_test.NewRmBuilder(t, resourceFactory). - Add(map[string]interface{}{ - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": map[string]interface{}{ - "name": "cm1", - }, - }). - Add(map[string]interface{}{ - "group": "apps", - "apiVersion": "v1", - "kind": "Deployment", - "metadata": map[string]interface{}{ - "name": "deploy1", - }, - "spec": map[string]interface{}{ - "template": map[string]interface{}{ - "metadata": map[string]interface{}{ - "labels": map[string]interface{}{ - "old-label": "old-value", - }, - }, - "spec": map[string]interface{}{ - "containers": []interface{}{ - map[string]interface{}{ - "name": "nginx", - "image": "nginx:1.7.9", - }, - }, - }, - }, - }, - }). - Add(map[string]interface{}{ - "apiVersion": "v1", - "kind": "Service", - "metadata": map[string]interface{}{ - "name": "svc1", - }, - "spec": map[string]interface{}{ - "ports": []interface{}{ - map[string]interface{}{ - "name": "port1", - "port": "12345", - }, - }, - }, - }). - Add(map[string]interface{}{ - "apiVersion": "batch/v1", - "kind": "Job", - "metadata": map[string]interface{}{ - "name": "job1", - }, - "spec": map[string]interface{}{ - "template": map[string]interface{}{ - "spec": map[string]interface{}{ - "containers": []interface{}{ - map[string]interface{}{ - "name": "nginx", - "image": "nginx:1.7.9", - }, - }, - }, - }, - }, - }). - Add(map[string]interface{}{ - "apiVersion": "batch/v1", - "kind": "Job", - "metadata": map[string]interface{}{ - "name": "job2", - }, - "spec": map[string]interface{}{ - "selector": map[string]interface{}{ - "matchLabels": map[string]interface{}{ - "old-label": "old-value", - }, - }, - "template": map[string]interface{}{ - "spec": map[string]interface{}{ - "containers": []interface{}{ - map[string]interface{}{ - "name": "nginx", - "image": "nginx:1.7.9", - }, - }, - }, - }, - }, - }). - Add(map[string]interface{}{ - "apiVersion": "batch/v1beta1", - "kind": "CronJob", - "metadata": map[string]interface{}{ - "name": "cronjob1", - }, - "spec": map[string]interface{}{ - "schedule": "* 23 * * *", - "jobTemplate": map[string]interface{}{ - "spec": map[string]interface{}{ - "template": map[string]interface{}{ - "spec": map[string]interface{}{ - "containers": []interface{}{ - map[string]interface{}{ - "name": "nginx", - "image": "nginx:1.7.9", - }, - }, - }, - }, - }, - }, - }, - }). - Add(map[string]interface{}{ - "apiVersion": "batch/v1beta1", - "kind": "CronJob", - "metadata": map[string]interface{}{ - "name": "cronjob2", - }, - "spec": map[string]interface{}{ - "schedule": "* 23 * * *", - "jobTemplate": map[string]interface{}{ - "spec": map[string]interface{}{ - "selector": map[string]interface{}{ - "matchLabels": map[string]interface{}{ - "old-label": "old-value", - }, - }, - "template": map[string]interface{}{ - "spec": map[string]interface{}{ - "containers": []interface{}{ - map[string]interface{}{ - "name": "nginx", - "image": "nginx:1.7.9", - }, - }, - }, - }, - }, - }, - }, - }).ResMap() - - expected := resmaptest_test.NewRmBuilder(t, resourceFactory). - Add(map[string]interface{}{ - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": map[string]interface{}{ - "name": "cm1", - "labels": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - }). - Add(map[string]interface{}{ - "group": "apps", - "apiVersion": "v1", - "kind": "Deployment", - "metadata": map[string]interface{}{ - "name": "deploy1", - "labels": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - "spec": map[string]interface{}{ - "selector": map[string]interface{}{ - "matchLabels": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - "template": map[string]interface{}{ - "metadata": map[string]interface{}{ - "labels": map[string]interface{}{ - "old-label": "old-value", - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - "spec": map[string]interface{}{ - "containers": []interface{}{ - map[string]interface{}{ - "name": "nginx", - "image": "nginx:1.7.9", - }, - }, - }, - }, - }, - }). - Add(map[string]interface{}{ - "apiVersion": "v1", - "kind": "Service", - "metadata": map[string]interface{}{ - "name": "svc1", - "labels": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - "spec": map[string]interface{}{ - "ports": []interface{}{ - map[string]interface{}{ - "name": "port1", - "port": "12345", - }, - }, - "selector": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - }). - Add(map[string]interface{}{ - "apiVersion": "batch/v1", - "kind": "Job", - "metadata": map[string]interface{}{ - "name": "job1", - "labels": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - "spec": map[string]interface{}{ - "template": map[string]interface{}{ - "metadata": map[string]interface{}{ - "labels": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - "spec": map[string]interface{}{ - "containers": []interface{}{ - map[string]interface{}{ - "name": "nginx", - "image": "nginx:1.7.9", - }, - }, - }, - }, - }, - }). - Add(map[string]interface{}{ - "apiVersion": "batch/v1", - "kind": "Job", - "metadata": map[string]interface{}{ - "name": "job2", - "labels": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - "spec": map[string]interface{}{ - "selector": map[string]interface{}{ - "matchLabels": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - "old-label": "old-value", - }, - }, - "template": map[string]interface{}{ - "metadata": map[string]interface{}{ - "labels": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - "spec": map[string]interface{}{ - "containers": []interface{}{ - map[string]interface{}{ - "name": "nginx", - "image": "nginx:1.7.9", - }, - }, - }, - }, - }, - }). - Add(map[string]interface{}{ - "apiVersion": "batch/v1beta1", - "kind": "CronJob", - "metadata": map[string]interface{}{ - "name": "cronjob1", - "labels": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - "spec": map[string]interface{}{ - "schedule": "* 23 * * *", - "jobTemplate": map[string]interface{}{ - "metadata": map[string]interface{}{ - "labels": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - "spec": map[string]interface{}{ - "template": map[string]interface{}{ - "metadata": map[string]interface{}{ - "labels": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - "spec": map[string]interface{}{ - "containers": []interface{}{ - map[string]interface{}{ - "name": "nginx", - "image": "nginx:1.7.9", - }, - }, - }, - }, - }, - }, - }, - }). - Add(map[string]interface{}{ - "apiVersion": "batch/v1beta1", - "kind": "CronJob", - "metadata": map[string]interface{}{ - "name": "cronjob2", - "labels": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - "spec": map[string]interface{}{ - "schedule": "* 23 * * *", - "jobTemplate": map[string]interface{}{ - "metadata": map[string]interface{}{ - "labels": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - "spec": map[string]interface{}{ - "selector": map[string]interface{}{ - "matchLabels": map[string]interface{}{ - "old-label": "old-value", - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - "template": map[string]interface{}{ - "metadata": map[string]interface{}{ - "labels": map[string]interface{}{ - "label-key1": "label-value1", - "label-key2": "label-value2", - }, - }, - "spec": map[string]interface{}{ - "containers": []interface{}{ - map[string]interface{}{ - "name": "nginx", - "image": "nginx:1.7.9", - }, - }, - }, - }, - }, - }, - }, - }).ResMap() - - lt, err := NewMapTransformer( - builtinconfig.MakeDefaultConfig().CommonLabels, - map[string]string{"label-key1": "label-value1", "label-key2": "label-value2"}) - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - err = lt.Transform(m) - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - if err = expected.ErrorIfNotEqualLists(m); err != nil { - t.Fatalf("actual doesn't match expected: %v", err) - } -} - -func TestAnnotationsRun(t *testing.T) { - m := resmaptest_test.NewRmBuilder(t, resourceFactory). - Add(map[string]interface{}{ - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": map[string]interface{}{ - "name": "cm1", - }, - }). - Add(map[string]interface{}{ - "group": "apps", - "apiVersion": "v1", - "kind": "Deployment", - "metadata": map[string]interface{}{ - "name": "deploy1", - }, - "spec": map[string]interface{}{ - "template": map[string]interface{}{ - "metadata": map[string]interface{}{ - "labels": map[string]interface{}{ - "old-label": "old-value", - }, - }, - "spec": map[string]interface{}{ - "containers": []interface{}{ - map[string]interface{}{ - "name": "nginx", - "image": "nginx:1.7.9", - }, - }, - }, - }, - }, - }). - Add(map[string]interface{}{ - "apiVersion": "v1", - "kind": "Service", - "metadata": map[string]interface{}{ - "name": "svc1", - }, - "spec": map[string]interface{}{ - "ports": []interface{}{ - map[string]interface{}{ - "name": "port1", - "port": "12345", - }, - }, - }, - }).ResMap() - - expected := resmaptest_test.NewRmBuilder(t, resourceFactory). - Add(map[string]interface{}{ - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": map[string]interface{}{ - "name": "cm1", - "annotations": map[string]interface{}{ - "anno-key1": "anno-value1", - "anno-key2": "anno-value2", - }, - }, - }). - Add(map[string]interface{}{ - "group": "apps", - "apiVersion": "v1", - "kind": "Deployment", - "metadata": map[string]interface{}{ - "name": "deploy1", - "annotations": map[string]interface{}{ - "anno-key1": "anno-value1", - "anno-key2": "anno-value2", - }, - }, - "spec": map[string]interface{}{ - "template": map[string]interface{}{ - "metadata": map[string]interface{}{ - "annotations": map[string]interface{}{ - "anno-key1": "anno-value1", - "anno-key2": "anno-value2", - }, - "labels": map[string]interface{}{ - "old-label": "old-value", - }, - }, - "spec": map[string]interface{}{ - "containers": []interface{}{ - map[string]interface{}{ - "name": "nginx", - "image": "nginx:1.7.9", - }, - }, - }, - }, - }, - }). - Add(map[string]interface{}{ - "apiVersion": "v1", - "kind": "Service", - "metadata": map[string]interface{}{ - "name": "svc1", - "annotations": map[string]interface{}{ - "anno-key1": "anno-value1", - "anno-key2": "anno-value2", - }, - }, - "spec": map[string]interface{}{ - "ports": []interface{}{ - map[string]interface{}{ - "name": "port1", - "port": "12345", - }, - }, - }, - }).ResMap() - at, err := NewMapTransformer( - builtinconfig.MakeDefaultConfig().CommonAnnotations, - map[string]string{"anno-key1": "anno-value1", "anno-key2": "anno-value2"}) - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - err = at.Transform(m) - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - if err = expected.ErrorIfNotEqualLists(m); err != nil { - t.Fatalf("actual doesn't match expected: %v", err) - } -} - -func TestAnnotationsRunWithNullValue(t *testing.T) { - m := resmaptest_test.NewRmBuilder(t, resourceFactory). - Add(map[string]interface{}{ - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": map[string]interface{}{ - "name": "cm1", - "annotations": nil, - }, - }).ResMap() - - expected := resmaptest_test.NewRmBuilder(t, resourceFactory). - Add(map[string]interface{}{ - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": map[string]interface{}{ - "name": "cm1", - "annotations": map[string]interface{}{ - "anno-key1": "anno-value1", - "anno-key2": "anno-value2", - }, - }, - }).ResMap() - - at, err := NewMapTransformer( - builtinconfig.MakeDefaultConfig().CommonAnnotations, - map[string]string{"anno-key1": "anno-value1", "anno-key2": "anno-value2"}) - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - err = at.Transform(m) - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - if err = expected.ErrorIfNotEqualLists(m); err != nil { - t.Fatalf("actual doesn't match expected: %v", err) - } -} diff --git a/api/transform/nooptransformer.go b/api/transform/nooptransformer.go deleted file mode 100644 index 52e87a077..000000000 --- a/api/transform/nooptransformer.go +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2019 The Kubernetes Authors. -// SPDX-License-Identifier: Apache-2.0 - -package transform - -import "sigs.k8s.io/kustomize/api/resmap" - -// noOpTransformer contains a no-op transformer. -type noOpTransformer struct{} - -var _ resmap.Transformer = &noOpTransformer{} - -// newNoOpTransformer constructs a noOpTransformer. -func newNoOpTransformer() resmap.Transformer { - return &noOpTransformer{} -} - -// Transform does nothing. -func (o *noOpTransformer) Transform(_ resmap.ResMap) error { - return nil -} diff --git a/plugin/builtin/annotationstransformer/AnnotationsTransformer.go b/plugin/builtin/annotationstransformer/AnnotationsTransformer.go index 7b6ea3296..c03edb435 100644 --- a/plugin/builtin/annotationstransformer/AnnotationsTransformer.go +++ b/plugin/builtin/annotationstransformer/AnnotationsTransformer.go @@ -7,7 +7,6 @@ package main import ( "sigs.k8s.io/kustomize/api/filters/annotations" "sigs.k8s.io/kustomize/api/resmap" - "sigs.k8s.io/kustomize/api/transform" "sigs.k8s.io/kustomize/api/types" "sigs.k8s.io/kustomize/kyaml/filtersutil" "sigs.k8s.io/yaml" @@ -17,10 +16,6 @@ import ( type plugin struct { Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` FieldSpecs []types.FieldSpec `json:"fieldSpecs,omitempty" yaml:"fieldSpecs,omitempty"` - - // YAMLSupport can be set to true to use the kyaml filter instead of the - // kunstruct transformer - YAMLSupport bool `json:"yamlSupport,omitempty" yaml:"yamlSupport,omitempty"` } //noinspection GoUnusedGlobalVariable @@ -34,25 +29,14 @@ func (p *plugin) Config( } func (p *plugin) Transform(m resmap.ResMap) error { - if p.YAMLSupport { - for _, r := range m.Resources() { - err := filtersutil.ApplyToJSON(annotations.Filter{ - Annotations: p.Annotations, - FsSlice: p.FieldSpecs, - }, r.Kunstructured) - if err != nil { - return err - } - } - return nil - } else { - t, err := transform.NewMapTransformer( - p.FieldSpecs, - p.Annotations, - ) + for _, r := range m.Resources() { + err := filtersutil.ApplyToJSON(annotations.Filter{ + Annotations: p.Annotations, + FsSlice: p.FieldSpecs, + }, r.Kunstructured) if err != nil { return err } - return t.Transform(m) } + return nil } diff --git a/plugin/someteam.example.com/v1/gogetter/go.sum b/plugin/someteam.example.com/v1/gogetter/go.sum index 47393806c..5870a181c 100644 --- a/plugin/someteam.example.com/v1/gogetter/go.sum +++ b/plugin/someteam.example.com/v1/gogetter/go.sum @@ -201,6 +201,7 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-ps v0.0.0-20190716172923-621e5597135b/go.mod h1:r1VsdOzOPt1ZSrGZWFoNhsAedKnEd6r9Np1+5blZCWk= github.com/mitchellh/go-testing-interface v1.0.0 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0=