Rename OverlayTranformer to PatchTransformer.

This commit is contained in:
jregan
2018-06-10 11:23:47 -07:00
parent 4f3f76addd
commit d06620c74d
4 changed files with 33 additions and 33 deletions

View File

@@ -230,7 +230,7 @@ func (a *applicationImpl) subApp() ([]Application, error) {
func (a *applicationImpl) newTransformer(patches []*resource.Resource) (transformers.Transformer, error) { func (a *applicationImpl) newTransformer(patches []*resource.Resource) (transformers.Transformer, error) {
ts := []transformers.Transformer{} ts := []transformers.Transformer{}
ot, err := transformers.NewOverlayTransformer(patches) ot, err := transformers.NewPatchTransformer(patches)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@@ -29,33 +29,33 @@ import (
"k8s.io/client-go/kubernetes/scheme" "k8s.io/client-go/kubernetes/scheme"
) )
// overlayTransformer contains a map of overlay objects // patchTransformer applies patches.
type overlayTransformer struct { type patchTransformer struct {
overlay []*resource.Resource patches []*resource.Resource
} }
var _ Transformer = &overlayTransformer{} var _ Transformer = &patchTransformer{}
// NewOverlayTransformer constructs a overlayTransformer. // NewPatchTransformer constructs a patchTransformer.
func NewOverlayTransformer(overlay []*resource.Resource) (Transformer, error) { func NewPatchTransformer(slice []*resource.Resource) (Transformer, error) {
if len(overlay) == 0 { if len(slice) == 0 {
return NewNoOpTransformer(), nil return NewNoOpTransformer(), nil
} }
return &overlayTransformer{overlay}, nil return &patchTransformer{slice}, nil
} }
// Transform apply the overlay on top of the base resources. // Transform apply the patches on top of the base resources.
func (o *overlayTransformer) Transform(baseResourceMap resmap.ResMap) error { func (pt *patchTransformer) Transform(baseResourceMap resmap.ResMap) error {
// Merge and then index the patches by Id. // Merge and then index the patches by Id.
overlays, err := o.mergePatches() patches, err := pt.mergePatches()
if err != nil { if err != nil {
return err return err
} }
// Strategic merge the resources exist in both base and overlay. // Strategic merge the resources exist in both base and patches.
for _, overlay := range overlays { for _, patch := range patches {
// Merge overlay with base resource. // Merge patches with base resource.
id := overlay.Id() id := patch.Id()
base, found := baseResourceMap[id] base, found := baseResourceMap[id]
if !found { if !found {
return fmt.Errorf("failed to find an object with %#v to apply the patch", id.Gvk()) return fmt.Errorf("failed to find an object with %#v to apply the patch", id.Gvk())
@@ -70,7 +70,7 @@ func (o *overlayTransformer) Transform(baseResourceMap resmap.ResMap) error {
if err != nil { if err != nil {
return err return err
} }
patchBytes, err := json.Marshal(overlay) patchBytes, err := json.Marshal(patch)
if err != nil { if err != nil {
return err return err
} }
@@ -95,7 +95,7 @@ func (o *overlayTransformer) Transform(baseResourceMap resmap.ResMap) error {
} }
merged, err = strategicpatch.StrategicMergeMapPatchUsingLookupPatchMeta( merged, err = strategicpatch.StrategicMergeMapPatchUsingLookupPatchMeta(
base.Object, base.Object,
overlay.Object, patch.Object,
lookupPatchMeta) lookupPatchMeta)
if err != nil { if err != nil {
return err return err
@@ -109,9 +109,9 @@ func (o *overlayTransformer) Transform(baseResourceMap resmap.ResMap) error {
// mergePatches merge and index patches by Id. // mergePatches merge and index patches by Id.
// It errors out if there is conflict between patches. // It errors out if there is conflict between patches.
func (o *overlayTransformer) mergePatches() (resmap.ResMap, error) { func (pt *patchTransformer) mergePatches() (resmap.ResMap, error) {
rc := resmap.ResMap{} rc := resmap.ResMap{}
for ix, patch := range o.overlay { for ix, patch := range pt.patches {
id := patch.Id() id := patch.Id()
existing, found := rc[id] existing, found := rc[id]
if !found { if !found {
@@ -138,7 +138,7 @@ func (o *overlayTransformer) mergePatches() (resmap.ResMap, error) {
return nil, err return nil, err
} }
if conflict { if conflict {
conflictingPatch, err := cd.findConflict(ix, o.overlay) conflictingPatch, err := cd.findConflict(ix, pt.patches)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@@ -53,7 +53,7 @@ func TestOverlayRun(t *testing.T) {
}, },
}), }),
} }
overlay := []*resource.Resource{ patch := []*resource.Resource{
resource.NewResourceFromMap(map[string]interface{}{ resource.NewResourceFromMap(map[string]interface{}{
"apiVersion": "apps/v1", "apiVersion": "apps/v1",
"kind": "Deployment", "kind": "Deployment",
@@ -120,7 +120,7 @@ func TestOverlayRun(t *testing.T) {
}, },
}), }),
} }
lt, err := NewOverlayTransformer(overlay) lt, err := NewPatchTransformer(patch)
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
@@ -157,7 +157,7 @@ func TestMultiplePatches(t *testing.T) {
}, },
}), }),
} }
overlay := []*resource.Resource{ patch := []*resource.Resource{
resource.NewResourceFromMap(map[string]interface{}{ resource.NewResourceFromMap(map[string]interface{}{
"apiVersion": "apps/v1", "apiVersion": "apps/v1",
"kind": "Deployment", "kind": "Deployment",
@@ -250,7 +250,7 @@ func TestMultiplePatches(t *testing.T) {
}, },
}), }),
} }
lt, err := NewOverlayTransformer(overlay) lt, err := NewPatchTransformer(patch)
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
@@ -287,7 +287,7 @@ func TestMultiplePatchesWithConflict(t *testing.T) {
}, },
}), }),
} }
overlay := []*resource.Resource{ patch := []*resource.Resource{
resource.NewResourceFromMap(map[string]interface{}{ resource.NewResourceFromMap(map[string]interface{}{
"apiVersion": "apps/v1", "apiVersion": "apps/v1",
"kind": "Deployment", "kind": "Deployment",
@@ -336,7 +336,7 @@ func TestMultiplePatchesWithConflict(t *testing.T) {
), ),
} }
lt, err := NewOverlayTransformer(overlay) lt, err := NewPatchTransformer(patch)
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
@@ -366,7 +366,7 @@ func TestNoSchemaOverlayRun(t *testing.T) {
}, },
}), }),
} }
overlay := []*resource.Resource{ patch := []*resource.Resource{
resource.NewResourceFromMap(map[string]interface{}{ resource.NewResourceFromMap(map[string]interface{}{
"apiVersion": "example.com/v1", "apiVersion": "example.com/v1",
"kind": "Foo", "kind": "Foo",
@@ -399,7 +399,7 @@ func TestNoSchemaOverlayRun(t *testing.T) {
}), }),
} }
lt, err := NewOverlayTransformer(overlay) lt, err := NewPatchTransformer(patch)
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
@@ -429,7 +429,7 @@ func TestNoSchemaMultiplePatches(t *testing.T) {
}, },
}), }),
} }
overlay := []*resource.Resource{ patch := []*resource.Resource{
resource.NewResourceFromMap(map[string]interface{}{ resource.NewResourceFromMap(map[string]interface{}{
"apiVersion": "example.com/v1", "apiVersion": "example.com/v1",
"kind": "Foo", "kind": "Foo",
@@ -483,7 +483,7 @@ func TestNoSchemaMultiplePatches(t *testing.T) {
}), }),
} }
lt, err := NewOverlayTransformer(overlay) lt, err := NewPatchTransformer(patch)
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
@@ -513,7 +513,7 @@ func TestNoSchemaMultiplePatchesWithConflict(t *testing.T) {
}, },
}), }),
} }
overlay := []*resource.Resource{ patch := []*resource.Resource{
resource.NewResourceFromMap(map[string]interface{}{ resource.NewResourceFromMap(map[string]interface{}{
"apiVersion": "example.com/v1", "apiVersion": "example.com/v1",
"kind": "Foo", "kind": "Foo",
@@ -541,7 +541,7 @@ func TestNoSchemaMultiplePatchesWithConflict(t *testing.T) {
}), }),
} }
lt, err := NewOverlayTransformer(overlay) lt, err := NewPatchTransformer(patch)
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }