Enable jsonpath transformers in application

This commit is contained in:
Jingfang Liu
2018-09-06 14:02:30 -07:00
parent 548ea8a9fb
commit 8810027d89
3 changed files with 22 additions and 4 deletions

View File

@@ -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

View File

@@ -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",

View File

@@ -48,6 +48,7 @@ var (
"CommonAnnotations",
"Patches",
"PatchesStrategicMerge",
"PatchesJson6902",
"ConfigMapGenerator",
"SecretGenerator",
"Vars",