mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-13 10:00:56 +00:00
update checker code in patchStrategicMerge
This commit is contained in:
@@ -7,8 +7,8 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"sigs.k8s.io/kustomize/kyaml/filesys"
|
||||
"sigs.k8s.io/yaml"
|
||||
)
|
||||
|
||||
@@ -218,7 +218,7 @@ func (k *Kustomization) FixKustomizationPostUnmarshalling() {
|
||||
// FixKustomizationPreMarshalling fixes things
|
||||
// that should occur after the kustomization file
|
||||
// has been processed.
|
||||
func (k *Kustomization) FixKustomizationPreMarshalling() error {
|
||||
func (k *Kustomization) FixKustomizationPreMarshalling(fSys filesys.FileSystem) error {
|
||||
// PatchesJson6902 should be under the Patches field.
|
||||
k.Patches = append(k.Patches, k.PatchesJson6902...)
|
||||
k.PatchesJson6902 = nil
|
||||
@@ -226,8 +226,7 @@ func (k *Kustomization) FixKustomizationPreMarshalling() error {
|
||||
if k.PatchesStrategicMerge != nil {
|
||||
for _, patchStrategicMerge := range k.PatchesStrategicMerge {
|
||||
// check this patch is file path select.
|
||||
if strings.Count(string(patchStrategicMerge), "\n") < 1 &&
|
||||
(patchStrategicMerge[len(patchStrategicMerge)-5:] == ".yaml" || patchStrategicMerge[len(patchStrategicMerge)-4:] == ".yml") {
|
||||
if _, err := fSys.ReadFile(string(patchStrategicMerge)); err == nil {
|
||||
// path patch
|
||||
k.Patches = append(k.Patches, Patch{Path: string(patchStrategicMerge)})
|
||||
} else {
|
||||
|
||||
@@ -55,8 +55,7 @@ func RunFix(fSys filesys.FileSystem, w io.Writer) error {
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.FixKustomizationPreMarshalling()
|
||||
if err != nil {
|
||||
if err := m.FixKustomizationPreMarshalling(fSys); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ func TestFixCommand(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
input string
|
||||
files map[string]string
|
||||
expected string
|
||||
}{
|
||||
{
|
||||
@@ -170,6 +171,21 @@ kind: Kustomization
|
||||
patchesStrategicMerge:
|
||||
- deploy.yaml
|
||||
`,
|
||||
files: map[string]string{
|
||||
"deploy.yaml": `
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
env:
|
||||
- name: CONFIG_FILE_PATH
|
||||
value: home.yaml`,
|
||||
},
|
||||
expected: `
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
@@ -183,6 +199,21 @@ patches:
|
||||
patchesStrategicMerge:
|
||||
- deploy.yml
|
||||
`,
|
||||
files: map[string]string{
|
||||
"deploy.yml": `
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
env:
|
||||
- name: CONFIG_FILE_PATH
|
||||
value: home.yaml`,
|
||||
},
|
||||
expected: `
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
@@ -209,6 +240,21 @@ patchesStrategicMerge:
|
||||
- name: CONFIG_FILE_PATH
|
||||
value: home.yaml
|
||||
`,
|
||||
files: map[string]string{
|
||||
"deploy.yaml": `
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
env:
|
||||
- name: CONFIG_FILE_PATH
|
||||
value: home.yaml`,
|
||||
},
|
||||
expected: `
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
@@ -239,6 +285,21 @@ patchesJson6902:
|
||||
target:
|
||||
kind: Deployment
|
||||
`,
|
||||
files: map[string]string{
|
||||
"deploy.yaml": `
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
env:
|
||||
- name: CONFIG_FILE_PATH
|
||||
value: home.yaml`,
|
||||
},
|
||||
expected: `
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
@@ -310,6 +371,9 @@ kind: Kustomization
|
||||
for _, test := range tests {
|
||||
fSys := filesys.MakeFsInMemory()
|
||||
testutils_test.WriteTestKustomizationWith(fSys, []byte(test.input))
|
||||
for filename, content := range test.files {
|
||||
require.NoError(t, fSys.WriteFile(filename, []byte(content)))
|
||||
}
|
||||
cmd := NewCmdFix(fSys, os.Stdout)
|
||||
require.NoError(t, cmd.RunE(cmd, nil))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user