...
1 package layer
2
3 import (
4 "bytes"
5
6 "sigs.k8s.io/kustomize/kyaml/kio"
7 )
8
9
10
11
12 func Filter(l Layer, filters ...kio.Filter) (Layer, error) {
13 r, err := l.Uncompressed()
14 if err != nil {
15 return nil, err
16 }
17
18 b := new(bytes.Buffer)
19 rw := &kio.ByteReadWriter{Reader: r, Writer: b}
20
21 if err := (kio.Pipeline{
22 Filters: filters,
23 Inputs: []kio.Reader{rw},
24 Outputs: []kio.Writer{rw},
25 }).Execute(); err != nil {
26 return nil, err
27 }
28
29 return New(l.Type(), b.Bytes(), WithAnnotations(l.Annotations()))
30 }
31
View as plain text