Introduce k8sdeps package to isolate k8s deps.

This commit is contained in:
jregan
2018-10-01 15:06:20 -07:00
committed by Jeffrey Regan
parent b95423285f
commit 8f150d84ae
12 changed files with 208 additions and 28 deletions

View File

@@ -21,6 +21,7 @@ import (
"bytes"
"fmt"
"reflect"
"sigs.k8s.io/kustomize/pkg/ifc"
"sort"
"github.com/ghodss/yaml"
@@ -151,14 +152,16 @@ func (m ResMap) FilterBy(inputId resource.ResId) ResMap {
}
// NewResMapFromFiles returns a ResMap given a resource path slice.
func NewResMapFromFiles(loader loader.Loader, paths []string) (ResMap, error) {
func NewResMapFromFiles(
loader loader.Loader, paths []string,
d ifc.Decoder) (ResMap, error) {
var result []ResMap
for _, path := range paths {
content, err := loader.Load(path)
if err != nil {
return nil, errors.Wrap(err, "Load from path "+path+" failed")
}
res, err := newResMapFromBytes(content)
res, err := newResMapFromBytes(content, d)
if err != nil {
return nil, internal.Handler(err, path)
}
@@ -168,8 +171,8 @@ func NewResMapFromFiles(loader loader.Loader, paths []string) (ResMap, error) {
}
// newResMapFromBytes decodes a list of objects in byte array format.
func newResMapFromBytes(b []byte) (ResMap, error) {
resources, err := resource.NewResourceSliceFromBytes(b)
func newResMapFromBytes(b []byte, d ifc.Decoder) (ResMap, error) {
resources, err := resource.NewResourceSliceFromBytes(b, d)
if err != nil {
return nil, err
}

View File

@@ -19,6 +19,7 @@ package resmap
import (
"fmt"
"reflect"
"sigs.k8s.io/kustomize/pkg/internal/k8sdeps"
"testing"
"sigs.k8s.io/kustomize/pkg/gvk"
@@ -106,7 +107,9 @@ metadata:
}),
}
m, _ := NewResMapFromFiles(l, []string{"/home/seans/project/deployment.yaml"})
m, _ := NewResMapFromFiles(
l, []string{"/home/seans/project/deployment.yaml"},
k8sdeps.NewKustDecoder())
if len(m) != 2 {
t.Fatalf("%#v should contain 2 appResource, but got %d", m, len(m))
}
@@ -145,7 +148,7 @@ metadata:
},
}),
}
m, err := newResMapFromBytes(encoded)
m, err := newResMapFromBytes(encoded, k8sdeps.NewKustDecoder())
fmt.Printf("%v\n", m)
if err != nil {
t.Fatalf("unexpected error: %v", err)