Start pluglib, a set of public, plugin specific functions.

This commit is contained in:
Jeffrey Regan
2019-10-14 17:52:40 -07:00
committed by jregan
parent 2fadb4dd59
commit 41a008e9a3
78 changed files with 280 additions and 329 deletions

View File

@@ -6,12 +6,13 @@ package main_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/pluglib"
"sigs.k8s.io/kustomize/v3/pkg/kusttest"
"sigs.k8s.io/kustomize/v3/pkg/plugins/testenv"
)
func TestBashedConfigMapPlugin(t *testing.T) {
tc := testenv.NewEnvForTest(t).Set()
tc := pluglib.NewEnvForTest(t).Set()
defer tc.Reset()
tc.BuildExecPlugin(

View File

@@ -11,8 +11,9 @@ import (
"regexp"
"testing"
"sigs.k8s.io/kustomize/v3/pluglib"
"sigs.k8s.io/kustomize/v3/pkg/kusttest"
"sigs.k8s.io/kustomize/v3/pkg/plugins/testenv"
)
// This test requires having the helm binary on the PATH.
@@ -20,7 +21,7 @@ import (
// TODO: Download and inflate the chart, and check that
// in for the test.
func TestChartInflator(t *testing.T) {
tc := testenv.NewEnvForTest(t).Set()
tc := pluglib.NewEnvForTest(t).Set()
defer tc.Reset()
tc.BuildExecPlugin(

View File

@@ -5,7 +5,6 @@ package main
import (
"github.com/pkg/errors"
"sigs.k8s.io/kustomize/v3/pkg/ifc"
"sigs.k8s.io/kustomize/v3/pkg/resmap"
"sigs.k8s.io/kustomize/v3/pkg/transformers/config"
"sigs.k8s.io/kustomize/v3/plugin/builtin"
@@ -35,8 +34,7 @@ func (p *plugin) makePrefixSuffixPluginConfig() ([]byte, error) {
return yaml.Marshal(s)
}
func (p *plugin) Config(
ldr ifc.Loader, rf *resmap.Factory, _ []byte) error {
func (p *plugin) Config(h *resmap.PluginHelpers, _ []byte) error {
// Ignore the incoming c, compute new config.
c, err := p.makePrefixSuffixPluginConfig()
if err != nil {
@@ -44,7 +42,7 @@ func (p *plugin) Config(
err, "dateprefixer makeconfig")
}
prefixer := builtin.NewPrefixSuffixTransformerPlugin()
err = prefixer.Config(ldr, rf, c)
err = prefixer.Config(h, c)
if err != nil {
return errors.Wrapf(
err, "prefixsuffix configure")

View File

@@ -6,12 +6,13 @@ package main_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/pluglib"
"sigs.k8s.io/kustomize/v3/pkg/kusttest"
"sigs.k8s.io/kustomize/v3/pkg/plugins/testenv"
)
func TestDatePrefixerPlugin(t *testing.T) {
tc := testenv.NewEnvForTest(t).Set()
tc := pluglib.NewEnvForTest(t).Set()
defer tc.Reset()
tc.BuildGoPlugin(

View File

@@ -10,14 +10,15 @@ package main_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/v3/pkg/kusttest"
"sigs.k8s.io/kustomize/v3/pkg/plugins/testenv"
"sigs.k8s.io/kustomize/v3/pluglib"
"sigs.k8s.io/kustomize/v3/pkg/kusttest"
)
// This test requires having the go-getter binary on the PATH.
//
func TestGoGetter(t *testing.T) {
tc := testenv.NewEnvForTest(t).Set()
tc := pluglib.NewEnvForTest(t).Set()
defer tc.Reset()
tc.BuildExecPlugin(
@@ -45,7 +46,7 @@ metadata:
}
func TestGoGetterUrl(t *testing.T) {
tc := testenv.NewEnvForTest(t).Set()
tc := pluglib.NewEnvForTest(t).Set()
defer tc.Reset()
tc.BuildExecPlugin(
@@ -74,7 +75,7 @@ metadata:
}
func TestGoGetterCommand(t *testing.T) {
tc := testenv.NewEnvForTest(t).Set()
tc := pluglib.NewEnvForTest(t).Set()
defer tc.Reset()
tc.BuildExecPlugin(
@@ -103,7 +104,7 @@ metadata:
}
func TestGoGetterSubPath(t *testing.T) {
tc := testenv.NewEnvForTest(t).Set()
tc := pluglib.NewEnvForTest(t).Set()
defer tc.Reset()
tc.BuildExecPlugin(

View File

@@ -7,8 +7,9 @@ import (
"strings"
"testing"
"sigs.k8s.io/kustomize/v3/pluglib"
"sigs.k8s.io/kustomize/v3/pkg/kusttest"
"sigs.k8s.io/kustomize/v3/pkg/plugins/testenv"
)
func shouldContain(t *testing.T, s []byte, x string) {
@@ -18,7 +19,7 @@ func shouldContain(t *testing.T, s []byte, x string) {
}
func TestPrintWorkDirPlugin(t *testing.T) {
tc := testenv.NewEnvForTest(t).Set()
tc := pluglib.NewEnvForTest(t).Set()
defer tc.Reset()
tc.BuildExecPlugin(

View File

@@ -4,7 +4,6 @@
package main
import (
"sigs.k8s.io/kustomize/v3/pkg/ifc"
"sigs.k8s.io/kustomize/v3/pkg/resmap"
"sigs.k8s.io/kustomize/v3/pkg/types"
"sigs.k8s.io/yaml"
@@ -13,8 +12,7 @@ import (
// A secret generator example that gets data
// from a database (simulated by a hardcoded map).
type plugin struct {
rf *resmap.Factory
ldr ifc.Loader
h *resmap.PluginHelpers
types.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// List of keys to use in database lookups
Keys []string `json:"keys,omitempty" yaml:"keys,omitempty"`
@@ -32,10 +30,8 @@ var database = map[string]string{
"SIMPSON": "homer",
}
func (p *plugin) Config(
ldr ifc.Loader, rf *resmap.Factory, c []byte) error {
p.rf = rf
p.ldr = ldr
func (p *plugin) Config(h *resmap.PluginHelpers, c []byte) error {
p.h = h
return yaml.Unmarshal(c, p)
}
@@ -51,5 +47,5 @@ func (p *plugin) Generate() (resmap.ResMap, error) {
args.LiteralSources, k+"="+v)
}
}
return p.rf.FromSecretArgs(p.ldr, nil, args)
return p.h.ResmapFactory().FromSecretArgs(p.h.Loader(), nil, args)
}

View File

@@ -6,12 +6,13 @@ package main_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/pluglib"
"sigs.k8s.io/kustomize/v3/pkg/kusttest"
"sigs.k8s.io/kustomize/v3/pkg/plugins/testenv"
)
func TestSecretsFromDatabasePlugin(t *testing.T) {
tc := testenv.NewEnvForTest(t).Set()
tc := pluglib.NewEnvForTest(t).Set()
defer tc.Reset()
tc.BuildGoPlugin(

View File

@@ -6,12 +6,13 @@ package main_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/pluglib"
"sigs.k8s.io/kustomize/v3/pkg/kusttest"
"sigs.k8s.io/kustomize/v3/pkg/plugins/testenv"
)
func TestSedTransformer(t *testing.T) {
tc := testenv.NewEnvForTest(t).Set()
tc := pluglib.NewEnvForTest(t).Set()
defer tc.Reset()
tc.BuildExecPlugin("someteam.example.com", "v1", "SedTransformer")

View File

@@ -7,7 +7,6 @@ import (
"bytes"
"text/template"
"sigs.k8s.io/kustomize/v3/pkg/ifc"
"sigs.k8s.io/kustomize/v3/pkg/resmap"
"sigs.k8s.io/kustomize/v3/pkg/types"
"sigs.k8s.io/yaml"
@@ -39,9 +38,8 @@ spec:
app: dev
`
func (p *plugin) Config(
_ ifc.Loader, rf *resmap.Factory, config []byte) error {
p.rf = rf
func (p *plugin) Config(h *resmap.PluginHelpers, config []byte) error {
p.rf = h.ResmapFactory()
return yaml.Unmarshal(config, p)
}

View File

@@ -6,12 +6,13 @@ package main_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/pluglib"
"sigs.k8s.io/kustomize/v3/pkg/kusttest"
"sigs.k8s.io/kustomize/v3/pkg/plugins/testenv"
)
func TestSomeServiceGeneratorPlugin(t *testing.T) {
tc := testenv.NewEnvForTest(t).Set()
tc := pluglib.NewEnvForTest(t).Set()
defer tc.Reset()
tc.BuildGoPlugin(

View File

@@ -5,7 +5,6 @@ package main
import (
"github.com/pkg/errors"
"sigs.k8s.io/kustomize/v3/pkg/ifc"
"sigs.k8s.io/kustomize/v3/pkg/resmap"
"sigs.k8s.io/kustomize/v3/pkg/transformers/config"
"sigs.k8s.io/kustomize/v3/pkg/types"
@@ -37,8 +36,7 @@ func (p *plugin) makePrefixSuffixPluginConfig(n string) ([]byte, error) {
return yaml.Marshal(s)
}
func (p *plugin) Config(
ldr ifc.Loader, rf *resmap.Factory, c []byte) error {
func (p *plugin) Config(h *resmap.PluginHelpers, c []byte) error {
err := yaml.Unmarshal(c, p)
if err != nil {
return err
@@ -48,7 +46,7 @@ func (p *plugin) Config(
return err
}
prefixer := builtin.NewPrefixSuffixTransformerPlugin()
err = prefixer.Config(ldr, rf, c)
err = prefixer.Config(h, c)
if err != nil {
return errors.Wrapf(
err, "stringprefixer configure")

View File

@@ -6,12 +6,13 @@ package main_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/pluglib"
"sigs.k8s.io/kustomize/v3/pkg/kusttest"
"sigs.k8s.io/kustomize/v3/pkg/plugins/testenv"
)
func TestStringPrefixerPlugin(t *testing.T) {
tc := testenv.NewEnvForTest(t).Set()
tc := pluglib.NewEnvForTest(t).Set()
defer tc.Reset()
tc.BuildGoPlugin(

View File

@@ -9,12 +9,13 @@ import (
"strings"
"testing"
"sigs.k8s.io/kustomize/v3/pluglib"
"sigs.k8s.io/kustomize/v3/pkg/kusttest"
"sigs.k8s.io/kustomize/v3/pkg/plugins/testenv"
)
func TestValidatorHappy(t *testing.T) {
tc := testenv.NewEnvForTest(t).Set()
tc := pluglib.NewEnvForTest(t).Set()
defer tc.Reset()
tc.BuildExecPlugin("someteam.example.com", "v1", "Validator")
@@ -49,7 +50,7 @@ metadata:
}
func TestValidatorUnHappy(t *testing.T) {
tc := testenv.NewEnvForTest(t).Set()
tc := pluglib.NewEnvForTest(t).Set()
defer tc.Reset()
tc.BuildExecPlugin("someteam.example.com", "v1", "Validator")