diff --git a/pkg/transformers/labelsandannotations_test.go b/pkg/transformers/labelsandannotations_test.go index 544d2ef89..d50a721fa 100644 --- a/pkg/transformers/labelsandannotations_test.go +++ b/pkg/transformers/labelsandannotations_test.go @@ -34,6 +34,7 @@ var foo = schema.GroupVersionKind{Group: "example.com", Version: "v1", Kind: "Fo var crd = schema.GroupVersionKind{Group: "apiwctensions.k8s.io", Version: "v1beta1", Kind: "CustomResourceDefinition"} var job = schema.GroupVersionKind{Group: "batch", Version: "v1", Kind: "Job"} var cronjob = schema.GroupVersionKind{Group: "batch", Version: "v1beta1", Kind: "CronJob"} +var pvc = schema.GroupVersionKind{Version: "v1", Kind: "PersistentVolumeClaim"} func TestLabelsRun(t *testing.T) { m := resmap.ResMap{ diff --git a/pkg/transformers/namereference_test.go b/pkg/transformers/namereference_test.go index 98f6e9fea..572d8c49c 100644 --- a/pkg/transformers/namereference_test.go +++ b/pkg/transformers/namereference_test.go @@ -43,6 +43,14 @@ func TestNameReferenceRun(t *testing.T) { "name": "someprefix-secret1-somehash", }, }), + resource.NewResId(pvc, "claim1"): resource.NewResourceFromMap( + map[string]interface{}{ + "apiVersion": "v1", + "kind": "PersistentVolumeClaim", + "metadata": map[string]interface{}{ + "name": "someprefix-claim1", + }, + }), resource.NewResId(deploy, "deploy1"): resource.NewResourceFromMap( map[string]interface{}{ "group": "apps", @@ -106,6 +114,9 @@ func TestNameReferenceRun(t *testing.T) { "secret": map[string]interface{}{ "secretName": "secret1", }, + "persistentVolumeClaim": map[string]interface{}{ + "claimName": "claim1", + }, }, }, }, @@ -130,6 +141,14 @@ func TestNameReferenceRun(t *testing.T) { "name": "someprefix-secret1-somehash", }, }), + resource.NewResId(pvc, "claim1"): resource.NewResourceFromMap( + map[string]interface{}{ + "apiVersion": "v1", + "kind": "PersistentVolumeClaim", + "metadata": map[string]interface{}{ + "name": "someprefix-claim1", + }, + }), resource.NewResId(deploy, "deploy1"): resource.NewResourceFromMap( map[string]interface{}{ "group": "apps", @@ -193,6 +212,9 @@ func TestNameReferenceRun(t *testing.T) { "secret": map[string]interface{}{ "secretName": "someprefix-secret1-somehash", }, + "persistentVolumeClaim": map[string]interface{}{ + "claimName": "someprefix-claim1", + }, }, }, }, diff --git a/pkg/transformers/namereferenceconfig.go b/pkg/transformers/namereferenceconfig.go index b34380b93..1101b1262 100644 --- a/pkg/transformers/namereferenceconfig.go +++ b/pkg/transformers/namereferenceconfig.go @@ -789,6 +789,63 @@ var defaultNameReferencePathConfigs = []ReferencePathConfig{ }, }, }, + { + referencedGVK: schema.GroupVersionKind{ + Version: "v1", + Kind: "PersistentVolumeClaim", + }, + pathConfigs: []PathConfig{ + { + GroupVersionKind: &schema.GroupVersionKind{ + Kind: "Pod", + }, + Path: []string{"spec", "volumes", "persistentVolumeClaim", "claimName"}, + CreateIfNotPresent: false, + }, + { + GroupVersionKind: &schema.GroupVersionKind{ + Kind: "StatefulSet", + }, + Path: []string{"spec", "template", "spec", "volumes", "persistentVolumeClaim", "claimName"}, + CreateIfNotPresent: false, + }, + { + GroupVersionKind: &schema.GroupVersionKind{ + Kind: "Deployment", + }, + Path: []string{"spec", "template", "spec", "volumes", "persistentVolumeClaim", "claimName"}, + CreateIfNotPresent: false, + }, + { + GroupVersionKind: &schema.GroupVersionKind{ + Kind: "ReplicationController", + }, + Path: []string{"spec", "template", "spec", "volumes", "persistentVolumeClaim", "claimName"}, + CreateIfNotPresent: false, + }, + { + GroupVersionKind: &schema.GroupVersionKind{ + Kind: "CronJob", + }, + Path: []string{"spec", "jobTemplate", "spec", "template", "spec", "volumes", "persistentVolumeClaim", "claimName"}, + CreateIfNotPresent: false, + }, + { + GroupVersionKind: &schema.GroupVersionKind{ + Kind: "Job", + }, + Path: []string{"spec", "template", "spec", "volumes", "persistentVolumeClaim", "claimName"}, + CreateIfNotPresent: false, + }, + { + GroupVersionKind: &schema.GroupVersionKind{ + Kind: "DaemonSet", + }, + Path: []string{"spec", "template", "spec", "volumes", "persistentVolumeClaim", "claimName"}, + CreateIfNotPresent: false, + }, + }, + }, } // AddNameReferencePathConfigs adds extra reference path configs to the default one