Files
kustomize/plugins/someteam.example.com/v1/StringPrefixer.go
2019-04-06 18:38:22 -07:00

46 lines
1.0 KiB
Go

// +build plugin
// Assuming GOPATH is something like
// ~/gopath
// and this source file is located at
// $GOPATH/src/sigs.k8s.io/kustomize/plugins/StringPrefixer.go,
// build it like this:
// dir=$GOPATH/src/sigs.k8s.io/kustomize/plugins
// go build -buildmode plugin -tags=plugin \
// -o $dir/StringPrefixer.so $dir/StringPrefixer.go
package main
import (
"sigs.k8s.io/kustomize/pkg/ifc"
"sigs.k8s.io/kustomize/pkg/resmap"
"sigs.k8s.io/kustomize/pkg/transformers"
"sigs.k8s.io/kustomize/pkg/transformers/config"
)
type plugin struct {
prefix string
}
var KustomizePlugin plugin
func (p *plugin) Config(
ldr ifc.Loader, rf *resmap.Factory, k ifc.Kunstructured) error {
var err error
p.prefix, err = k.GetFieldValue("prefix")
if err != nil {
return err
}
return nil
}
func (p *plugin) Transform(m resmap.ResMap) error {
tr, err := transformers.NewNamePrefixSuffixTransformer(
p.prefix, "",
config.MakeDefaultConfig().NamePrefix)
if err != nil {
return err
}
return tr.Transform(m)
}