Add hash interface

This commit is contained in:
Jingfang Liu
2018-10-05 13:29:06 -07:00
parent 489f6e2e67
commit 5036a12a65
11 changed files with 45 additions and 27 deletions

View File

@@ -19,27 +19,29 @@ package transformers
import (
"fmt"
"sigs.k8s.io/kustomize/pkg/hash"
"sigs.k8s.io/kustomize/pkg/ifc"
"sigs.k8s.io/kustomize/pkg/resmap"
"sigs.k8s.io/kustomize/pkg/resource"
)
// nameHashTransformer contains the prefix and the path config for each field that
// the name prefix will be applied.
type nameHashTransformer struct{}
type nameHashTransformer struct {
hash ifc.Hash
}
var _ Transformer = &nameHashTransformer{}
// NewNameHashTransformer construct a nameHashTransformer.
func NewNameHashTransformer() Transformer {
return &nameHashTransformer{}
func NewNameHashTransformer(h ifc.Hash) Transformer {
return &nameHashTransformer{hash: h}
}
// Transform appends hash to configmaps and secrets.
func (o *nameHashTransformer) Transform(m resmap.ResMap) error {
for _, res := range m {
if res.IsGenerated() {
err := appendHash(res)
err := o.appendHash(res)
if err != nil {
return err
}
@@ -48,8 +50,8 @@ func (o *nameHashTransformer) Transform(m resmap.ResMap) error {
return nil
}
func appendHash(res *resource.Resource) error {
h, err := hash.Hash(res.Object)
func (o *nameHashTransformer) appendHash(res *resource.Resource) error {
h, err := o.hash.Hash(res.Object)
if err != nil {
return err
}

View File

@@ -20,6 +20,7 @@ import (
"reflect"
"testing"
"sigs.k8s.io/kustomize/internal/k8sdeps"
"sigs.k8s.io/kustomize/pkg/ifc"
"sigs.k8s.io/kustomize/pkg/resid"
"sigs.k8s.io/kustomize/pkg/resmap"
@@ -149,7 +150,7 @@ func TestNameHashTransformer(t *testing.T) {
}).SetBehavior(ifc.BehaviorCreate),
}
tran := NewNameHashTransformer()
tran := NewNameHashTransformer(k8sdeps.NewKustHash())
tran.Transform(objs)
if !reflect.DeepEqual(objs, expected) {