mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-11 17:12:51 +00:00
Merge pull request #515 from kubernetes-sigs/revert-500-namespace
Revert "create namespace resource if not found"
This commit is contained in:
@@ -275,7 +275,7 @@ func (kt *KustTarget) newTransformer(patches []*resource.Resource) (transformers
|
|||||||
}
|
}
|
||||||
r = append(r, t)
|
r = append(r, t)
|
||||||
r = append(r, transformers.NewNamespaceTransformer(
|
r = append(r, transformers.NewNamespaceTransformer(
|
||||||
string(kt.kustomization.Namespace), kt.tcfg.NameSpace, kt.rf.RF()))
|
string(kt.kustomization.Namespace), kt.tcfg.NameSpace))
|
||||||
t, err = transformers.NewNamePrefixTransformer(
|
t, err = transformers.NewNamePrefixTransformer(
|
||||||
string(kt.kustomization.NamePrefix), kt.tcfg.NamePrefix)
|
string(kt.kustomization.NamePrefix), kt.tcfg.NamePrefix)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -18,9 +18,7 @@ package transformers
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"sigs.k8s.io/kustomize/pkg/gvk"
|
"sigs.k8s.io/kustomize/pkg/gvk"
|
||||||
"sigs.k8s.io/kustomize/pkg/resid"
|
|
||||||
"sigs.k8s.io/kustomize/pkg/resmap"
|
"sigs.k8s.io/kustomize/pkg/resmap"
|
||||||
"sigs.k8s.io/kustomize/pkg/resource"
|
|
||||||
"sigs.k8s.io/kustomize/pkg/transformers/config"
|
"sigs.k8s.io/kustomize/pkg/transformers/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -28,13 +26,12 @@ type namespaceTransformer struct {
|
|||||||
namespace string
|
namespace string
|
||||||
fieldSpecsToUse []config.FieldSpec
|
fieldSpecsToUse []config.FieldSpec
|
||||||
fieldSpecsToSkip []config.FieldSpec
|
fieldSpecsToSkip []config.FieldSpec
|
||||||
factory *resource.Factory
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ Transformer = &namespaceTransformer{}
|
var _ Transformer = &namespaceTransformer{}
|
||||||
|
|
||||||
// NewNamespaceTransformer construct a namespaceTransformer.
|
// NewNamespaceTransformer construct a namespaceTransformer.
|
||||||
func NewNamespaceTransformer(ns string, cf []config.FieldSpec, f *resource.Factory) Transformer {
|
func NewNamespaceTransformer(ns string, cf []config.FieldSpec) Transformer {
|
||||||
if len(ns) == 0 {
|
if len(ns) == 0 {
|
||||||
return NewNoOpTransformer()
|
return NewNoOpTransformer()
|
||||||
}
|
}
|
||||||
@@ -46,13 +43,11 @@ func NewNamespaceTransformer(ns string, cf []config.FieldSpec, f *resource.Facto
|
|||||||
namespace: ns,
|
namespace: ns,
|
||||||
fieldSpecsToUse: cf,
|
fieldSpecsToUse: cf,
|
||||||
fieldSpecsToSkip: skip,
|
fieldSpecsToSkip: skip,
|
||||||
factory: f,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Transform adds the namespace.
|
// Transform adds the namespace.
|
||||||
func (o *namespaceTransformer) Transform(m resmap.ResMap) error {
|
func (o *namespaceTransformer) Transform(m resmap.ResMap) error {
|
||||||
o.createNamespaceIfNotFound(m)
|
|
||||||
mf := resmap.ResMap{}
|
mf := resmap.ResMap{}
|
||||||
|
|
||||||
for id := range m {
|
for id := range m {
|
||||||
@@ -124,22 +119,3 @@ func (o *namespaceTransformer) updateClusterRoleBinding(m resmap.ResMap) {
|
|||||||
objMap["subjects"] = subjects
|
objMap["subjects"] = subjects
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *namespaceTransformer) createNamespaceIfNotFound(m resmap.ResMap) {
|
|
||||||
id := resid.NewResId(gvk.Gvk{
|
|
||||||
Version: "v1",
|
|
||||||
Kind: "Namespace",
|
|
||||||
}, o.namespace)
|
|
||||||
ids := m.FindByGVKN(id)
|
|
||||||
if len(ids) == 0 {
|
|
||||||
m[id] = o.factory.FromMap(
|
|
||||||
map[string]interface{}{
|
|
||||||
"apiVersion": "v1",
|
|
||||||
"kind": "Namespace",
|
|
||||||
"metadata": map[string]interface{}{
|
|
||||||
"name": o.namespace,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -47,12 +47,12 @@ func TestNamespaceRun(t *testing.T) {
|
|||||||
"namespace": "foo",
|
"namespace": "foo",
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
resid.NewResId(ns, "test"): rf.FromMap(
|
resid.NewResId(ns, "ns1"): rf.FromMap(
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"apiVersion": "v1",
|
"apiVersion": "v1",
|
||||||
"kind": "Namespace",
|
"kind": "Namespace",
|
||||||
"metadata": map[string]interface{}{
|
"metadata": map[string]interface{}{
|
||||||
"name": "test",
|
"name": "ns1",
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
resid.NewResId(sa, "default"): rf.FromMap(
|
resid.NewResId(sa, "default"): rf.FromMap(
|
||||||
@@ -108,12 +108,12 @@ func TestNamespaceRun(t *testing.T) {
|
|||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
expected := resmap.ResMap{
|
expected := resmap.ResMap{
|
||||||
resid.NewResIdWithPrefixNamespace(ns, "test", "", ""): rf.FromMap(
|
resid.NewResIdWithPrefixNamespace(ns, "ns1", "", ""): rf.FromMap(
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"apiVersion": "v1",
|
"apiVersion": "v1",
|
||||||
"kind": "Namespace",
|
"kind": "Namespace",
|
||||||
"metadata": map[string]interface{}{
|
"metadata": map[string]interface{}{
|
||||||
"name": "test",
|
"name": "ns1",
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
resid.NewResIdWithPrefixNamespace(cmap, "cm1", "", "test"): rf.FromMap(
|
resid.NewResIdWithPrefixNamespace(cmap, "cm1", "", "test"): rf.FromMap(
|
||||||
@@ -187,7 +187,7 @@ func TestNamespaceRun(t *testing.T) {
|
|||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
|
|
||||||
nst := NewNamespaceTransformer("test", defaultTransformerConfig.NameSpace, rf)
|
nst := NewNamespaceTransformer("test", defaultTransformerConfig.NameSpace)
|
||||||
err := nst.Transform(m)
|
err := nst.Transform(m)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
@@ -243,7 +243,7 @@ func TestNamespaceRunForClusterLevelKind(t *testing.T) {
|
|||||||
|
|
||||||
expected := m.DeepCopy(rf)
|
expected := m.DeepCopy(rf)
|
||||||
|
|
||||||
nst := NewNamespaceTransformer("ns1", defaultTransformerConfig.NameSpace, rf)
|
nst := NewNamespaceTransformer("test", defaultTransformerConfig.NameSpace)
|
||||||
|
|
||||||
err := nst.Transform(m)
|
err := nst.Transform(m)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -254,30 +254,3 @@ func TestNamespaceRunForClusterLevelKind(t *testing.T) {
|
|||||||
t.Fatalf("actual doesn't match expected: %v", err)
|
t.Fatalf("actual doesn't match expected: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNamespaceNotFound(t *testing.T) {
|
|
||||||
rf := resource.NewFactory(
|
|
||||||
kunstruct.NewKunstructuredFactoryImpl())
|
|
||||||
|
|
||||||
m := resmap.ResMap{}
|
|
||||||
expected := resmap.ResMap{
|
|
||||||
resid.NewResId(ns, "test"): rf.FromMap(
|
|
||||||
map[string]interface{}{
|
|
||||||
"apiVersion": "v1",
|
|
||||||
"kind": "Namespace",
|
|
||||||
"metadata": map[string]interface{}{
|
|
||||||
"name": "test",
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
}
|
|
||||||
|
|
||||||
nst := NewNamespaceTransformer("test", defaultTransformerConfig.NameSpace, rf)
|
|
||||||
err := nst.Transform(m)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
if !reflect.DeepEqual(m, expected) {
|
|
||||||
err = expected.ErrorIfNotEqual(m)
|
|
||||||
t.Fatalf("actual doesn't match expected: %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user