diff --git a/pkg/app/application.go b/pkg/app/application.go index f7c7a7b69..da10ec2b2 100644 --- a/pkg/app/application.go +++ b/pkg/app/application.go @@ -22,7 +22,6 @@ import ( "bytes" "encoding/json" "fmt" - "log" "github.com/ghodss/yaml" "github.com/golang/glog" @@ -34,6 +33,7 @@ import ( interror "github.com/kubernetes-sigs/kustomize/pkg/internal/error" "github.com/kubernetes-sigs/kustomize/pkg/loader" "github.com/kubernetes-sigs/kustomize/pkg/patch" + patchtransformer "github.com/kubernetes-sigs/kustomize/pkg/patch/transformer" "github.com/kubernetes-sigs/kustomize/pkg/resmap" "github.com/kubernetes-sigs/kustomize/pkg/resource" "github.com/kubernetes-sigs/kustomize/pkg/transformers" @@ -63,9 +63,6 @@ func NewApplication(ldr loader.Loader, fSys fs.FileSystem) (*Application, error) if err != nil { return nil, err } - if m.PatchesJson6902 != nil { - log.Printf("field patchesJson6902 ignored; no implementation yet.") - } return &Application{kustomization: &m, ldr: ldr, fSys: fSys}, nil } @@ -170,6 +167,11 @@ func (a *Application) loadCustomizedResMap() (resmap.ResMap, error) { return nil, err } r = append(r, t) + t, err = patchtransformer.NewPatchJson6902Factory(a.ldr).MakePatchJson6902Transformer(a.kustomization.PatchesJson6902) + if err != nil { + return nil, err + } + r = append(r, t) t, err = transformers.NewImageTagTransformer(a.kustomization.ImageTags) if err != nil { return nil, err diff --git a/pkg/app/application_test.go b/pkg/app/application_test.go index 94724a2aa..9cdfdea52 100644 --- a/pkg/app/application_test.go +++ b/pkg/app/application_test.go @@ -54,6 +54,13 @@ secretGenerator: DB_USERNAME: "printf admin" DB_PASSWORD: "printf somepw" type: Opaque +patchesJson6902: +- target: + group: apps + version: v1 + kind: Deployment + name: dply1 + path: jsonpatch.json ` kustomizationContent2 = ` secretGenerator: @@ -73,6 +80,9 @@ kind: Namespace metadata: name: ns1 ` + jsonpatchContent = `[ + {"op": "add", "path": "/spec/replica", "value": "3"} +]` ) func makeLoader1(t *testing.T) loader.Loader { @@ -89,6 +99,10 @@ func makeLoader1(t *testing.T) loader.Loader { if err != nil { t.Fatalf("Failed to setup fake ldr.") } + err = ldr.AddFile("/testpath/jsonpatch.json", []byte(jsonpatchContent)) + if err != nil { + t.Fatalf("Failed to setup fake ldr.") + } return ldr } @@ -114,6 +128,7 @@ func TestResources1(t *testing.T) { }, }, "spec": map[string]interface{}{ + "replica": "3", "selector": map[string]interface{}{ "matchLabels": map[string]interface{}{ "app": "nginx", diff --git a/pkg/commands/kustomizationfile.go b/pkg/commands/kustomizationfile.go index 383b3daa8..f84d27ad7 100644 --- a/pkg/commands/kustomizationfile.go +++ b/pkg/commands/kustomizationfile.go @@ -48,6 +48,7 @@ var ( "CommonAnnotations", "Patches", "PatchesStrategicMerge", + "PatchesJson6902", "ConfigMapGenerator", "SecretGenerator", "Vars",