diff --git a/pkg/app/application_test.go b/pkg/app/application_test.go index cb925930a..39a8d9f9a 100644 --- a/pkg/app/application_test.go +++ b/pkg/app/application_test.go @@ -142,7 +142,7 @@ func TestResources1(t *testing.T) { "DB_USERNAME": "admin", "DB_PASSWORD": "somepw", }, - }), + }).SetBehavior(resource.BehaviorCreate), resource.NewResId(secret, "secret"): resource.NewResourceFromMap( map[string]interface{}{ "apiVersion": "v1", @@ -163,7 +163,7 @@ func TestResources1(t *testing.T) { "DB_USERNAME": base64.StdEncoding.EncodeToString([]byte("admin")), "DB_PASSWORD": base64.StdEncoding.EncodeToString([]byte("somepw")), }, - }), + }).SetBehavior(resource.BehaviorCreate), resource.NewResId(ns, "ns1"): resource.NewResourceFromMap( map[string]interface{}{ "apiVersion": "v1", diff --git a/pkg/commands/testdata/testcase-crds/expected.diff b/pkg/commands/testdata/testcase-crds/expected.diff index d9b86c274..ed2cf5559 100644 --- a/pkg/commands/testdata/testcase-crds/expected.diff +++ b/pkg/commands/testdata/testcase-crds/expected.diff @@ -12,8 +12,8 @@ diff -u -N /tmp/noop/jingfang.example.com_v1beta1_MyKind_mykind.yaml /tmp/transf - name: bee + name: test-bee secretRef: -- name: crdsecret-m5ht5thcb4 -+ name: test-crdsecret-m48btmkck5 +- name: crdsecret ++ name: test-crdsecret diff -u -N /tmp/noop/v1beta1_Bee_bee.yaml /tmp/transformed/v1beta1_Bee_bee.yaml --- /tmp/noop/v1beta1_Bee_bee.yaml YYYY-MM-DD HH:MM:SS +++ /tmp/transformed/v1beta1_Bee_bee.yaml YYYY-MM-DD HH:MM:SS @@ -32,5 +32,5 @@ diff -u -N /tmp/noop/v1_Secret_crdsecret.yaml /tmp/transformed/v1_Secret_crdsecr PATH: YmJiYmJiYmIK kind: Secret metadata: -- name: crdsecret-m5ht5thcb4 -+ name: test-crdsecret-m48btmkck5 +- name: crdsecret ++ name: test-crdsecret diff --git a/pkg/commands/testdata/testcase-crds/expected.yaml b/pkg/commands/testdata/testcase-crds/expected.yaml index 57d48cc85..3485e6556 100644 --- a/pkg/commands/testdata/testcase-crds/expected.yaml +++ b/pkg/commands/testdata/testcase-crds/expected.yaml @@ -3,7 +3,7 @@ data: PATH: YmJiYmJiYmIK kind: Secret metadata: - name: test-crdsecret-m48btmkck5 + name: test-crdsecret --- apiVersion: v1beta1 kind: Bee @@ -20,4 +20,4 @@ spec: beeRef: name: test-bee secretRef: - name: test-crdsecret-m48btmkck5 + name: test-crdsecret diff --git a/pkg/resmap/configmap_test.go b/pkg/resmap/configmap_test.go index 535caac72..6e574409c 100644 --- a/pkg/resmap/configmap_test.go +++ b/pkg/resmap/configmap_test.go @@ -64,7 +64,7 @@ func TestNewFromConfigMaps(t *testing.T) { "DB_USERNAME": "admin", "DB_PASSWORD": "somepw", }, - }), + }).SetBehavior(resource.BehaviorCreate), }, }, { @@ -92,7 +92,7 @@ func TestNewFromConfigMaps(t *testing.T) { BAR=baz `, }, - }), + }).SetBehavior(resource.BehaviorCreate), }, }, { @@ -118,7 +118,7 @@ BAR=baz "a": "x", "b": "y", }, - }), + }).SetBehavior(resource.BehaviorCreate), }, }, // TODO: add testcase for data coming from multiple sources like diff --git a/pkg/resmap/secret_test.go b/pkg/resmap/secret_test.go index f9ad38296..38322a291 100644 --- a/pkg/resmap/secret_test.go +++ b/pkg/resmap/secret_test.go @@ -60,7 +60,7 @@ func TestNewResMapFromSecretArgs(t *testing.T) { "DB_USERNAME": base64.StdEncoding.EncodeToString([]byte("admin")), "DB_PASSWORD": base64.StdEncoding.EncodeToString([]byte("somepw")), }, - }), + }).SetBehavior(resource.BehaviorCreate), } if !reflect.DeepEqual(actual, expected) { t.Fatalf("%#v\ndoesn't match expected:\n%#v", actual, expected) diff --git a/pkg/resource/generationbehavior.go b/pkg/resource/generationbehavior.go index 943537a51..993cde82c 100644 --- a/pkg/resource/generationbehavior.go +++ b/pkg/resource/generationbehavior.go @@ -54,6 +54,7 @@ func NewGenerationBehavior(s string) GenerationBehavior { case "create": return BehaviorCreate default: - return BehaviorUnspecified + //return BehaviorUnspecified + return BehaviorCreate } } diff --git a/pkg/resource/resource.go b/pkg/resource/resource.go index cdd8ec622..389fb6658 100644 --- a/pkg/resource/resource.go +++ b/pkg/resource/resource.go @@ -62,8 +62,14 @@ func (r *Resource) Behavior() GenerationBehavior { } // SetBehavior changes the resource to the new behavior -func (r *Resource) SetBehavior(b GenerationBehavior) { +func (r *Resource) SetBehavior(b GenerationBehavior) *Resource { r.b = b + return r +} + +// IsGenerated checks if the resource is generated from a generator +func (r *Resource) IsGenerated() bool { + return r.b != BehaviorUnspecified } // Id returns the ResId for the resource. diff --git a/pkg/transformers/namehash.go b/pkg/transformers/namehash.go index 732ebae14..584b83ef9 100644 --- a/pkg/transformers/namehash.go +++ b/pkg/transformers/namehash.go @@ -41,17 +41,19 @@ func NewNameHashTransformer() Transformer { // Transform appends hash to configmaps and secrets. func (o *nameHashTransformer) Transform(m resmap.ResMap) error { for id, res := range m { - switch { - case selectByGVK(id.Gvk(), &schema.GroupVersionKind{Version: "v1", Kind: "ConfigMap"}): - err := appendHashForConfigMap(res) - if err != nil { - return err - } + if res.IsGenerated() { + switch { + case selectByGVK(id.Gvk(), &schema.GroupVersionKind{Version: "v1", Kind: "ConfigMap"}): + err := appendHashForConfigMap(res) + if err != nil { + return err + } - case selectByGVK(id.Gvk(), &schema.GroupVersionKind{Version: "v1", Kind: "Secret"}): - err := appendHashForSecret(res) - if err != nil { - return err + case selectByGVK(id.Gvk(), &schema.GroupVersionKind{Version: "v1", Kind: "Secret"}): + err := appendHashForSecret(res) + if err != nil { + return err + } } } } diff --git a/pkg/transformers/namehash_test.go b/pkg/transformers/namehash_test.go index 706aaac44..087869c32 100644 --- a/pkg/transformers/namehash_test.go +++ b/pkg/transformers/namehash_test.go @@ -83,7 +83,7 @@ func TestNameHashTransformer(t *testing.T) { "metadata": map[string]interface{}{ "name": "secret1", }, - }), + }).SetBehavior(resource.BehaviorCreate), } expected := resmap.ResMap{ @@ -92,7 +92,7 @@ func TestNameHashTransformer(t *testing.T) { "apiVersion": "v1", "kind": "ConfigMap", "metadata": map[string]interface{}{ - "name": "cm1-m462kdfb68", + "name": "cm1", }, }), resource.NewResId(deploy, "deploy1"): resource.NewResourceFromMap( @@ -144,7 +144,7 @@ func TestNameHashTransformer(t *testing.T) { "metadata": map[string]interface{}{ "name": "secret1-7kc45hd5f7", }, - }), + }).SetBehavior(resource.BehaviorCreate), } tran := NewNameHashTransformer()