...
1
2
3
4 package manifestreader
5
6 import (
7 "io"
8
9 "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
10 "sigs.k8s.io/kustomize/kyaml/kio"
11 "sigs.k8s.io/kustomize/kyaml/kio/kioutil"
12 )
13
14
15 var _ ManifestReader = &StreamManifestReader{}
16
17
18
19
20 type StreamManifestReader struct {
21 ReaderName string
22 Reader io.Reader
23
24 ReaderOptions
25 }
26
27
28 func (r *StreamManifestReader) Read() ([]*unstructured.Unstructured, error) {
29 var objs []*unstructured.Unstructured
30 nodes, err := (&kio.ByteReader{
31 Reader: r.Reader,
32 }).Read()
33 if err != nil {
34 return objs, err
35 }
36
37 for _, n := range nodes {
38 err = RemoveAnnotations(n, kioutil.IndexAnnotation)
39 if err != nil {
40 return objs, err
41 }
42 u, err := KyamlNodeToUnstructured(n)
43 if err != nil {
44 return objs, err
45 }
46 objs = append(objs, u)
47 }
48
49 objs = FilterLocalConfig(objs)
50
51 err = SetNamespaces(r.Mapper, objs, r.Namespace, r.EnforceNamespace)
52 return objs, err
53 }
54
View as plain text