mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-12 17:34:21 +00:00
Skip adding nameprefix for CRD
This commit is contained in:
@@ -31,6 +31,7 @@ var cmap = schema.GroupVersionKind{Version: "v1", Kind: "ConfigMap"}
|
|||||||
var deploy = schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "Deployment"}
|
var deploy = schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "Deployment"}
|
||||||
var statefulset = schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "StatefulSet"}
|
var statefulset = schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "StatefulSet"}
|
||||||
var foo = schema.GroupVersionKind{Group: "example.com", Version: "v1", Kind: "Foo"}
|
var foo = schema.GroupVersionKind{Group: "example.com", Version: "v1", Kind: "Foo"}
|
||||||
|
var crd = schema.GroupVersionKind{Group: "apiwctensions.k8s.io", Version: "v1beta1", Kind: "CustomResourceDefinition"}
|
||||||
|
|
||||||
func TestLabelsRun(t *testing.T) {
|
func TestLabelsRun(t *testing.T) {
|
||||||
m := resmap.ResMap{
|
m := resmap.ResMap{
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/kubernetes-sigs/kustomize/pkg/resmap"
|
"github.com/kubernetes-sigs/kustomize/pkg/resmap"
|
||||||
|
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// namePrefixTransformer contains the prefix and the path config for each field that
|
// namePrefixTransformer contains the prefix and the path config for each field that
|
||||||
@@ -28,6 +30,7 @@ import (
|
|||||||
type namePrefixTransformer struct {
|
type namePrefixTransformer struct {
|
||||||
prefix string
|
prefix string
|
||||||
pathConfigs []PathConfig
|
pathConfigs []PathConfig
|
||||||
|
skipPathConfigs []PathConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ Transformer = &namePrefixTransformer{}
|
var _ Transformer = &namePrefixTransformer{}
|
||||||
@@ -39,6 +42,12 @@ var defaultNamePrefixPathConfigs = []PathConfig{
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var skipNamePrefixPathConfigs = []PathConfig{
|
||||||
|
{
|
||||||
|
GroupVersionKind: &schema.GroupVersionKind{Kind: "CustomResourceDefinition"},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
// NewDefaultingNamePrefixTransformer construct a namePrefixTransformer with defaultNamePrefixPathConfigs.
|
// NewDefaultingNamePrefixTransformer construct a namePrefixTransformer with defaultNamePrefixPathConfigs.
|
||||||
func NewDefaultingNamePrefixTransformer(nameprefix string) (Transformer, error) {
|
func NewDefaultingNamePrefixTransformer(nameprefix string) (Transformer, error) {
|
||||||
return NewNamePrefixTransformer(defaultNamePrefixPathConfigs, nameprefix)
|
return NewNamePrefixTransformer(defaultNamePrefixPathConfigs, nameprefix)
|
||||||
@@ -52,13 +61,25 @@ func NewNamePrefixTransformer(pc []PathConfig, np string) (Transformer, error) {
|
|||||||
if pc == nil {
|
if pc == nil {
|
||||||
return nil, errors.New("pathConfigs is not expected to be nil")
|
return nil, errors.New("pathConfigs is not expected to be nil")
|
||||||
}
|
}
|
||||||
return &namePrefixTransformer{pathConfigs: pc, prefix: np}, nil
|
return &namePrefixTransformer{pathConfigs: pc, prefix: np, skipPathConfigs: skipNamePrefixPathConfigs}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Transform prepends the name prefix.
|
// Transform prepends the name prefix.
|
||||||
func (o *namePrefixTransformer) Transform(m resmap.ResMap) error {
|
func (o *namePrefixTransformer) Transform(m resmap.ResMap) error {
|
||||||
|
mf := resmap.ResMap{}
|
||||||
|
|
||||||
for id := range m {
|
for id := range m {
|
||||||
objMap := m[id].UnstructuredContent()
|
mf[id] = m[id]
|
||||||
|
for _, path := range o.skipPathConfigs {
|
||||||
|
if selectByGVK(id.Gvk(), path.GroupVersionKind) {
|
||||||
|
delete(mf, id)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for id := range mf {
|
||||||
|
objMap := mf[id].UnstructuredContent()
|
||||||
for _, path := range o.pathConfigs {
|
for _, path := range o.pathConfigs {
|
||||||
if !selectByGVK(id.Gvk(), path.GroupVersionKind) {
|
if !selectByGVK(id.Gvk(), path.GroupVersionKind) {
|
||||||
continue
|
continue
|
||||||
|
|||||||
@@ -42,6 +42,14 @@ func TestPrefixNameRun(t *testing.T) {
|
|||||||
"name": "cm2",
|
"name": "cm2",
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
resource.NewResId(crd, "crd"): resource.NewResourceFromMap(
|
||||||
|
map[string]interface{}{
|
||||||
|
"apiVersion": "apiextensions.k8s.io/v1beta1",
|
||||||
|
"kind": "CustomResourceDefinition",
|
||||||
|
"metadata": map[string]interface{}{
|
||||||
|
"name": "crd",
|
||||||
|
},
|
||||||
|
}),
|
||||||
}
|
}
|
||||||
expected := resmap.ResMap{
|
expected := resmap.ResMap{
|
||||||
resource.NewResId(cmap, "cm1"): resource.NewResourceFromMap(
|
resource.NewResId(cmap, "cm1"): resource.NewResourceFromMap(
|
||||||
@@ -60,6 +68,14 @@ func TestPrefixNameRun(t *testing.T) {
|
|||||||
"name": "someprefix-cm2",
|
"name": "someprefix-cm2",
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
resource.NewResId(crd, "crd"): resource.NewResourceFromMap(
|
||||||
|
map[string]interface{}{
|
||||||
|
"apiVersion": "apiextensions.k8s.io/v1beta1",
|
||||||
|
"kind": "CustomResourceDefinition",
|
||||||
|
"metadata": map[string]interface{}{
|
||||||
|
"name": "crd",
|
||||||
|
},
|
||||||
|
}),
|
||||||
}
|
}
|
||||||
|
|
||||||
npt, err := NewDefaultingNamePrefixTransformer("someprefix-")
|
npt, err := NewDefaultingNamePrefixTransformer("someprefix-")
|
||||||
|
|||||||
Reference in New Issue
Block a user