mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-07-18 10:08:34 +00:00
Hide unstructured.Unstructured behind interface.
This commit is contained in:
@@ -37,7 +37,7 @@ func NewResMapFromConfigMapArgs(
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
res, err := resource.NewResourceWithBehavior(
|
||||
res, err := resource.NewWithBehavior(
|
||||
cm, ifc.NewGenerationBehavior(cmArgs.Behavior))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -57,7 +57,7 @@ func TestNewFromConfigMaps(t *testing.T) {
|
||||
filepath: "/home/seans/project/app.env",
|
||||
content: "DB_USERNAME=admin\nDB_PASSWORD=somepw",
|
||||
expected: ResMap{
|
||||
resid.NewResId(cmap, "envConfigMap"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "envConfigMap"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -83,7 +83,7 @@ func TestNewFromConfigMaps(t *testing.T) {
|
||||
filepath: "/home/seans/project/app-init.ini",
|
||||
content: "FOO=bar\nBAR=baz\n",
|
||||
expected: ResMap{
|
||||
resid.NewResId(cmap, "fileConfigMap"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "fileConfigMap"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -109,7 +109,7 @@ BAR=baz
|
||||
},
|
||||
},
|
||||
expected: ResMap{
|
||||
resid.NewResId(cmap, "literalConfigMap"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "literalConfigMap"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
|
||||
@@ -68,7 +68,7 @@ func (m ResMap) EncodeAsYaml() ([]byte, error) {
|
||||
buf := bytes.NewBuffer(b)
|
||||
for _, id := range ids {
|
||||
obj := m[id]
|
||||
out, err := yaml.Marshal(obj)
|
||||
out, err := yaml.Marshal(obj.Map())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -117,7 +117,7 @@ func (m ResMap) ErrorIfNotEqual(m2 ResMap) error {
|
||||
func (m ResMap) DeepCopy() ResMap {
|
||||
mcopy := make(ResMap)
|
||||
for id, obj := range m {
|
||||
mcopy[id] = resource.NewResourceFromUnstruct(obj.Unstructured)
|
||||
mcopy[id] = resource.NewFromKunstructured(obj.Copy())
|
||||
mcopy[id].SetBehavior(obj.Behavior())
|
||||
}
|
||||
return mcopy
|
||||
@@ -156,7 +156,7 @@ func NewResMapFromFiles(
|
||||
|
||||
// newResMapFromBytes decodes a list of objects in byte array format.
|
||||
func newResMapFromBytes(b []byte, d ifc.Decoder) (ResMap, error) {
|
||||
resources, err := resource.NewResourceSliceFromBytes(b, d)
|
||||
resources, err := resource.NewSliceFromBytes(b, d)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -227,15 +227,18 @@ func MergeWithOverride(maps ...ResMap) (ResMap, error) {
|
||||
id = matchedId[0]
|
||||
switch r.Behavior() {
|
||||
case ifc.BehaviorReplace:
|
||||
glog.V(4).Infof("Replace %v with %v", result[id].Object, r.Object)
|
||||
glog.V(4).Infof(
|
||||
"Replace %v with %v", result[id].Map(), r.Map())
|
||||
r.Replace(result[id])
|
||||
result[id] = r
|
||||
result[id].SetBehavior(ifc.BehaviorCreate)
|
||||
case ifc.BehaviorMerge:
|
||||
glog.V(4).Infof("Merging %v with %v", result[id].Object, r.Object)
|
||||
glog.V(4).Infof(
|
||||
"Merging %v with %v", result[id].Map(), r.Map())
|
||||
r.Merge(result[id])
|
||||
result[id] = r
|
||||
glog.V(4).Infof("Merged object is %v", result[id].Object)
|
||||
glog.V(4).Infof(
|
||||
"Merged object is %v", result[id].Map())
|
||||
result[id].SetBehavior(ifc.BehaviorCreate)
|
||||
default:
|
||||
return nil, fmt.Errorf("id %#v exists; must merge or replace", id)
|
||||
|
||||
@@ -44,7 +44,7 @@ metadata:
|
||||
name: cm2
|
||||
`)
|
||||
input := ResMap{
|
||||
resid.NewResId(cmap, "cm1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cm1"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -52,7 +52,7 @@ metadata:
|
||||
"name": "cm1",
|
||||
},
|
||||
}),
|
||||
resid.NewResId(cmap, "cm2"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cm2"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -72,7 +72,7 @@ metadata:
|
||||
|
||||
func TestDemandOneMatchForId(t *testing.T) {
|
||||
rm1 := ResMap{
|
||||
resid.NewResIdWithPrefixNamespace(cmap, "cm1", "prefix1", "ns1"): resource.NewResourceFromMap(
|
||||
resid.NewResIdWithPrefixNamespace(cmap, "cm1", "prefix1", "ns1"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -80,7 +80,7 @@ func TestDemandOneMatchForId(t *testing.T) {
|
||||
"name": "cm1",
|
||||
},
|
||||
}),
|
||||
resid.NewResIdWithPrefixNamespace(cmap, "cm2", "prefix1", "ns1"): resource.NewResourceFromMap(
|
||||
resid.NewResIdWithPrefixNamespace(cmap, "cm2", "prefix1", "ns1"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -118,7 +118,7 @@ func TestDemandOneMatchForId(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestFilterBy(t *testing.T) {
|
||||
rm := ResMap{resid.NewResIdWithPrefixNamespace(cmap, "cm1", "prefix1", "ns1"): resource.NewResourceFromMap(
|
||||
rm := ResMap{resid.NewResIdWithPrefixNamespace(cmap, "cm1", "prefix1", "ns1"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -126,7 +126,7 @@ func TestFilterBy(t *testing.T) {
|
||||
"name": "cm1",
|
||||
},
|
||||
}),
|
||||
resid.NewResIdWithPrefixNamespace(cmap, "cm2", "prefix1", "ns1"): resource.NewResourceFromMap(
|
||||
resid.NewResIdWithPrefixNamespace(cmap, "cm2", "prefix1", "ns1"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -136,7 +136,7 @@ func TestFilterBy(t *testing.T) {
|
||||
}),
|
||||
}
|
||||
rm1 := ResMap{
|
||||
resid.NewResIdWithPrefixNamespace(cmap, "cm3", "prefix1", "ns2"): resource.NewResourceFromMap(
|
||||
resid.NewResIdWithPrefixNamespace(cmap, "cm3", "prefix1", "ns2"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -162,7 +162,7 @@ func TestFilterBy(t *testing.T) {
|
||||
}
|
||||
func TestDeepCopy(t *testing.T) {
|
||||
rm1 := ResMap{
|
||||
resid.NewResId(cmap, "cm1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cm1"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -170,7 +170,7 @@ func TestDeepCopy(t *testing.T) {
|
||||
"name": "cm1",
|
||||
},
|
||||
}),
|
||||
resid.NewResId(cmap, "cm2"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cm2"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -194,7 +194,7 @@ func TestDeepCopy(t *testing.T) {
|
||||
func TestErrorIfNotEqual(t *testing.T) {
|
||||
|
||||
rm1 := ResMap{
|
||||
resid.NewResId(cmap, "cm1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cm1"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -202,7 +202,7 @@ func TestErrorIfNotEqual(t *testing.T) {
|
||||
"name": "cm1",
|
||||
},
|
||||
}),
|
||||
resid.NewResId(cmap, "cm2"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cm2"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -218,7 +218,7 @@ func TestErrorIfNotEqual(t *testing.T) {
|
||||
}
|
||||
|
||||
rm2 := ResMap{
|
||||
resid.NewResId(cmap, "cm1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cm1"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -235,7 +235,7 @@ func TestErrorIfNotEqual(t *testing.T) {
|
||||
}
|
||||
|
||||
rm3 := ResMap{
|
||||
resid.NewResId(cmap, "cm2"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cm2"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -252,7 +252,7 @@ func TestErrorIfNotEqual(t *testing.T) {
|
||||
}
|
||||
|
||||
rm4 := ResMap{
|
||||
resid.NewResId(cmap, "cm1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cm1"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -291,7 +291,7 @@ metadata:
|
||||
if ferr := l.AddFile("/home/seans/project/deployment.yaml", []byte(resourceStr)); ferr != nil {
|
||||
t.Fatalf("Error adding fake file: %v\n", ferr)
|
||||
}
|
||||
expected := ResMap{resid.NewResId(deploy, "dply1"): resource.NewResourceFromMap(
|
||||
expected := ResMap{resid.NewResId(deploy, "dply1"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
@@ -299,7 +299,7 @@ metadata:
|
||||
"name": "dply1",
|
||||
},
|
||||
}),
|
||||
resid.NewResId(deploy, "dply2"): resource.NewResourceFromMap(
|
||||
resid.NewResId(deploy, "dply2"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
@@ -333,7 +333,7 @@ metadata:
|
||||
name: cm2
|
||||
`)
|
||||
expected := ResMap{
|
||||
resid.NewResId(cmap, "cm1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cm1"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -341,7 +341,7 @@ metadata:
|
||||
"name": "cm1",
|
||||
},
|
||||
}),
|
||||
resid.NewResId(cmap, "cm2"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cm2"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -362,7 +362,7 @@ metadata:
|
||||
|
||||
func TestMergeWithoutOverride(t *testing.T) {
|
||||
input1 := ResMap{
|
||||
resid.NewResId(deploy, "deploy1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(deploy, "deploy1"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
@@ -372,7 +372,7 @@ func TestMergeWithoutOverride(t *testing.T) {
|
||||
}),
|
||||
}
|
||||
input2 := ResMap{
|
||||
resid.NewResId(statefulset, "stateful1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(statefulset, "stateful1"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "StatefulSet",
|
||||
@@ -383,7 +383,7 @@ func TestMergeWithoutOverride(t *testing.T) {
|
||||
}
|
||||
input := []ResMap{input1, input2}
|
||||
expected := ResMap{
|
||||
resid.NewResId(deploy, "deploy1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(deploy, "deploy1"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
@@ -391,7 +391,7 @@ func TestMergeWithoutOverride(t *testing.T) {
|
||||
"name": "foo-deploy1",
|
||||
},
|
||||
}),
|
||||
resid.NewResId(statefulset, "stateful1"): resource.NewResourceFromMap(
|
||||
resid.NewResId(statefulset, "stateful1"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "StatefulSet",
|
||||
@@ -428,7 +428,7 @@ func TestMergeWithoutOverride(t *testing.T) {
|
||||
func generateMergeFixtures(b ifc.GenerationBehavior) []ResMap {
|
||||
|
||||
input1 := ResMap{
|
||||
resid.NewResId(cmap, "cmap"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cmap"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -442,7 +442,7 @@ func generateMergeFixtures(b ifc.GenerationBehavior) []ResMap {
|
||||
}),
|
||||
}
|
||||
input2 := ResMap{
|
||||
resid.NewResId(cmap, "cmap"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cmap"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "ConfigMap",
|
||||
@@ -463,7 +463,7 @@ func generateMergeFixtures(b ifc.GenerationBehavior) []ResMap {
|
||||
|
||||
func TestMergeWithOverride(t *testing.T) {
|
||||
expected := ResMap{
|
||||
resid.NewResId(cmap, "cmap"): resource.NewResourceFromMap(
|
||||
resid.NewResId(cmap, "cmap"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "ConfigMap",
|
||||
|
||||
@@ -38,10 +38,10 @@ func NewResMapFromSecretArgs(
|
||||
if args.Behavior == "" {
|
||||
args.Behavior = "create"
|
||||
}
|
||||
res, err := resource.NewResourceWithBehavior(
|
||||
res, err := resource.NewWithBehavior(
|
||||
s, ifc.NewGenerationBehavior(args.Behavior))
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "NewResourceWithBehavior")
|
||||
return nil, errors.Wrap(err, "NewWithBehavior")
|
||||
}
|
||||
allResources = append(allResources, res)
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ func TestNewResMapFromSecretArgs(t *testing.T) {
|
||||
}
|
||||
|
||||
expected := ResMap{
|
||||
resid.NewResId(secret, "apple"): resource.NewResourceFromMap(
|
||||
resid.NewResId(secret, "apple"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Secret",
|
||||
@@ -76,7 +76,7 @@ func TestNewResMapFromSecretArgs(t *testing.T) {
|
||||
"DB_PASSWORD": base64.StdEncoding.EncodeToString([]byte("somepw")),
|
||||
},
|
||||
}).SetBehavior(ifc.BehaviorCreate),
|
||||
resid.NewResId(secret, "peanuts"): resource.NewResourceFromMap(
|
||||
resid.NewResId(secret, "peanuts"): resource.NewFromMap(
|
||||
map[string]interface{}{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Secret",
|
||||
|
||||
Reference in New Issue
Block a user