...
1
2
3
4 package builtins
5
6 import (
7 "sigs.k8s.io/kustomize/api/filters/imagetag"
8 "sigs.k8s.io/kustomize/api/resmap"
9 "sigs.k8s.io/kustomize/api/types"
10 "sigs.k8s.io/yaml"
11 )
12
13
14
15 type ImageTagTransformerPlugin struct {
16 ImageTag types.Image `json:"imageTag,omitempty" yaml:"imageTag,omitempty"`
17 FieldSpecs []types.FieldSpec `json:"fieldSpecs,omitempty" yaml:"fieldSpecs,omitempty"`
18 }
19
20 func (p *ImageTagTransformerPlugin) Config(
21 _ *resmap.PluginHelpers, c []byte) (err error) {
22 p.ImageTag = types.Image{}
23 p.FieldSpecs = nil
24 return yaml.Unmarshal(c, p)
25 }
26
27 func (p *ImageTagTransformerPlugin) Transform(m resmap.ResMap) error {
28 if err := m.ApplyFilter(imagetag.LegacyFilter{
29 ImageTag: p.ImageTag,
30 }); err != nil {
31 return err
32 }
33 return m.ApplyFilter(imagetag.Filter{
34 ImageTag: p.ImageTag,
35 FsSlice: p.FieldSpecs,
36 })
37 }
38
39 func NewImageTagTransformerPlugin() resmap.TransformerPlugin {
40 return &ImageTagTransformerPlugin{}
41 }
42
View as plain text