...
1
2
3
4 package replacement
5
6 import (
7 "bytes"
8 "log"
9 "os"
10
11 "sigs.k8s.io/kustomize/kyaml/kio"
12 "sigs.k8s.io/kustomize/kyaml/yaml"
13 )
14
15 func ExampleFilter() {
16 f := Filter{}
17 err := yaml.Unmarshal([]byte(`
18 replacements:
19 - source:
20 kind: Foo2
21 fieldPath: spec.replicas
22 targets:
23 - select:
24 kind: Foo1
25 fieldPaths:
26 - spec.replicas`), &f)
27 if err != nil {
28 log.Fatal(err)
29 }
30
31 err = kio.Pipeline{
32 Inputs: []kio.Reader{&kio.ByteReader{Reader: bytes.NewBufferString(`
33 apiVersion: example.com/v1
34 kind: Foo1
35 metadata:
36 name: instance
37 spec:
38 replicas: 3
39 ---
40 apiVersion: example.com/v1
41 kind: Foo2
42 metadata:
43 name: instance
44 spec:
45 replicas: 99
46 `)}},
47 Filters: []kio.Filter{f},
48 Outputs: []kio.Writer{kio.ByteWriter{Writer: os.Stdout}},
49 }.Execute()
50 if err != nil {
51 log.Fatal(err)
52 }
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 }
69
View as plain text