...

Source file src/sigs.k8s.io/kustomize/api/filters/replacement/example_test.go

Documentation: sigs.k8s.io/kustomize/api/filters/replacement

     1  // Copyright 2021 The Kubernetes Authors.
     2  // SPDX-License-Identifier: Apache-2.0
     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  	// Output:
    55  	// apiVersion: example.com/v1
    56  	// kind: Foo1
    57  	// metadata:
    58  	//   name: instance
    59  	// spec:
    60  	//   replicas: 99
    61  	// ---
    62  	// apiVersion: example.com/v1
    63  	// kind: Foo2
    64  	// metadata:
    65  	//   name: instance
    66  	// spec:
    67  	//   replicas: 99
    68  }
    69  

View as plain text