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