diff --git a/pkg/resmap/resmap.go b/pkg/resmap/resmap.go index 1329ed72e..59a1cb3c7 100644 --- a/pkg/resmap/resmap.go +++ b/pkg/resmap/resmap.go @@ -23,6 +23,7 @@ import ( "io" "reflect" "sort" + "strings" "github.com/ghodss/yaml" "github.com/golang/glog" @@ -202,13 +203,12 @@ func newResourceSliceFromBytes(in []byte) ([]*resource.Resource, error) { decoder := k8syaml.NewYAMLOrJSONDecoder(bytes.NewReader(in), 1024) var result []*resource.Resource var err error - for { + for err == nil || isEmptyYamlError(err) { var out unstructured.Unstructured err = decoder.Decode(&out) - if err != nil { - break + if err == nil { + result = append(result, resource.NewResourceFromUnstruct(out)) } - result = append(result, resource.NewResourceFromUnstruct(out)) } if err != io.EOF { return nil, err @@ -272,3 +272,7 @@ func MergeWithOverride(maps ...ResMap) (ResMap, error) { } return result, nil } + +func isEmptyYamlError(err error) bool { + return strings.Contains(err.Error(), "is missing in 'null'") +} diff --git a/pkg/resmap/resmap_test.go b/pkg/resmap/resmap_test.go index 19849000a..774a32198 100644 --- a/pkg/resmap/resmap_test.go +++ b/pkg/resmap/resmap_test.go @@ -78,6 +78,10 @@ apiVersion: apps/v1 kind: Deployment metadata: name: dply2 +--- +# some comment +--- +--- ` l := loadertest.NewFakeLoader("/home/seans/project")