mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 18:25:26 +00:00
Use DepProvider in tests to access kyaml impls.
This commit is contained in:
@@ -5,10 +5,9 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/api/resid"
|
"sigs.k8s.io/kustomize/api/resid"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
|
||||||
filtertest_test "sigs.k8s.io/kustomize/api/testutils/filtertest"
|
filtertest_test "sigs.k8s.io/kustomize/api/testutils/filtertest"
|
||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
)
|
)
|
||||||
@@ -220,7 +219,7 @@ map:
|
|||||||
|
|
||||||
for tn, tc := range testCases {
|
for tn, tc := range testCases {
|
||||||
t.Run(tn, func(t *testing.T) {
|
t.Run(tn, func(t *testing.T) {
|
||||||
factory := resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl())
|
factory := provider.NewDefaultDepProvider().GetResourceFactory()
|
||||||
referrer, err := factory.FromBytes([]byte(tc.input))
|
referrer, err := factory.FromBytes([]byte(tc.input))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
@@ -321,7 +320,7 @@ metadata:
|
|||||||
|
|
||||||
for tn, tc := range testCases {
|
for tn, tc := range testCases {
|
||||||
t.Run(tn, func(t *testing.T) {
|
t.Run(tn, func(t *testing.T) {
|
||||||
factory := resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl())
|
factory := provider.NewDefaultDepProvider().GetResourceFactory()
|
||||||
referrer, err := factory.FromBytes([]byte(tc.input))
|
referrer, err := factory.FromBytes([]byte(tc.input))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
@@ -732,7 +731,7 @@ ref:
|
|||||||
|
|
||||||
for tn, tc := range testCases {
|
for tn, tc := range testCases {
|
||||||
t.Run(tn, func(t *testing.T) {
|
t.Run(tn, func(t *testing.T) {
|
||||||
factory := resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl())
|
factory := provider.NewDefaultDepProvider().GetResourceFactory()
|
||||||
referrer, err := factory.FromBytes([]byte(tc.input))
|
referrer, err := factory.FromBytes([]byte(tc.input))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
|
|||||||
@@ -8,17 +8,14 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig"
|
"sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/api/resid"
|
"sigs.k8s.io/kustomize/api/resid"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
|
||||||
resmaptest_test "sigs.k8s.io/kustomize/api/testutils/resmaptest"
|
resmaptest_test "sigs.k8s.io/kustomize/api/testutils/resmaptest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNameReferenceHappyRun(t *testing.T) {
|
func TestNameReferenceHappyRun(t *testing.T) {
|
||||||
rf := resource.NewFactory(
|
m := resmaptest_test.NewRmBuilderDefault(t).AddWithName(
|
||||||
kunstruct.NewKunstructuredFactoryImpl())
|
|
||||||
m := resmaptest_test.NewRmBuilder(t, rf).AddWithName(
|
|
||||||
"cm1",
|
"cm1",
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"apiVersion": "v1",
|
"apiVersion": "v1",
|
||||||
@@ -261,7 +258,8 @@ func TestNameReferenceHappyRun(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}).ResMap()
|
}).ResMap()
|
||||||
|
|
||||||
expected := resmaptest_test.NewSeededRmBuilder(t, rf, m.ShallowCopy()).ReplaceResource(
|
expected := resmaptest_test.NewSeededRmBuilderDefault(
|
||||||
|
t, m.ShallowCopy()).ReplaceResource(
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"group": "apps",
|
"group": "apps",
|
||||||
"apiVersion": "v1",
|
"apiVersion": "v1",
|
||||||
@@ -475,14 +473,12 @@ func TestNameReferenceHappyRun(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestNameReferenceUnhappyRun(t *testing.T) {
|
func TestNameReferenceUnhappyRun(t *testing.T) {
|
||||||
rf := resource.NewFactory(
|
|
||||||
kunstruct.NewKunstructuredFactoryImpl())
|
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
resMap resmap.ResMap
|
resMap resmap.ResMap
|
||||||
expectedErr string
|
expectedErr string
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
resMap: resmaptest_test.NewRmBuilder(t, rf).Add(
|
resMap: resmaptest_test.NewRmBuilderDefault(t).Add(
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"apiVersion": "rbac.authorization.k8s.io/v1",
|
"apiVersion": "rbac.authorization.k8s.io/v1",
|
||||||
"kind": "ClusterRole",
|
"kind": "ClusterRole",
|
||||||
@@ -502,7 +498,7 @@ func TestNameReferenceUnhappyRun(t *testing.T) {
|
|||||||
}).ResMap(),
|
}).ResMap(),
|
||||||
expectedErr: "is expected to be"},
|
expectedErr: "is expected to be"},
|
||||||
{
|
{
|
||||||
resMap: resmaptest_test.NewRmBuilder(t, rf).Add(
|
resMap: resmaptest_test.NewRmBuilderDefault(t).Add(
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"apiVersion": "rbac.authorization.k8s.io/v1",
|
"apiVersion": "rbac.authorization.k8s.io/v1",
|
||||||
"kind": "ClusterRole",
|
"kind": "ClusterRole",
|
||||||
@@ -538,8 +534,7 @@ func TestNameReferenceUnhappyRun(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestNameReferencePersistentVolumeHappyRun(t *testing.T) {
|
func TestNameReferencePersistentVolumeHappyRun(t *testing.T) {
|
||||||
rf := resource.NewFactory(
|
rf := provider.NewDefaultDepProvider().GetResourceFactory()
|
||||||
kunstruct.NewKunstructuredFactoryImpl())
|
|
||||||
|
|
||||||
v1 := rf.FromMapWithName(
|
v1 := rf.FromMapWithName(
|
||||||
"volume1",
|
"volume1",
|
||||||
@@ -664,9 +659,7 @@ const (
|
|||||||
// object with the same original names (uniquename) in different namespaces
|
// object with the same original names (uniquename) in different namespaces
|
||||||
// and with different current Id.
|
// and with different current Id.
|
||||||
func TestNameReferenceNamespace(t *testing.T) {
|
func TestNameReferenceNamespace(t *testing.T) {
|
||||||
rf := resource.NewFactory(
|
m := resmaptest_test.NewRmBuilderDefault(t).
|
||||||
kunstruct.NewKunstructuredFactoryImpl())
|
|
||||||
m := resmaptest_test.NewRmBuilder(t, rf).
|
|
||||||
// Add ConfigMap with the same org name in noNs, "ns1" and "ns2" namespaces
|
// Add ConfigMap with the same org name in noNs, "ns1" and "ns2" namespaces
|
||||||
AddWithName(orgname, map[string]interface{}{
|
AddWithName(orgname, map[string]interface{}{
|
||||||
"apiVersion": "v1",
|
"apiVersion": "v1",
|
||||||
@@ -715,7 +708,7 @@ func TestNameReferenceNamespace(t *testing.T) {
|
|||||||
AddWithNsAndName(ns1, orgname, deploymentMap(ns1, prefixedname, orgname, orgname)).
|
AddWithNsAndName(ns1, orgname, deploymentMap(ns1, prefixedname, orgname, orgname)).
|
||||||
AddWithNsAndName(ns2, orgname, deploymentMap(ns2, suffixedname, orgname, orgname)).ResMap()
|
AddWithNsAndName(ns2, orgname, deploymentMap(ns2, suffixedname, orgname, orgname)).ResMap()
|
||||||
|
|
||||||
expected := resmaptest_test.NewSeededRmBuilder(t, rf, m.ShallowCopy()).
|
expected := resmaptest_test.NewSeededRmBuilderDefault(t, m.ShallowCopy()).
|
||||||
ReplaceResource(deploymentMap(defaultNs, modifiedname, modifiedname, modifiedname)).
|
ReplaceResource(deploymentMap(defaultNs, modifiedname, modifiedname, modifiedname)).
|
||||||
ReplaceResource(deploymentMap(ns1, prefixedname, prefixedname, prefixedname)).
|
ReplaceResource(deploymentMap(ns1, prefixedname, prefixedname, prefixedname)).
|
||||||
ReplaceResource(deploymentMap(ns2, suffixedname, suffixedname, suffixedname)).ResMap()
|
ReplaceResource(deploymentMap(ns2, suffixedname, suffixedname, suffixedname)).ResMap()
|
||||||
@@ -735,9 +728,7 @@ func TestNameReferenceNamespace(t *testing.T) {
|
|||||||
// object with the same original names (uniquename) in different namespaces
|
// object with the same original names (uniquename) in different namespaces
|
||||||
// and with different current Id.
|
// and with different current Id.
|
||||||
func TestNameReferenceClusterWide(t *testing.T) {
|
func TestNameReferenceClusterWide(t *testing.T) {
|
||||||
rf := resource.NewFactory(
|
m := resmaptest_test.NewRmBuilderDefault(t).
|
||||||
kunstruct.NewKunstructuredFactoryImpl())
|
|
||||||
m := resmaptest_test.NewRmBuilder(t, rf).
|
|
||||||
// Add ServiceAccount with the same org name in noNs, "ns1" and "ns2" namespaces
|
// Add ServiceAccount with the same org name in noNs, "ns1" and "ns2" namespaces
|
||||||
AddWithName(orgname, map[string]interface{}{
|
AddWithName(orgname, map[string]interface{}{
|
||||||
"apiVersion": "v1",
|
"apiVersion": "v1",
|
||||||
@@ -816,7 +807,7 @@ func TestNameReferenceClusterWide(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}}).ResMap()
|
}}).ResMap()
|
||||||
|
|
||||||
expected := resmaptest_test.NewSeededRmBuilder(t, rf, m.ShallowCopy()).
|
expected := resmaptest_test.NewSeededRmBuilderDefault(t, m.ShallowCopy()).
|
||||||
ReplaceResource(
|
ReplaceResource(
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"apiVersion": "rbac.authorization.k8s.io/v1",
|
"apiVersion": "rbac.authorization.k8s.io/v1",
|
||||||
@@ -898,9 +889,7 @@ func TestNameReferenceClusterWide(t *testing.T) {
|
|||||||
// object with the same original names (uniquename) in different namespaces
|
// object with the same original names (uniquename) in different namespaces
|
||||||
// and with different current Id.
|
// and with different current Id.
|
||||||
func TestNameReferenceNamespaceTransformation(t *testing.T) {
|
func TestNameReferenceNamespaceTransformation(t *testing.T) {
|
||||||
rf := resource.NewFactory(
|
m := resmaptest_test.NewRmBuilderDefault(t).
|
||||||
kunstruct.NewKunstructuredFactoryImpl())
|
|
||||||
m := resmaptest_test.NewRmBuilder(t, rf).
|
|
||||||
AddWithNsAndName(ns4, orgname, map[string]interface{}{
|
AddWithNsAndName(ns4, orgname, map[string]interface{}{
|
||||||
"apiVersion": "v1",
|
"apiVersion": "v1",
|
||||||
"kind": "Secret",
|
"kind": "Secret",
|
||||||
@@ -964,7 +953,7 @@ func TestNameReferenceNamespaceTransformation(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}}).ResMap()
|
}}).ResMap()
|
||||||
|
|
||||||
expected := resmaptest_test.NewSeededRmBuilder(t, rf, m.ShallowCopy()).
|
expected := resmaptest_test.NewSeededRmBuilderDefault(t, m.ShallowCopy()).
|
||||||
ReplaceResource(
|
ReplaceResource(
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"apiVersion": "rbac.authorization.k8s.io/v1",
|
"apiVersion": "rbac.authorization.k8s.io/v1",
|
||||||
@@ -1026,9 +1015,7 @@ func TestNameReferenceNamespaceTransformation(t *testing.T) {
|
|||||||
// It validates the change done is IsSameFuzzyNamespace which
|
// It validates the change done is IsSameFuzzyNamespace which
|
||||||
// uses the IsNsEquals method instead of the simple == operator.
|
// uses the IsNsEquals method instead of the simple == operator.
|
||||||
func TestNameReferenceCandidateSelection(t *testing.T) {
|
func TestNameReferenceCandidateSelection(t *testing.T) {
|
||||||
rf := resource.NewFactory(
|
m := resmaptest_test.NewRmBuilderDefault(t).
|
||||||
kunstruct.NewKunstructuredFactoryImpl())
|
|
||||||
m := resmaptest_test.NewRmBuilder(t, rf).
|
|
||||||
AddWithName("cm1", map[string]interface{}{
|
AddWithName("cm1", map[string]interface{}{
|
||||||
"apiVersion": "v1",
|
"apiVersion": "v1",
|
||||||
"kind": "ConfigMap",
|
"kind": "ConfigMap",
|
||||||
@@ -1045,7 +1032,7 @@ func TestNameReferenceCandidateSelection(t *testing.T) {
|
|||||||
AddWithName("deploy1", deploymentMap("", "p1-deploy1", "cm1", "secret1")).
|
AddWithName("deploy1", deploymentMap("", "p1-deploy1", "cm1", "secret1")).
|
||||||
ResMap()
|
ResMap()
|
||||||
|
|
||||||
expected := resmaptest_test.NewSeededRmBuilder(t, rf, m.ShallowCopy()).
|
expected := resmaptest_test.NewSeededRmBuilderDefault(t, m.ShallowCopy()).
|
||||||
ReplaceResource(deploymentMap("", "p1-deploy1", "p1-cm1-hash", "p1-secret1-hash")).
|
ReplaceResource(deploymentMap("", "p1-deploy1", "p1-cm1-hash", "p1-secret1-hash")).
|
||||||
ResMap()
|
ResMap()
|
||||||
|
|
||||||
|
|||||||
@@ -7,10 +7,8 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
|
||||||
"sigs.k8s.io/kustomize/api/resid"
|
"sigs.k8s.io/kustomize/api/resid"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
|
||||||
resmaptest_test "sigs.k8s.io/kustomize/api/testutils/resmaptest"
|
resmaptest_test "sigs.k8s.io/kustomize/api/testutils/resmaptest"
|
||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
)
|
)
|
||||||
@@ -46,8 +44,7 @@ func TestRefVarTransformer(t *testing.T) {
|
|||||||
{Gvk: resid.Gvk{Version: "v1", Kind: "ConfigMap"}, Path: "data/interface"},
|
{Gvk: resid.Gvk{Version: "v1", Kind: "ConfigMap"}, Path: "data/interface"},
|
||||||
{Gvk: resid.Gvk{Version: "v1", Kind: "ConfigMap"}, Path: "data/num"},
|
{Gvk: resid.Gvk{Version: "v1", Kind: "ConfigMap"}, Path: "data/num"},
|
||||||
},
|
},
|
||||||
res: resmaptest_test.NewRmBuilder(
|
res: resmaptest_test.NewRmBuilderDefault(t).
|
||||||
t, resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl())).
|
|
||||||
Add(map[string]interface{}{
|
Add(map[string]interface{}{
|
||||||
"apiVersion": "v1",
|
"apiVersion": "v1",
|
||||||
"kind": "ConfigMap",
|
"kind": "ConfigMap",
|
||||||
@@ -77,8 +74,7 @@ func TestRefVarTransformer(t *testing.T) {
|
|||||||
}}).ResMap(),
|
}}).ResMap(),
|
||||||
},
|
},
|
||||||
expected: expected{
|
expected: expected{
|
||||||
res: resmaptest_test.NewRmBuilder(
|
res: resmaptest_test.NewRmBuilderDefault(t).
|
||||||
t, resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl())).
|
|
||||||
Add(map[string]interface{}{
|
Add(map[string]interface{}{
|
||||||
"apiVersion": "v1",
|
"apiVersion": "v1",
|
||||||
"kind": "ConfigMap",
|
"kind": "ConfigMap",
|
||||||
@@ -116,8 +112,7 @@ func TestRefVarTransformer(t *testing.T) {
|
|||||||
fs: []types.FieldSpec{
|
fs: []types.FieldSpec{
|
||||||
{Gvk: resid.Gvk{Version: "v1", Kind: "ConfigMap"}, Path: "data/slice"},
|
{Gvk: resid.Gvk{Version: "v1", Kind: "ConfigMap"}, Path: "data/slice"},
|
||||||
},
|
},
|
||||||
res: resmaptest_test.NewRmBuilder(
|
res: resmaptest_test.NewRmBuilderDefault(t).
|
||||||
t, resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl())).
|
|
||||||
Add(map[string]interface{}{
|
Add(map[string]interface{}{
|
||||||
"apiVersion": "v1",
|
"apiVersion": "v1",
|
||||||
"kind": "ConfigMap",
|
"kind": "ConfigMap",
|
||||||
@@ -138,8 +133,7 @@ func TestRefVarTransformer(t *testing.T) {
|
|||||||
fs: []types.FieldSpec{
|
fs: []types.FieldSpec{
|
||||||
{Gvk: resid.Gvk{Version: "v1", Kind: "ConfigMap"}, Path: "data/nil"},
|
{Gvk: resid.Gvk{Version: "v1", Kind: "ConfigMap"}, Path: "data/nil"},
|
||||||
},
|
},
|
||||||
res: resmaptest_test.NewRmBuilder(
|
res: resmaptest_test.NewRmBuilderDefault(t).
|
||||||
t, resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl())).
|
|
||||||
Add(map[string]interface{}{
|
Add(map[string]interface{}{
|
||||||
"apiVersion": "v1",
|
"apiVersion": "v1",
|
||||||
"kind": "ConfigMap",
|
"kind": "ConfigMap",
|
||||||
@@ -151,8 +145,7 @@ func TestRefVarTransformer(t *testing.T) {
|
|||||||
}}).ResMap(),
|
}}).ResMap(),
|
||||||
},
|
},
|
||||||
expected: expected{
|
expected: expected{
|
||||||
res: resmaptest_test.NewRmBuilder(
|
res: resmaptest_test.NewRmBuilderDefault(t).
|
||||||
t, resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl())).
|
|
||||||
Add(map[string]interface{}{
|
Add(map[string]interface{}{
|
||||||
"apiVersion": "v1",
|
"apiVersion": "v1",
|
||||||
"kind": "ConfigMap",
|
"kind": "ConfigMap",
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import (
|
|||||||
|
|
||||||
. "sigs.k8s.io/kustomize/api/internal/accumulator"
|
. "sigs.k8s.io/kustomize/api/internal/accumulator"
|
||||||
"sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig"
|
"sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/api/resid"
|
"sigs.k8s.io/kustomize/api/resid"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
"sigs.k8s.io/kustomize/api/resource"
|
||||||
@@ -20,16 +20,14 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
func makeResAccumulator(t *testing.T) (*ResAccumulator, *resource.Factory) {
|
func makeResAccumulator(t *testing.T) *ResAccumulator {
|
||||||
ra := MakeEmptyAccumulator()
|
ra := MakeEmptyAccumulator()
|
||||||
err := ra.MergeConfig(builtinconfig.MakeDefaultConfig())
|
err := ra.MergeConfig(builtinconfig.MakeDefaultConfig())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected err: %v", err)
|
t.Fatalf("unexpected err: %v", err)
|
||||||
}
|
}
|
||||||
rf := resource.NewFactory(
|
|
||||||
kunstruct.NewKunstructuredFactoryImpl())
|
|
||||||
err = ra.AppendAll(
|
err = ra.AppendAll(
|
||||||
resmaptest_test.NewRmBuilder(t, rf).
|
resmaptest_test.NewRmBuilderDefault(t).
|
||||||
Add(map[string]interface{}{
|
Add(map[string]interface{}{
|
||||||
"apiVersion": "apps/v1",
|
"apiVersion": "apps/v1",
|
||||||
"kind": "Deployment",
|
"kind": "Deployment",
|
||||||
@@ -66,11 +64,11 @@ func makeResAccumulator(t *testing.T) (*ResAccumulator, *resource.Factory) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected err: %v", err)
|
t.Fatalf("unexpected err: %v", err)
|
||||||
}
|
}
|
||||||
return ra, rf
|
return ra
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestResolveVarsHappy(t *testing.T) {
|
func TestResolveVarsHappy(t *testing.T) {
|
||||||
ra, _ := makeResAccumulator(t)
|
ra := makeResAccumulator(t)
|
||||||
err := ra.MergeVars([]types.Var{
|
err := ra.MergeVars([]types.Var{
|
||||||
{
|
{
|
||||||
Name: "SERVICE_ONE",
|
Name: "SERVICE_ONE",
|
||||||
@@ -99,7 +97,7 @@ func TestResolveVarsHappy(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestResolveVarsOneUnused(t *testing.T) {
|
func TestResolveVarsOneUnused(t *testing.T) {
|
||||||
ra, _ := makeResAccumulator(t)
|
ra := makeResAccumulator(t)
|
||||||
err := ra.MergeVars([]types.Var{
|
err := ra.MergeVars([]types.Var{
|
||||||
{
|
{
|
||||||
Name: "SERVICE_ONE",
|
Name: "SERVICE_ONE",
|
||||||
@@ -140,11 +138,10 @@ func expectLog(t *testing.T, log bytes.Buffer, expect string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestResolveVarsVarNeedsDisambiguation(t *testing.T) {
|
func TestResolveVarsVarNeedsDisambiguation(t *testing.T) {
|
||||||
ra, rf := makeResAccumulator(t)
|
ra := makeResAccumulator(t)
|
||||||
|
|
||||||
rm0 := resmap.New()
|
rm0 := resmap.New()
|
||||||
err := rm0.Append(
|
err := rm0.Append(
|
||||||
rf.FromMap(
|
provider.NewDefaultDepProvider().GetResourceFactory().FromMap(
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"apiVersion": "v1",
|
"apiVersion": "v1",
|
||||||
"kind": "Service",
|
"kind": "Service",
|
||||||
@@ -213,8 +210,7 @@ func makeVarToNamepaceAndPath(
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestResolveVarConflicts(t *testing.T) {
|
func TestResolveVarConflicts(t *testing.T) {
|
||||||
rf := resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl())
|
rf := provider.NewDefaultDepProvider().GetResourceFactory()
|
||||||
|
|
||||||
// create configmaps in foo and bar namespaces with `data.provider` values.
|
// create configmaps in foo and bar namespaces with `data.provider` values.
|
||||||
fooAws := makeNamespacedConfigMapWithDataProviderValue("foo", "aws")
|
fooAws := makeNamespacedConfigMapWithDataProviderValue("foo", "aws")
|
||||||
barAws := makeNamespacedConfigMapWithDataProviderValue("bar", "aws")
|
barAws := makeNamespacedConfigMapWithDataProviderValue("bar", "aws")
|
||||||
@@ -261,7 +257,7 @@ func TestResolveVarConflicts(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestResolveVarsGoodResIdBadField(t *testing.T) {
|
func TestResolveVarsGoodResIdBadField(t *testing.T) {
|
||||||
ra, _ := makeResAccumulator(t)
|
ra := makeResAccumulator(t)
|
||||||
err := ra.MergeVars([]types.Var{
|
err := ra.MergeVars([]types.Var{
|
||||||
{
|
{
|
||||||
Name: "SERVICE_ONE",
|
Name: "SERVICE_ONE",
|
||||||
@@ -286,7 +282,7 @@ func TestResolveVarsGoodResIdBadField(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestResolveVarsUnmappableVar(t *testing.T) {
|
func TestResolveVarsUnmappableVar(t *testing.T) {
|
||||||
ra, _ := makeResAccumulator(t)
|
ra := makeResAccumulator(t)
|
||||||
err := ra.MergeVars([]types.Var{
|
err := ra.MergeVars([]types.Var{
|
||||||
{
|
{
|
||||||
Name: "SERVICE_THREE",
|
Name: "SERVICE_THREE",
|
||||||
@@ -310,7 +306,7 @@ func TestResolveVarsUnmappableVar(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestResolveVarsWithNoambiguation(t *testing.T) {
|
func TestResolveVarsWithNoambiguation(t *testing.T) {
|
||||||
ra1, rf := makeResAccumulator(t)
|
ra1 := makeResAccumulator(t)
|
||||||
err := ra1.MergeVars([]types.Var{
|
err := ra1.MergeVars([]types.Var{
|
||||||
{
|
{
|
||||||
Name: "SERVICE_ONE",
|
Name: "SERVICE_ONE",
|
||||||
@@ -327,7 +323,7 @@ func TestResolveVarsWithNoambiguation(t *testing.T) {
|
|||||||
// Create another accumulator having a resource with different prefix
|
// Create another accumulator having a resource with different prefix
|
||||||
ra2 := MakeEmptyAccumulator()
|
ra2 := MakeEmptyAccumulator()
|
||||||
|
|
||||||
m := resmaptest_test.NewRmBuilder(t, rf).
|
m := resmaptest_test.NewRmBuilderDefault(t).
|
||||||
Add(map[string]interface{}{
|
Add(map[string]interface{}{
|
||||||
"apiVersion": "apps/v1",
|
"apiVersion": "apps/v1",
|
||||||
"kind": "Deployment",
|
"kind": "Deployment",
|
||||||
|
|||||||
@@ -7,14 +7,13 @@ import (
|
|||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
|
||||||
"sigs.k8s.io/kustomize/api/konfig"
|
"sigs.k8s.io/kustomize/api/konfig"
|
||||||
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
|
"sigs.k8s.io/kustomize/api/resource"
|
||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
"sigs.k8s.io/yaml"
|
"sigs.k8s.io/yaml"
|
||||||
)
|
)
|
||||||
|
|
||||||
var fileReader = kunstruct.NewKunstructuredFactoryImpl()
|
|
||||||
|
|
||||||
// This document is meant to be used at the elasticsearch document type.
|
// This document is meant to be used at the elasticsearch document type.
|
||||||
// Fields are serialized as-is to elasticsearch, where indices are built
|
// Fields are serialized as-is to elasticsearch, where indices are built
|
||||||
// to facilitate text search queries. Identifiers, Values, FilePath,
|
// to facilitate text search queries. Identifiers, Values, FilePath,
|
||||||
@@ -42,6 +41,7 @@ type KustomizationDocument struct {
|
|||||||
Kinds []string `json:"kinds,omitempty"`
|
Kinds []string `json:"kinds,omitempty"`
|
||||||
Identifiers []string `json:"identifiers,omitempty"`
|
Identifiers []string `json:"identifiers,omitempty"`
|
||||||
Values []string `json:"values,omitempty"`
|
Values []string `json:"values,omitempty"`
|
||||||
|
resFactory *resource.Factory
|
||||||
}
|
}
|
||||||
|
|
||||||
type set map[string]struct{}
|
type set map[string]struct{}
|
||||||
@@ -52,6 +52,7 @@ func (doc *KustomizationDocument) Copy() *KustomizationDocument {
|
|||||||
Kinds: doc.Kinds,
|
Kinds: doc.Kinds,
|
||||||
Identifiers: doc.Identifiers,
|
Identifiers: doc.Identifiers,
|
||||||
Values: doc.Values,
|
Values: doc.Values,
|
||||||
|
resFactory: provider.NewDefaultDepProvider().GetResourceFactory(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,7 +151,7 @@ func (doc *KustomizationDocument) readBytes() ([]map[string]interface{}, error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
configs := make([]map[string]interface{}, 0)
|
configs := make([]map[string]interface{}, 0)
|
||||||
ks, err := fileReader.SliceFromBytes(data)
|
ks, err := doc.resFactory.SliceFromBytes(data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("unable to parse resource: %v", err)
|
return nil, fmt.Errorf("unable to parse resource: %v", err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,12 +13,10 @@ import (
|
|||||||
. "sigs.k8s.io/kustomize/api/internal/plugins/execplugin"
|
. "sigs.k8s.io/kustomize/api/internal/plugins/execplugin"
|
||||||
pLdr "sigs.k8s.io/kustomize/api/internal/plugins/loader"
|
pLdr "sigs.k8s.io/kustomize/api/internal/plugins/loader"
|
||||||
"sigs.k8s.io/kustomize/api/internal/plugins/utils"
|
"sigs.k8s.io/kustomize/api/internal/plugins/utils"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
|
||||||
"sigs.k8s.io/kustomize/api/konfig"
|
"sigs.k8s.io/kustomize/api/konfig"
|
||||||
fLdr "sigs.k8s.io/kustomize/api/loader"
|
fLdr "sigs.k8s.io/kustomize/api/loader"
|
||||||
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
|
||||||
valtest_test "sigs.k8s.io/kustomize/api/testutils/valtest"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestExecPluginConfig(t *testing.T) {
|
func TestExecPluginConfig(t *testing.T) {
|
||||||
@@ -33,10 +31,8 @@ s/$BAR/bar baz/g
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
rf := resmap.NewFactory(
|
pvd := provider.NewDefaultDepProvider()
|
||||||
resource.NewFactory(
|
rf := resmap.NewFactory(pvd.GetResourceFactory(), pvd.GetMerginator())
|
||||||
kunstruct.NewKunstructuredFactoryImpl()), nil)
|
|
||||||
v := valtest_test.MakeFakeValidator()
|
|
||||||
pluginConfig := rf.RF().FromMap(
|
pluginConfig := rf.RF().FromMap(
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"apiVersion": "someteam.example.com/v1",
|
"apiVersion": "someteam.example.com/v1",
|
||||||
@@ -62,7 +58,7 @@ s/$BAR/bar baz/g
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected err: %v", err)
|
t.Fatalf("unexpected err: %v", err)
|
||||||
}
|
}
|
||||||
p.Config(resmap.NewPluginHelpers(ldr, v, rf), yaml)
|
p.Config(resmap.NewPluginHelpers(ldr, pvd.GetFieldValidator(), rf), yaml)
|
||||||
|
|
||||||
expected := "someteam.example.com/v1/sedtransformer/SedTransformer"
|
expected := "someteam.example.com/v1/sedtransformer/SedTransformer"
|
||||||
if !strings.HasSuffix(p.Path(), expected) {
|
if !strings.HasSuffix(p.Path(), expected) {
|
||||||
|
|||||||
@@ -8,11 +8,10 @@ import (
|
|||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
. "sigs.k8s.io/kustomize/api/internal/plugins/loader"
|
. "sigs.k8s.io/kustomize/api/internal/plugins/loader"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
|
||||||
"sigs.k8s.io/kustomize/api/konfig"
|
"sigs.k8s.io/kustomize/api/konfig"
|
||||||
"sigs.k8s.io/kustomize/api/loader"
|
"sigs.k8s.io/kustomize/api/loader"
|
||||||
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
|
||||||
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
|
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
|
||||||
valtest_test "sigs.k8s.io/kustomize/api/testutils/valtest"
|
valtest_test "sigs.k8s.io/kustomize/api/testutils/valtest"
|
||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
@@ -51,8 +50,8 @@ func TestLoader(t *testing.T) {
|
|||||||
BuildGoPlugin("builtin", "", "SecretGenerator").
|
BuildGoPlugin("builtin", "", "SecretGenerator").
|
||||||
BuildGoPlugin("someteam.example.com", "v1", "SomeServiceGenerator")
|
BuildGoPlugin("someteam.example.com", "v1", "SomeServiceGenerator")
|
||||||
defer th.Reset()
|
defer th.Reset()
|
||||||
rmF := resmap.NewFactory(resource.NewFactory(
|
p := provider.NewDefaultDepProvider()
|
||||||
kunstruct.NewKunstructuredFactoryImpl()), nil)
|
rmF := resmap.NewFactory(p.GetResourceFactory(), p.GetMerginator())
|
||||||
fLdr, err := loader.NewLoader(
|
fLdr, err := loader.NewLoader(
|
||||||
loader.RestrictionRootOnly,
|
loader.RestrictionRootOnly,
|
||||||
filesys.Separator, filesys.MakeFsInMemory())
|
filesys.Separator, filesys.MakeFsInMemory())
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
|
||||||
"sigs.k8s.io/kustomize/api/konfig"
|
"sigs.k8s.io/kustomize/api/konfig"
|
||||||
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
"sigs.k8s.io/kustomize/api/resource"
|
||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
@@ -64,7 +64,7 @@ func strptr(s string) *string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestUpdateResourceOptions(t *testing.T) {
|
func TestUpdateResourceOptions(t *testing.T) {
|
||||||
rf := resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl())
|
rf := provider.NewDefaultDepProvider().GetResourceFactory()
|
||||||
in := resmap.New()
|
in := resmap.New()
|
||||||
expected := resmap.New()
|
expected := resmap.New()
|
||||||
cases := []struct {
|
cases := []struct {
|
||||||
@@ -108,7 +108,7 @@ func TestUpdateResourceOptions(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestUpdateResourceOptionsWithInvalidHashAnnotationValues(t *testing.T) {
|
func TestUpdateResourceOptionsWithInvalidHashAnnotationValues(t *testing.T) {
|
||||||
rf := resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl())
|
rf := provider.NewDefaultDepProvider().GetResourceFactory()
|
||||||
cases := []string{
|
cases := []string{
|
||||||
"",
|
"",
|
||||||
"FaLsE",
|
"FaLsE",
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import (
|
|||||||
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"sigs.k8s.io/kustomize/api/ifc"
|
"sigs.k8s.io/kustomize/api/ifc"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
"sigs.k8s.io/kustomize/api/resource"
|
||||||
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
|
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
|
||||||
@@ -76,8 +76,7 @@ commonLabels:
|
|||||||
}
|
}
|
||||||
|
|
||||||
kt := makeKustTargetWithRf(
|
kt := makeKustTargetWithRf(
|
||||||
t, th.GetFSys(), "/",
|
t, th.GetFSys(), "/", provider.NewDefaultDepProvider())
|
||||||
resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl()))
|
|
||||||
for tn, tc := range testCases {
|
for tn, tc := range testCases {
|
||||||
t.Run(tn, func(t *testing.T) {
|
t.Run(tn, func(t *testing.T) {
|
||||||
th.WriteK("/", tc.content)
|
th.WriteK("/", tc.content)
|
||||||
@@ -148,7 +147,8 @@ metadata:
|
|||||||
{"op": "add", "path": "/spec/replica", "value": "3"}
|
{"op": "add", "path": "/spec/replica", "value": "3"}
|
||||||
]`)
|
]`)
|
||||||
|
|
||||||
resFactory := resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl())
|
pvd := provider.NewDefaultDepProvider()
|
||||||
|
resFactory := pvd.GetResourceFactory()
|
||||||
|
|
||||||
resources := []*resource.Resource{
|
resources := []*resource.Resource{
|
||||||
resFactory.FromMapWithName("dply1", map[string]interface{}{
|
resFactory.FromMapWithName("dply1", map[string]interface{}{
|
||||||
@@ -244,8 +244,7 @@ metadata:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
kt := makeKustTargetWithRf(
|
kt := makeKustTargetWithRf(t, th.GetFSys(), "/whatever", pvd)
|
||||||
t, th.GetFSys(), "/whatever", resFactory)
|
|
||||||
err := kt.Load()
|
err := kt.Load()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected Resources error %v", err)
|
t.Fatalf("unexpected Resources error %v", err)
|
||||||
|
|||||||
@@ -7,14 +7,12 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/api/internal/k8sdeps/merge"
|
|
||||||
pLdr "sigs.k8s.io/kustomize/api/internal/plugins/loader"
|
pLdr "sigs.k8s.io/kustomize/api/internal/plugins/loader"
|
||||||
"sigs.k8s.io/kustomize/api/internal/target"
|
"sigs.k8s.io/kustomize/api/internal/target"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
|
||||||
"sigs.k8s.io/kustomize/api/konfig"
|
"sigs.k8s.io/kustomize/api/konfig"
|
||||||
fLdr "sigs.k8s.io/kustomize/api/loader"
|
fLdr "sigs.k8s.io/kustomize/api/loader"
|
||||||
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
|
||||||
valtest_test "sigs.k8s.io/kustomize/api/testutils/valtest"
|
valtest_test "sigs.k8s.io/kustomize/api/testutils/valtest"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -22,9 +20,7 @@ func makeAndLoadKustTarget(
|
|||||||
t *testing.T,
|
t *testing.T,
|
||||||
fSys filesys.FileSystem,
|
fSys filesys.FileSystem,
|
||||||
root string) *target.KustTarget {
|
root string) *target.KustTarget {
|
||||||
kt := makeKustTargetWithRf(
|
kt := makeKustTargetWithRf(t, fSys, root, provider.NewDefaultDepProvider())
|
||||||
t, fSys, root,
|
|
||||||
resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl()))
|
|
||||||
if err := kt.Load(); err != nil {
|
if err := kt.Load(); err != nil {
|
||||||
t.Fatalf("Unexpected load error %v", err)
|
t.Fatalf("Unexpected load error %v", err)
|
||||||
}
|
}
|
||||||
@@ -35,13 +31,12 @@ func makeKustTargetWithRf(
|
|||||||
t *testing.T,
|
t *testing.T,
|
||||||
fSys filesys.FileSystem,
|
fSys filesys.FileSystem,
|
||||||
root string,
|
root string,
|
||||||
resourceFactory *resource.Factory) *target.KustTarget {
|
pvd *provider.DepProvider) *target.KustTarget {
|
||||||
ldr, err := fLdr.NewLoader(fLdr.RestrictionRootOnly, root, fSys)
|
ldr, err := fLdr.NewLoader(fLdr.RestrictionRootOnly, root, fSys)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
rf := resmap.NewFactory(
|
rf := resmap.NewFactory(pvd.GetResourceFactory(), pvd.GetMerginator())
|
||||||
resourceFactory, merge.NewMerginator(resourceFactory))
|
|
||||||
pc := konfig.DisabledPluginConfig()
|
pc := konfig.DisabledPluginConfig()
|
||||||
return target.NewKustTarget(
|
return target.NewKustTarget(
|
||||||
ldr,
|
ldr,
|
||||||
|
|||||||
@@ -20,6 +20,10 @@ func DefaultKustomizationFileName() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
// FlagEnableKyamlDefaultValue is the default value for the --enable_kyaml
|
||||||
|
// flag. This value is also used in unit tests. See provider.DepProvider.
|
||||||
|
FlagEnableKyamlDefaultValue = false
|
||||||
|
|
||||||
// An environment variable to consult for kustomization
|
// An environment variable to consult for kustomization
|
||||||
// configuration data. See:
|
// configuration data. See:
|
||||||
// https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
// https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ import (
|
|||||||
pLdr "sigs.k8s.io/kustomize/api/internal/plugins/loader"
|
pLdr "sigs.k8s.io/kustomize/api/internal/plugins/loader"
|
||||||
"sigs.k8s.io/kustomize/api/internal/target"
|
"sigs.k8s.io/kustomize/api/internal/target"
|
||||||
"sigs.k8s.io/kustomize/api/konfig"
|
"sigs.k8s.io/kustomize/api/konfig"
|
||||||
"sigs.k8s.io/kustomize/api/krusty/internal/provider"
|
|
||||||
fLdr "sigs.k8s.io/kustomize/api/loader"
|
fLdr "sigs.k8s.io/kustomize/api/loader"
|
||||||
"sigs.k8s.io/kustomize/api/provenance"
|
"sigs.k8s.io/kustomize/api/provenance"
|
||||||
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/api/internal/wrappy"
|
"sigs.k8s.io/kustomize/api/internal/wrappy"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/validator"
|
"sigs.k8s.io/kustomize/api/k8sdeps/validator"
|
||||||
|
"sigs.k8s.io/kustomize/api/konfig"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
"sigs.k8s.io/kustomize/api/resource"
|
||||||
)
|
)
|
||||||
@@ -138,6 +139,7 @@ import (
|
|||||||
// If you're reading this, plan not done.
|
// If you're reading this, plan not done.
|
||||||
//
|
//
|
||||||
type DepProvider struct {
|
type DepProvider struct {
|
||||||
|
kFactory ifc.KunstructuredFactory
|
||||||
resourceFactory *resource.Factory
|
resourceFactory *resource.Factory
|
||||||
merginator resmap.Merginator
|
merginator resmap.Merginator
|
||||||
fieldValidator ifc.Validator
|
fieldValidator ifc.Validator
|
||||||
@@ -147,6 +149,7 @@ func makeK8sdepBasedInstances() *DepProvider {
|
|||||||
kf := kunstruct.NewKunstructuredFactoryImpl()
|
kf := kunstruct.NewKunstructuredFactoryImpl()
|
||||||
rf := resource.NewFactory(kf)
|
rf := resource.NewFactory(kf)
|
||||||
return &DepProvider{
|
return &DepProvider{
|
||||||
|
kFactory: kf,
|
||||||
resourceFactory: rf,
|
resourceFactory: rf,
|
||||||
merginator: merge.NewMerginator(rf),
|
merginator: merge.NewMerginator(rf),
|
||||||
fieldValidator: validator.NewKustValidator(),
|
fieldValidator: validator.NewKustValidator(),
|
||||||
@@ -157,6 +160,7 @@ func makeKyamlBasedInstances() *DepProvider {
|
|||||||
kf := &wrappy.WNodeFactory{}
|
kf := &wrappy.WNodeFactory{}
|
||||||
rf := resource.NewFactory(kf)
|
rf := resource.NewFactory(kf)
|
||||||
return &DepProvider{
|
return &DepProvider{
|
||||||
|
kFactory: kf,
|
||||||
resourceFactory: rf,
|
resourceFactory: rf,
|
||||||
merginator: kmerge.NewMerginator(rf),
|
merginator: kmerge.NewMerginator(rf),
|
||||||
fieldValidator: validate.NewFieldValidator(),
|
fieldValidator: validate.NewFieldValidator(),
|
||||||
@@ -170,6 +174,14 @@ func NewDepProvider(useKyaml bool) *DepProvider {
|
|||||||
return makeK8sdepBasedInstances()
|
return makeK8sdepBasedInstances()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NewDefaultDepProvider() *DepProvider {
|
||||||
|
return NewDepProvider(konfig.FlagEnableKyamlDefaultValue)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (dp *DepProvider) GetKunstructuredFactory() ifc.KunstructuredFactory {
|
||||||
|
return dp.kFactory
|
||||||
|
}
|
||||||
|
|
||||||
func (dp *DepProvider) GetResourceFactory() *resource.Factory {
|
func (dp *DepProvider) GetResourceFactory() *resource.Factory {
|
||||||
return dp.resourceFactory
|
return dp.resourceFactory
|
||||||
}
|
}
|
||||||
@@ -10,7 +10,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/api/resid"
|
"sigs.k8s.io/kustomize/api/resid"
|
||||||
. "sigs.k8s.io/kustomize/api/resmap"
|
. "sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
"sigs.k8s.io/kustomize/api/resource"
|
||||||
@@ -18,8 +18,7 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
var rf = resource.NewFactory(
|
var rf = provider.NewDefaultDepProvider().GetResourceFactory()
|
||||||
kunstruct.NewKunstructuredFactoryImpl())
|
|
||||||
var rmF = NewFactory(rf, nil)
|
var rmF = NewFactory(rf, nil)
|
||||||
|
|
||||||
func doAppend(t *testing.T, w ResMap, r *resource.Resource) {
|
func doAppend(t *testing.T, w ResMap, r *resource.Resource) {
|
||||||
|
|||||||
@@ -1,18 +1,5 @@
|
|||||||
/*
|
// Copyright 2020 The Kubernetes Authors.
|
||||||
Copyright 2018 The Kubernetes Authors.
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package resource_test
|
package resource_test
|
||||||
|
|
||||||
@@ -20,14 +7,13 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/api/resid"
|
"sigs.k8s.io/kustomize/api/resid"
|
||||||
. "sigs.k8s.io/kustomize/api/resource"
|
. "sigs.k8s.io/kustomize/api/resource"
|
||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
var factory = NewFactory(
|
var factory = provider.NewDefaultDepProvider().GetResourceFactory()
|
||||||
kunstruct.NewKunstructuredFactoryImpl())
|
|
||||||
|
|
||||||
var testConfigMap = factory.FromMap(
|
var testConfigMap = factory.FromMap(
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
|
|||||||
@@ -8,13 +8,11 @@ import (
|
|||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/api/ifc"
|
"sigs.k8s.io/kustomize/api/ifc"
|
||||||
"sigs.k8s.io/kustomize/api/internal/k8sdeps/merge"
|
|
||||||
pLdr "sigs.k8s.io/kustomize/api/internal/plugins/loader"
|
pLdr "sigs.k8s.io/kustomize/api/internal/plugins/loader"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
|
||||||
"sigs.k8s.io/kustomize/api/konfig"
|
"sigs.k8s.io/kustomize/api/konfig"
|
||||||
fLdr "sigs.k8s.io/kustomize/api/loader"
|
fLdr "sigs.k8s.io/kustomize/api/loader"
|
||||||
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
|
||||||
valtest_test "sigs.k8s.io/kustomize/api/testutils/valtest"
|
valtest_test "sigs.k8s.io/kustomize/api/testutils/valtest"
|
||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
)
|
)
|
||||||
@@ -46,11 +44,9 @@ func MakeEnhancedHarness(t *testing.T) *HarnessEnhanced {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
resourceFactory := resource.NewFactory(
|
p := provider.NewDefaultDepProvider()
|
||||||
kunstruct.NewKunstructuredFactoryImpl())
|
resourceFactory := p.GetResourceFactory()
|
||||||
resmapFactory := resmap.NewFactory(
|
resmapFactory := resmap.NewFactory(resourceFactory, p.GetMerginator())
|
||||||
resourceFactory,
|
|
||||||
merge.NewMerginator(resourceFactory))
|
|
||||||
|
|
||||||
result := &HarnessEnhanced{
|
result := &HarnessEnhanced{
|
||||||
Harness: MakeHarness(t),
|
Harness: MakeHarness(t),
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ package resmaptest_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
"sigs.k8s.io/kustomize/api/resource"
|
||||||
)
|
)
|
||||||
@@ -25,6 +26,15 @@ func NewRmBuilder(t *testing.T, rf *resource.Factory) *rmBuilder {
|
|||||||
return NewSeededRmBuilder(t, rf, resmap.New())
|
return NewSeededRmBuilder(t, rf, resmap.New())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NewRmBuilderDefault(t *testing.T) *rmBuilder {
|
||||||
|
return NewSeededRmBuilderDefault(t, resmap.New())
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewSeededRmBuilderDefault(t *testing.T, m resmap.ResMap) *rmBuilder {
|
||||||
|
return NewSeededRmBuilder(
|
||||||
|
t, provider.NewDefaultDepProvider().GetResourceFactory(), m)
|
||||||
|
}
|
||||||
|
|
||||||
func (rm *rmBuilder) Add(m map[string]interface{}) *rmBuilder {
|
func (rm *rmBuilder) Add(m map[string]interface{}) *rmBuilder {
|
||||||
return rm.AddR(rm.rf.FromMap(m))
|
return rm.AddR(rm.rf.FromMap(m))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,9 +6,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
|
||||||
"sigs.k8s.io/kustomize/kyaml/fn/framework"
|
"sigs.k8s.io/kustomize/kyaml/fn/framework"
|
||||||
"sigs.k8s.io/yaml"
|
"sigs.k8s.io/yaml"
|
||||||
)
|
)
|
||||||
@@ -16,9 +15,10 @@ import (
|
|||||||
//nolint
|
//nolint
|
||||||
func main() {
|
func main() {
|
||||||
var plugin resmap.Configurable
|
var plugin resmap.Configurable
|
||||||
resmapFactory := newResMapFactory()
|
p := provider.NewDefaultDepProvider()
|
||||||
|
resmapFactory := resmap.NewFactory(p.GetResourceFactory(), p.GetMerginator())
|
||||||
pluginHelpers := newPluginHelpers(resmapFactory)
|
pluginHelpers := resmap.NewPluginHelpers(
|
||||||
|
nil, p.GetFieldValidator(), resmapFactory)
|
||||||
|
|
||||||
resourceList := &framework.ResourceList{}
|
resourceList := &framework.ResourceList{}
|
||||||
resourceList.FunctionConfig = map[string]interface{}{}
|
resourceList.FunctionConfig = map[string]interface{}{}
|
||||||
@@ -65,17 +65,6 @@ func main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//nolint
|
|
||||||
func newPluginHelpers(resmapFactory *resmap.Factory) *resmap.PluginHelpers {
|
|
||||||
return resmap.NewPluginHelpers(nil, nil, resmapFactory)
|
|
||||||
}
|
|
||||||
|
|
||||||
//nolint
|
|
||||||
func newResMapFactory() *resmap.Factory {
|
|
||||||
resourceFactory := resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl())
|
|
||||||
return resmap.NewFactory(resourceFactory, nil)
|
|
||||||
}
|
|
||||||
|
|
||||||
//nolint
|
//nolint
|
||||||
func getDataFromFunctionConfig(fc interface{}) (interface{}, error) {
|
func getDataFromFunctionConfig(fc interface{}) (interface{}, error) {
|
||||||
f, ok := fc.(map[string]interface{})
|
f, ok := fc.(map[string]interface{})
|
||||||
|
|||||||
@@ -5,17 +5,18 @@ package build
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
|
"sigs.k8s.io/kustomize/api/konfig"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
flagEnableKyamlValue = false
|
flagEnableKyamlValue = konfig.FlagEnableKyamlDefaultValue
|
||||||
)
|
)
|
||||||
|
|
||||||
func addFlagEnableKyaml(set *pflag.FlagSet) {
|
func addFlagEnableKyaml(set *pflag.FlagSet) {
|
||||||
set.BoolVar(
|
set.BoolVar(
|
||||||
&flagEnableKyamlValue,
|
&flagEnableKyamlValue,
|
||||||
"enable_kyaml", // flag name
|
"enable_kyaml", // flag name
|
||||||
false, // default value
|
konfig.FlagEnableKyamlDefaultValue, // default value
|
||||||
"enable dependence on kyaml instead of k8sdeps.", // help
|
"enable dependence on kyaml instead of k8sdeps.", // help
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,14 +8,12 @@ import (
|
|||||||
"flag"
|
"flag"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/cmd/config/configcobra"
|
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/validator"
|
|
||||||
"sigs.k8s.io/kustomize/api/konfig"
|
"sigs.k8s.io/kustomize/api/konfig"
|
||||||
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/cmd/config/completion"
|
"sigs.k8s.io/kustomize/cmd/config/completion"
|
||||||
|
"sigs.k8s.io/kustomize/cmd/config/configcobra"
|
||||||
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/build"
|
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/build"
|
||||||
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/create"
|
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/create"
|
||||||
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/edit"
|
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/edit"
|
||||||
@@ -36,13 +34,13 @@ Manages declarative configuration of Kubernetes.
|
|||||||
See https://sigs.k8s.io/kustomize
|
See https://sigs.k8s.io/kustomize
|
||||||
`,
|
`,
|
||||||
}
|
}
|
||||||
uf := kunstruct.NewKunstructuredFactoryImpl()
|
pvd := provider.NewDefaultDepProvider()
|
||||||
v := validator.NewKustValidator()
|
|
||||||
c.AddCommand(
|
c.AddCommand(
|
||||||
completion.NewCommand(),
|
completion.NewCommand(),
|
||||||
build.NewCmdBuild(stdOut),
|
build.NewCmdBuild(stdOut),
|
||||||
edit.NewCmdEdit(fSys, v, uf),
|
edit.NewCmdEdit(
|
||||||
create.NewCmdCreate(fSys, uf),
|
fSys, pvd.GetFieldValidator(), pvd.GetKunstructuredFactory()),
|
||||||
|
create.NewCmdCreate(fSys, pvd.GetKunstructuredFactory()),
|
||||||
version.NewCmdVersion(stdOut),
|
version.NewCmdVersion(stdOut),
|
||||||
openapi.NewCmdOpenAPI(stdOut),
|
openapi.NewCmdOpenAPI(stdOut),
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -8,12 +8,12 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/api/provider"
|
||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/kustfile"
|
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/kustfile"
|
||||||
)
|
)
|
||||||
|
|
||||||
var factory = kunstruct.NewKunstructuredFactoryImpl()
|
var factory = provider.NewDefaultDepProvider().GetKunstructuredFactory()
|
||||||
|
|
||||||
func readKustomizationFS(t *testing.T, fSys filesys.FileSystem) *types.Kustomization {
|
func readKustomizationFS(t *testing.T, fSys filesys.FileSystem) *types.Kustomization {
|
||||||
kf, err := kustfile.NewKustomizationFile(fSys)
|
kf, err := kustfile.NewKustomizationFile(fSys)
|
||||||
|
|||||||
Reference in New Issue
Block a user