Deal with field deprecation immediately after load.

This commit is contained in:
Jeffrey Regan
2018-10-03 10:48:56 -07:00
parent a1538c5610
commit 65ee4e4f2a
2 changed files with 16 additions and 7 deletions

View File

@@ -32,7 +32,6 @@ import (
"sigs.k8s.io/kustomize/pkg/fs"
interror "sigs.k8s.io/kustomize/pkg/internal/error"
"sigs.k8s.io/kustomize/pkg/loader"
"sigs.k8s.io/kustomize/pkg/patch"
patchtransformer "sigs.k8s.io/kustomize/pkg/patch/transformer"
"sigs.k8s.io/kustomize/pkg/resmap"
"sigs.k8s.io/kustomize/pkg/resource"
@@ -60,13 +59,14 @@ func NewKustTarget(
return nil, err
}
var m types.Kustomization
err = unmarshal(content, &m)
var k types.Kustomization
err = unmarshal(content, &k)
if err != nil {
return nil, err
}
k.DealWithDeprecatedFields()
return &KustTarget{
kustomization: &m,
kustomization: &k,
ldr: ldr,
fSys: fSys,
tcfg: tcfg,
@@ -157,9 +157,6 @@ func (kt *KustTarget) loadCustomizedResMap() (resmap.ResMap, error) {
return nil, err
}
kt.kustomization.PatchesStrategicMerge = patch.Append(
kt.kustomization.PatchesStrategicMerge,
kt.kustomization.Patches...)
patches, err := resource.NewResourceSliceFromPatches(
kt.ldr, kt.kustomization.PatchesStrategicMerge, kt.decoder)
if err != nil {

View File

@@ -91,6 +91,18 @@ type Kustomization struct {
ImageTags []ImageTag `json:"imageTags,omitempty" yaml:"imageTags,omitempty"`
}
// DealWithDeprecatedFields should be called immediately after
// loading from storage.
func (k *Kustomization) DealWithDeprecatedFields() {
// The Patches field, meant to hold StrategicMerge patches,
// is deprecated. Append anything found there to the
// PatchesStrategicMerge field.
// This happened when the PatchesJson6902 field was introduced.
k.PatchesStrategicMerge = patch.Append(
k.PatchesStrategicMerge, k.Patches...)
k.Patches = []string{}
}
// ConfigMapArgs contains the metadata of how to generate a configmap.
type ConfigMapArgs struct {
// Name of the configmap.