Merge pull request #1660 from monopole/drainTopInternal

Drain top internal folder
This commit is contained in:
Jeff Regan
2019-10-20 16:14:08 -07:00
committed by GitHub
223 changed files with 836 additions and 866 deletions

View File

@@ -7,9 +7,9 @@ import (
"reflect"
"testing"
"sigs.k8s.io/kustomize/v3/api/internal/loadertest"
"sigs.k8s.io/kustomize/v3/api/resid"
"sigs.k8s.io/kustomize/v3/api/types"
"sigs.k8s.io/kustomize/v3/internal/loadertest"
)
func TestLoadDefaultConfigsFromFiles(t *testing.T) {

View File

@@ -4,9 +4,10 @@
package builtinconfig
import (
"strings"
"sigs.k8s.io/kustomize/v3/api/resid"
"sigs.k8s.io/kustomize/v3/api/types"
"strings"
)
// NameBackReferences is an association between a gvk.GVK and a list

View File

@@ -5,9 +5,10 @@ package builtinconfig
import (
"reflect"
"testing"
"sigs.k8s.io/kustomize/v3/api/resid"
"sigs.k8s.io/kustomize/v3/api/types"
"testing"
)
func TestMergeAll(t *testing.T) {

View File

@@ -7,7 +7,7 @@ import (
"fmt"
"testing"
. "sigs.k8s.io/kustomize/v3/pkg/accumulator/expansion"
. "sigs.k8s.io/kustomize/v3/api/internal/accumulator/expansion"
)
type expected struct {

View File

@@ -9,10 +9,10 @@ import (
"sigs.k8s.io/kustomize/v3/api/builtinconfig"
"sigs.k8s.io/kustomize/v3/api/ifc"
. "sigs.k8s.io/kustomize/v3/api/internal/accumulator"
"sigs.k8s.io/kustomize/v3/api/internal/loadertest"
"sigs.k8s.io/kustomize/v3/api/resid"
"sigs.k8s.io/kustomize/v3/api/types"
"sigs.k8s.io/kustomize/v3/internal/loadertest"
. "sigs.k8s.io/kustomize/v3/pkg/accumulator"
)
// This defines two CRD's: Bee and MyKind.

View File

@@ -6,10 +6,11 @@ package accumulator
import (
"fmt"
expansion2 "sigs.k8s.io/kustomize/v3/api/internal/accumulator/expansion"
"sigs.k8s.io/kustomize/v3/api/resmap"
"sigs.k8s.io/kustomize/v3/api/transform"
"sigs.k8s.io/kustomize/v3/api/types"
"sigs.k8s.io/kustomize/v3/pkg/accumulator/expansion"
)
type refVarTransformer struct {
@@ -39,7 +40,7 @@ func (rv *refVarTransformer) replaceVars(in interface{}) (interface{}, error) {
case []interface{}:
var xs []interface{}
for _, a := range in.([]interface{}) {
xs = append(xs, expansion.Expand(a.(string), rv.mappingFunc))
xs = append(xs, expansion2.Expand(a.(string), rv.mappingFunc))
}
return xs, nil
case map[string]interface{}:
@@ -56,7 +57,7 @@ func (rv *refVarTransformer) replaceVars(in interface{}) (interface{}, error) {
// This field can potentially contains a $(VAR) since it is
// of string type. For instance .spec.replicas: $(REPLICAS)
// in a Deployment object
xs[k] = expansion.Expand(s, rv.mappingFunc)
xs[k] = expansion2.Expand(s, rv.mappingFunc)
}
}
return xs, nil
@@ -68,7 +69,7 @@ func (rv *refVarTransformer) replaceVars(in interface{}) (interface{}, error) {
}
// This field can potentially contain a $(VAR) since it is
// of string type.
return expansion.Expand(s, rv.mappingFunc), nil
return expansion2.Expand(s, rv.mappingFunc), nil
case nil:
return nil, nil
default:
@@ -92,7 +93,7 @@ func (rv *refVarTransformer) UnusedVars() []string {
// Transform replaces $(VAR) style variables with values.
func (rv *refVarTransformer) Transform(m resmap.ResMap) error {
rv.replacementCounts = make(map[string]int)
rv.mappingFunc = expansion.MappingFuncFor(
rv.mappingFunc = expansion2.MappingFuncFor(
rv.replacementCounts, rv.varMap)
for _, res := range m.Resources() {
for _, fieldSpec := range rv.fieldSpecs {

View File

@@ -11,13 +11,13 @@ import (
"testing"
"sigs.k8s.io/kustomize/v3/api/builtinconfig"
. "sigs.k8s.io/kustomize/v3/api/internal/accumulator"
"sigs.k8s.io/kustomize/v3/api/resid"
"sigs.k8s.io/kustomize/v3/api/resmap"
"sigs.k8s.io/kustomize/v3/api/resource"
"sigs.k8s.io/kustomize/v3/api/testutils/resmaptest"
"sigs.k8s.io/kustomize/v3/api/types"
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
. "sigs.k8s.io/kustomize/v3/pkg/accumulator"
)
func makeResAccumulator(t *testing.T) (*ResAccumulator, *resource.Factory) {

View File

@@ -1,18 +1,5 @@
/*
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
// Package error has contextual error types.
package kusterr

View File

@@ -1,18 +1,5 @@
/*
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package kusterr

View File

@@ -10,8 +10,8 @@ import (
"strings"
"sigs.k8s.io/kustomize/v3/api/filesys"
"sigs.k8s.io/kustomize/v3/api/git"
"sigs.k8s.io/kustomize/v3/api/ifc"
"sigs.k8s.io/kustomize/v3/api/internal/git"
)
// fileLoader is a kustomization's interface to files.

View File

@@ -1,18 +1,5 @@
/*
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package loader
@@ -26,9 +13,9 @@ import (
"testing"
"sigs.k8s.io/kustomize/v3/api/filesys"
"sigs.k8s.io/kustomize/v3/api/git"
"sigs.k8s.io/kustomize/v3/api/ifc"
"sigs.k8s.io/kustomize/v3/api/internal/git"
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
)
type testData struct {

View File

@@ -6,8 +6,8 @@ package loader
import (
"sigs.k8s.io/kustomize/v3/api/filesys"
"sigs.k8s.io/kustomize/v3/api/git"
"sigs.k8s.io/kustomize/v3/api/ifc"
"sigs.k8s.io/kustomize/v3/api/internal/git"
)
// NewLoader returns a Loader pointed at the given target.

View File

@@ -0,0 +1,41 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package pgmconfig
// RecognizedKustomizationFileNames is a list of file names
// that kustomize recognizes.
// To avoid ambiguity, a kustomization directory may not
// contain more than one match to this list.
func RecognizedKustomizationFileNames() []string {
return []string{
"kustomization.yaml",
"kustomization.yml",
"Kustomization",
}
}
func DefaultKustomizationFileName() string {
return RecognizedKustomizationFileNames()[0]
}
const (
// An environment variable to consult for kustomization
// configuration data. See:
// https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
XdgConfigHome = "XDG_CONFIG_HOME"
// Use this when XdgConfigHome not defined.
DefaultConfigSubdir = ".config"
// Program name, for help, finding the XDG_CONFIG_DIR, etc.
ProgramName = "kustomize"
// TODO: delete this. it's a copy of a const
// defined elsewhere but used by pluginator.
DomainName = "sigs.k8s.io"
// TODO: delete this. its a copy of a const
// defined elsewhere but used by pluginator.
PluginRoot = "plugin"
)

View File

@@ -1,6 +1,6 @@
// Code generated by "stringer -type=BuiltinPluginType"; DO NOT EDIT.
package plugins
package builtins
import "strconv"

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package plugins
package builtins
import (
"sigs.k8s.io/kustomize/v3/api/resmap"

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package plugins
package compiler
import (
"fmt"
@@ -12,7 +12,8 @@ import (
"strings"
"time"
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
"sigs.k8s.io/kustomize/v3/api/plugins/config"
)
// Compiler creates Go plugin object files.
@@ -35,22 +36,20 @@ func DefaultSrcRoot() (string, error) {
root = filepath.Join(
os.Getenv("GOPATH"), "src",
pgmconfig.DomainName,
pgmconfig.ProgramName, pgmconfig.PluginRoot)
config.DomainName, pgmconfig.ProgramName, config.PluginRoot)
if FileExists(root) {
return root, nil
}
nope = append(nope, root)
root = DefaultPluginConfig().DirectoryPath
root = config.DefaultPluginConfig().DirectoryPath
if FileExists(root) {
return root, nil
}
nope = append(nope, root)
root = filepath.Join(
homeDir(),
pgmconfig.ProgramName, pgmconfig.PluginRoot)
config.HomeDir(), pgmconfig.ProgramName, config.PluginRoot)
if FileExists(root) {
return root, nil
}

View File

@@ -1,20 +1,7 @@
/*
Copyright 2019 The Kubernetes Authors.
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package plugins_test
package compiler_test
import (
"io/ioutil"
@@ -22,7 +9,7 @@ import (
"path/filepath"
"testing"
. "sigs.k8s.io/kustomize/v3/pkg/plugins"
. "sigs.k8s.io/kustomize/v3/api/plugins/compiler"
)
// Regression coverage over compiler behavior.

View File

@@ -0,0 +1,95 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package config
import (
"fmt"
"os"
"path/filepath"
"runtime"
"github.com/spf13/pflag"
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
"sigs.k8s.io/kustomize/v3/api/types"
)
const (
// Used with Go plugins.
PluginSymbol = "KustomizePlugin"
// Location of builtins.
BuiltinPluginPackage = "builtin"
// ApiVersion of builtins.
BuiltinPluginApiVersion = BuiltinPluginPackage
// Domain from which kustomize code is imported, for locating
// plugin source code under $GOPATH.
DomainName = "sigs.k8s.io"
// Name of directory housing all plugins.
PluginRoot = "plugin"
flagEnablePluginsName = "enable_alpha_plugins"
flagEnablePluginsHelp = `enable plugins, an alpha feature.
See https://github.com/kubernetes-sigs/kustomize/blob/master/docs/plugins/README.md
`
flagErrorFmt = `
unable to load external plugin %s because plugins disabled
specify the flag
--%s
to %s`
)
func ActivePluginConfig() *types.PluginConfig {
pc := DefaultPluginConfig()
pc.Enabled = true
return pc
}
func DefaultPluginConfig() *types.PluginConfig {
return &types.PluginConfig{
Enabled: false,
DirectoryPath: filepath.Join(configRoot(), PluginRoot),
}
}
func NotEnabledErr(name string) error {
return fmt.Errorf(
flagErrorFmt,
name,
flagEnablePluginsName,
flagEnablePluginsHelp)
}
func AddFlagEnablePlugins(set *pflag.FlagSet, v *bool) {
set.BoolVar(
v, flagEnablePluginsName,
false, flagEnablePluginsHelp)
}
// Use https://github.com/kirsle/configdir instead?
func configRoot() string {
dir := os.Getenv(pgmconfig.XdgConfigHome)
if len(dir) == 0 {
dir = filepath.Join(
HomeDir(), pgmconfig.DefaultConfigSubdir)
}
return filepath.Join(dir, pgmconfig.ProgramName)
}
func HomeDir() string {
home := os.Getenv(homeEnv())
if len(home) > 0 {
return home
}
return "~"
}
func homeEnv() string {
if runtime.GOOS == "windows" {
return "USERPROFILE"
}
return "HOME"
}

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package plugins
package config
import (
"os"
@@ -9,7 +9,7 @@ import (
"strings"
"testing"
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
)
func TestConfigDirNoXdg(t *testing.T) {

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package plugins
package execplugin
import (
"bytes"
@@ -21,8 +21,8 @@ import (
const (
idAnnotation = "kustomize.config.k8s.io/id"
hashAnnotation = "kustomize.config.k8s.io/needs-hash"
behaviorAnnotation = "kustomize.config.k8s.io/behavior"
HashAnnotation = "kustomize.config.k8s.io/needs-hash"
BehaviorAnnotation = "kustomize.config.k8s.io/behavior"
tmpConfigFilePrefix = "kust-plugin-config-"
)
@@ -48,8 +48,20 @@ func NewExecPlugin(p string) *ExecPlugin {
return &ExecPlugin{path: p}
}
func (p *ExecPlugin) Path() string {
return p.path
}
func (p *ExecPlugin) Args() []string {
return p.args
}
func (p *ExecPlugin) Cfg() []byte {
return p.cfg
}
// isAvailable checks to see if the plugin is available
func (p *ExecPlugin) isAvailable() bool {
func (p *ExecPlugin) IsAvailable() bool {
f, err := os.Stat(p.path)
if os.IsNotExist(err) {
return false
@@ -98,7 +110,7 @@ func (p *ExecPlugin) Generate() (resmap.ResMap, error) {
if err != nil {
return nil, err
}
return p.updateResourceOptions(rm)
return p.UpdateResourceOptions(rm)
}
func (p *ExecPlugin) Transform(rm resmap.ResMap) error {
@@ -226,22 +238,24 @@ func (p *ExecPlugin) updateResMapValues(output []byte, rm resmap.ResMap) error {
// updateResourceOptions updates the generator options for each resource in the
// given ResMap based on plugin provided annotations.
func (p *ExecPlugin) updateResourceOptions(rm resmap.ResMap) (resmap.ResMap, error) {
func (p *ExecPlugin) UpdateResourceOptions(rm resmap.ResMap) (resmap.ResMap, error) {
for _, r := range rm.Resources() {
// Disable name hashing by default and require plugin to explicitly
// request it for each resource.
annotations := r.GetAnnotations()
behavior := annotations[behaviorAnnotation]
behavior := annotations[BehaviorAnnotation]
var needsHash bool
if val, ok := annotations[hashAnnotation]; ok {
if val, ok := annotations[HashAnnotation]; ok {
b, err := strconv.ParseBool(val)
if err != nil {
return nil, fmt.Errorf("the annotation %q contains an invalid value (%q)", hashAnnotation, val)
return nil, fmt.Errorf(
"the annotation %q contains an invalid value (%q)",
HashAnnotation, val)
}
needsHash = b
}
delete(annotations, hashAnnotation)
delete(annotations, behaviorAnnotation)
delete(annotations, HashAnnotation)
delete(annotations, BehaviorAnnotation)
if len(annotations) == 0 {
annotations = nil
}

View File

@@ -1,18 +1,21 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package plugins
package execplugin_test
import (
"fmt"
"strings"
"testing"
"sigs.k8s.io/kustomize/v3/api/internal/loadertest"
"sigs.k8s.io/kustomize/v3/api/plugins/config"
. "sigs.k8s.io/kustomize/v3/api/plugins/execplugin"
"sigs.k8s.io/kustomize/v3/api/plugins/loader"
"sigs.k8s.io/kustomize/v3/api/resmap"
"sigs.k8s.io/kustomize/v3/api/resource"
"sigs.k8s.io/kustomize/v3/api/testutils/valtest"
"sigs.k8s.io/kustomize/v3/api/types"
"sigs.k8s.io/kustomize/v3/internal/loadertest"
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
)
@@ -41,8 +44,8 @@ s/$BAR/bar/g
`))
p := NewExecPlugin(
AbsolutePluginPath(
DefaultPluginConfig(),
loader.AbsolutePluginPath(
config.DefaultPluginConfig(),
pluginConfig.OrgId()))
yaml, err := pluginConfig.AsYAML()
@@ -52,8 +55,8 @@ s/$BAR/bar/g
p.Config(resmap.NewPluginHelpers(ldr, v, rf), yaml)
expected := "/kustomize/plugin/someteam.example.com/v1/sedtransformer/SedTransformer"
if !strings.HasSuffix(p.path, expected) {
t.Fatalf("expected suffix '%s', got '%s'", expected, p.path)
if !strings.HasSuffix(p.Path(), expected) {
t.Fatalf("expected suffix '%s', got '%s'", expected, p.Path())
}
expected = `apiVersion: someteam.example.com/v1
@@ -63,19 +66,19 @@ kind: SedTransformer
metadata:
name: some-random-name
`
if expected != string(p.cfg) {
t.Fatalf("expected cfg '%s', got '%s'", expected, string(p.cfg))
if expected != string(p.Cfg()) {
t.Fatalf("expected cfg '%s', got '%s'", expected, string(p.Cfg()))
}
if len(p.args) != 5 {
t.Fatalf("unexpected arg len %d, %v", len(p.args), p.args)
if len(p.Args()) != 5 {
t.Fatalf("unexpected arg len %d, %v", len(p.Args()), p.Args())
}
if p.args[0] != "one" ||
p.args[1] != "two" ||
p.args[2] != "s/$FOO/foo/g" ||
p.args[3] != "s/$BAR/bar/g" ||
p.args[4] != "\\ \\ \\ " {
t.Fatalf("unexpected arg array: %v", p.args)
if p.Args()[0] != "one" ||
p.Args()[1] != "two" ||
p.Args()[2] != "s/$FOO/foo/g" ||
p.Args()[3] != "s/$BAR/bar/g" ||
p.Args()[4] != "\\ \\ \\ " {
t.Fatalf("unexpected arg array: %v", p.Args())
}
}
@@ -87,10 +90,10 @@ func makeConfigMap(rf *resource.Factory, name, behavior string, hashValue *strin
})
annotations := map[string]string{}
if behavior != "" {
annotations[behaviorAnnotation] = behavior
annotations[BehaviorAnnotation] = behavior
}
if hashValue != nil {
annotations[hashAnnotation] = *hashValue
annotations[HashAnnotation] = *hashValue
}
if len(annotations) > 0 {
r.SetAnnotations(annotations)
@@ -134,7 +137,7 @@ func TestUpdateResourceOptions(t *testing.T) {
in.Append(makeConfigMap(rf, name, c.behavior, c.hashValue))
expected.Append(makeConfigMapOptions(rf, name, c.behavior, !c.needsHash))
}
actual, err := p.updateResourceOptions(in)
actual, err := p.UpdateResourceOptions(in)
if err != nil {
t.Fatalf("unexpected error: %v", err.Error())
}
@@ -168,7 +171,7 @@ func TestUpdateResourceOptionsWithInvalidHashAnnotationValues(t *testing.T) {
name := fmt.Sprintf("test%d", i)
in := resmap.New()
in.Append(makeConfigMap(rf, name, "", &c))
_, err := p.updateResourceOptions(in)
_, err := p.UpdateResourceOptions(in)
if err == nil {
t.Errorf("expected error from value %q", c)
}

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package plugins
package loader
import (
"fmt"
@@ -10,12 +10,17 @@ import (
"reflect"
"strings"
"sigs.k8s.io/kustomize/v3/api/plugins/builtins"
"github.com/pkg/errors"
"sigs.k8s.io/kustomize/v3/api/ifc"
"sigs.k8s.io/kustomize/v3/api/plugins/config"
"sigs.k8s.io/kustomize/v3/api/plugins/execplugin"
"sigs.k8s.io/kustomize/v3/api/resid"
"sigs.k8s.io/kustomize/v3/api/resmap"
"sigs.k8s.io/kustomize/v3/api/resource"
"sigs.k8s.io/kustomize/v3/api/types"
"sigs.k8s.io/kustomize/v3/pkg/plugins"
)
type Loader struct {
@@ -99,7 +104,7 @@ func (l *Loader) absolutePluginPath(id resid.ResId) string {
func isBuiltinPlugin(res *resource.Resource) bool {
// TODO: the special string should appear in Group, not Version.
return res.GetGvk().Group == "" &&
res.GetGvk().Version == BuiltinPluginApiVersion
res.GetGvk().Version == config.BuiltinPluginApiVersion
}
func (l *Loader) loadAndConfigurePlugin(
@@ -113,7 +118,7 @@ func (l *Loader) loadAndConfigurePlugin(
} else if l.pc.Enabled {
c, err = l.loadPlugin(res.OrgId())
} else {
err = notEnabledErr(res.OrgId().Kind)
err = config.NotEnabledErr(res.OrgId().Kind)
}
if err != nil {
return nil, err
@@ -131,19 +136,19 @@ func (l *Loader) loadAndConfigurePlugin(
}
func (l *Loader) makeBuiltinPlugin(r resid.Gvk) (resmap.Configurable, error) {
bpt := GetBuiltinPluginType(r.Kind)
if f, ok := GeneratorFactories[bpt]; ok {
bpt := builtins.GetBuiltinPluginType(r.Kind)
if f, ok := builtins.GeneratorFactories[bpt]; ok {
return f(), nil
}
if f, ok := TransformerFactories[bpt]; ok {
if f, ok := builtins.TransformerFactories[bpt]; ok {
return f(), nil
}
return nil, errors.Errorf("unable to load builtin %s", r)
}
func (l *Loader) loadPlugin(resId resid.ResId) (resmap.Configurable, error) {
p := NewExecPlugin(l.absolutePluginPath(resId))
if p.isAvailable() {
p := execplugin.NewExecPlugin(l.absolutePluginPath(resId))
if p.IsAvailable() {
return p, nil
}
c, err := l.loadGoPlugin(resId)
@@ -171,11 +176,11 @@ func (l *Loader) loadGoPlugin(id resid.ResId) (resmap.Configurable, error) {
if err != nil {
return nil, errors.Wrapf(err, "plugin %s fails to load", absPath)
}
symbol, err := p.Lookup(PluginSymbol)
symbol, err := p.Lookup(plugins.PluginSymbol)
if err != nil {
return nil, errors.Wrapf(
err, "plugin %s doesn't have symbol %s",
regId, PluginSymbol)
regId, plugins.PluginSymbol)
}
c, ok := symbol.(resmap.Configurable)
if !ok {

View File

@@ -1,18 +1,19 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package plugins_test
package loader_test
import (
"sigs.k8s.io/kustomize/v3/api/kusttest"
"testing"
"sigs.k8s.io/kustomize/v3/api/internal/loadertest"
"sigs.k8s.io/kustomize/v3/api/plugins/config"
. "sigs.k8s.io/kustomize/v3/api/plugins/loader"
"sigs.k8s.io/kustomize/v3/api/resmap"
"sigs.k8s.io/kustomize/v3/api/resource"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/valtest"
"sigs.k8s.io/kustomize/v3/internal/loadertest"
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
. "sigs.k8s.io/kustomize/v3/pkg/plugins"
)
const (
@@ -56,7 +57,7 @@ func TestLoader(t *testing.T) {
ldr := loadertest.NewFakeLoader("/foo")
pLdr := NewLoader(ActivePluginConfig(), rmF)
pLdr := NewLoader(config.ActivePluginConfig(), rmF)
if pLdr == nil {
t.Fatal("expect non-nil loader")
}

View File

@@ -6,9 +6,9 @@ package resmap
import (
"github.com/pkg/errors"
"sigs.k8s.io/kustomize/v3/api/ifc"
"sigs.k8s.io/kustomize/v3/api/internal/kusterr"
"sigs.k8s.io/kustomize/v3/api/resource"
"sigs.k8s.io/kustomize/v3/api/types"
"sigs.k8s.io/kustomize/v3/internal/kusterr"
)
// Factory makes instances of ResMap.

View File

@@ -6,18 +6,19 @@ package resmap_test
import (
"encoding/base64"
"reflect"
"sigs.k8s.io/kustomize/v3/api/resid"
"testing"
"sigs.k8s.io/kustomize/v3/api/resid"
"sigs.k8s.io/kustomize/v3/api/filesys"
"sigs.k8s.io/kustomize/v3/api/ifc"
"sigs.k8s.io/kustomize/v3/api/internal/loadertest"
"sigs.k8s.io/kustomize/v3/api/kv"
"sigs.k8s.io/kustomize/v3/api/loader"
. "sigs.k8s.io/kustomize/v3/api/resmap"
"sigs.k8s.io/kustomize/v3/api/testutils/resmaptest"
"sigs.k8s.io/kustomize/v3/api/testutils/valtest"
"sigs.k8s.io/kustomize/v3/api/types"
"sigs.k8s.io/kustomize/v3/internal/loadertest"
)
func TestFromFile(t *testing.T) {

View File

@@ -10,8 +10,8 @@ import (
"strings"
"sigs.k8s.io/kustomize/v3/api/ifc"
"sigs.k8s.io/kustomize/v3/api/internal/kusterr"
"sigs.k8s.io/kustomize/v3/api/types"
"sigs.k8s.io/kustomize/v3/internal/kusterr"
)
// Factory makes instances of Resource.

View File

@@ -20,9 +20,9 @@ import (
"reflect"
"testing"
"sigs.k8s.io/kustomize/v3/api/internal/loadertest"
. "sigs.k8s.io/kustomize/v3/api/resource"
"sigs.k8s.io/kustomize/v3/api/types"
"sigs.k8s.io/kustomize/v3/internal/loadertest"
)
func TestSliceFromPatches(t *testing.T) {

View File

@@ -6,7 +6,7 @@ package target_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func writeMediumBase(th *kusttest_test.KustTestHarness) {

View File

@@ -1,18 +1,5 @@
/*
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package target_test
@@ -20,9 +7,9 @@ import (
"strings"
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/loader"
"sigs.k8s.io/kustomize/v3/pkg/plugins"
"sigs.k8s.io/kustomize/v3/api/plugins/config"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func TestOrderPreserved(t *testing.T) {
@@ -313,7 +300,7 @@ spec:
func TestSharedPatchDisAllowed(t *testing.T) {
th := kusttest_test.NewKustTestHarnessFull(
t, "/app/overlay",
loader.RestrictionRootOnly, plugins.DefaultPluginConfig())
loader.RestrictionRootOnly, config.DefaultPluginConfig())
writeSmallBase(th)
th.WriteK("/app/overlay", `
commonLabels:
@@ -345,7 +332,7 @@ spec:
func TestSharedPatchAllowed(t *testing.T) {
th := kusttest_test.NewKustTestHarnessFull(
t, "/app/overlay",
loader.RestrictionNone, plugins.DefaultPluginConfig())
loader.RestrictionNone, config.DefaultPluginConfig())
writeSmallBase(th)
th.WriteK("/app/overlay", `
commonLabels:

View File

@@ -6,7 +6,7 @@ package target_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
// Here is a structure of a kustomization of two components, component1

View File

@@ -11,7 +11,7 @@ import (
"regexp"
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
// This is an example of using a helm chart as a base,

View File

@@ -7,7 +7,7 @@ import (
"strings"
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
const httpsService = `

View File

@@ -19,7 +19,7 @@ package target_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
// Generate a Secret and a ConfigMap from the same data

View File

@@ -19,7 +19,7 @@ package target_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func writeBaseWithCrd(th *kusttest_test.KustTestHarness) {

View File

@@ -19,7 +19,7 @@ package target_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func makeBaseReferencingCustomConfig(th *kusttest_test.KustTestHarness) {

View File

@@ -6,7 +6,7 @@ package target_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
// Demo custom configuration of a builtin transformation.

View File

@@ -9,7 +9,7 @@ import (
"strings"
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
const patchAddProbe = `

View File

@@ -6,7 +6,7 @@ package target_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
// Here's a structure of two kustomizations,

View File

@@ -6,7 +6,7 @@ package target_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func makeCommonFileForExtendedPatchTest(th *kusttest_test.KustTestHarness) {

View File

@@ -20,7 +20,7 @@ import (
"strings"
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func TestSimpleBase(t *testing.T) {

View File

@@ -19,7 +19,7 @@ package target_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func TestSecretGenerator(t *testing.T) {

View File

@@ -6,7 +6,7 @@ package target_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func makeResourcesForPatchTest(th *kusttest_test.KustTestHarness) {

View File

@@ -10,17 +10,18 @@ import (
"encoding/json"
"fmt"
"log"
"sigs.k8s.io/kustomize/v3/api/transform"
"strings"
"github.com/pkg/errors"
"sigs.k8s.io/kustomize/v3/api/builtinconfig"
"sigs.k8s.io/kustomize/v3/api/ifc"
"sigs.k8s.io/kustomize/v3/api/internal/accumulator"
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
"sigs.k8s.io/kustomize/v3/api/plugins/builtins"
"sigs.k8s.io/kustomize/v3/api/plugins/loader"
"sigs.k8s.io/kustomize/v3/api/resmap"
"sigs.k8s.io/kustomize/v3/api/transform"
"sigs.k8s.io/kustomize/v3/api/types"
"sigs.k8s.io/kustomize/v3/pkg/accumulator"
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
"sigs.k8s.io/kustomize/v3/pkg/plugins"
"sigs.k8s.io/kustomize/v3/plugin/builtin"
"sigs.k8s.io/yaml"
)
@@ -32,7 +33,7 @@ type KustTarget struct {
validator ifc.Validator
rFactory *resmap.Factory
tFactory resmap.PatchFactory
pLdr *plugins.Loader
pLdr *loader.Loader
}
// NewKustTarget returns a new instance of KustTarget primed with a Loader.
@@ -41,7 +42,7 @@ func NewKustTarget(
validator ifc.Validator,
rFactory *resmap.Factory,
tFactory resmap.PatchFactory,
pLdr *plugins.Loader) (*KustTarget, error) {
pLdr *loader.Loader) (*KustTarget, error) {
content, err := loadKustFile(ldr)
if err != nil {
return nil, err
@@ -164,7 +165,7 @@ func (kt *KustTarget) makeCustomizedResMap(
func (kt *KustTarget) addHashesToNames(
ra *accumulator.ResAccumulator) error {
p := builtin.NewHashTransformerPlugin()
err := kt.configureBuiltinPlugin(p, nil, plugins.HashTransformer)
err := kt.configureBuiltinPlugin(p, nil, builtins.HashTransformer)
if err != nil {
return err
}
@@ -193,7 +194,7 @@ func (kt *KustTarget) computeInventory(
c.Namespace = inv.ConfigMap.Namespace
c.Policy = garbagePolicy.String()
p := builtin.NewInventoryTransformerPlugin()
err := kt.configureBuiltinPlugin(p, c, plugins.InventoryTransformer)
err := kt.configureBuiltinPlugin(p, c, builtins.InventoryTransformer)
if err != nil {
return err
}
@@ -371,7 +372,7 @@ func (kt *KustTarget) accumulateFile(
}
func (kt *KustTarget) configureBuiltinPlugin(
p resmap.Configurable, c interface{}, bpt plugins.BuiltinPluginType) (err error) {
p resmap.Configurable, c interface{}, bpt builtins.BuiltinPluginType) (err error) {
var y []byte
if c != nil {
y, err = yaml.Marshal(c)

View File

@@ -5,9 +5,9 @@ package target
import (
"sigs.k8s.io/kustomize/v3/api/builtinconfig"
"sigs.k8s.io/kustomize/v3/api/plugins/builtins"
"sigs.k8s.io/kustomize/v3/api/resmap"
"sigs.k8s.io/kustomize/v3/api/types"
"sigs.k8s.io/kustomize/v3/pkg/plugins"
)
// Functions dedicated to configuring the builtin
@@ -27,12 +27,12 @@ import (
func (kt *KustTarget) configureBuiltinGenerators() (
result []resmap.Generator, err error) {
for _, bpt := range []plugins.BuiltinPluginType{
plugins.ConfigMapGenerator,
plugins.SecretGenerator,
for _, bpt := range []builtins.BuiltinPluginType{
builtins.ConfigMapGenerator,
builtins.SecretGenerator,
} {
r, err := generatorConfigurators[bpt](
kt, bpt, plugins.GeneratorFactories[bpt])
kt, bpt, builtins.GeneratorFactories[bpt])
if err != nil {
return nil, err
}
@@ -44,19 +44,19 @@ func (kt *KustTarget) configureBuiltinGenerators() (
func (kt *KustTarget) configureBuiltinTransformers(
tc *builtinconfig.TransformerConfig) (
result []resmap.Transformer, err error) {
for _, bpt := range []plugins.BuiltinPluginType{
plugins.PatchStrategicMergeTransformer,
plugins.PatchTransformer,
plugins.NamespaceTransformer,
plugins.PrefixSuffixTransformer,
plugins.LabelTransformer,
plugins.AnnotationsTransformer,
plugins.PatchJson6902Transformer,
plugins.ReplicaCountTransformer,
plugins.ImageTagTransformer,
for _, bpt := range []builtins.BuiltinPluginType{
builtins.PatchStrategicMergeTransformer,
builtins.PatchTransformer,
builtins.NamespaceTransformer,
builtins.PrefixSuffixTransformer,
builtins.LabelTransformer,
builtins.AnnotationsTransformer,
builtins.PatchJson6902Transformer,
builtins.ReplicaCountTransformer,
builtins.ImageTagTransformer,
} {
r, err := transformerConfigurators[bpt](
kt, bpt, plugins.TransformerFactories[bpt], tc)
kt, bpt, builtins.TransformerFactories[bpt], tc)
if err != nil {
return nil, err
}
@@ -67,11 +67,11 @@ func (kt *KustTarget) configureBuiltinTransformers(
type gFactory func() resmap.GeneratorPlugin
var generatorConfigurators = map[plugins.BuiltinPluginType]func(
var generatorConfigurators = map[builtins.BuiltinPluginType]func(
kt *KustTarget,
bpt plugins.BuiltinPluginType,
bpt builtins.BuiltinPluginType,
factory gFactory) (result []resmap.Generator, err error){
plugins.SecretGenerator: func(kt *KustTarget, bpt plugins.BuiltinPluginType, f gFactory) (
builtins.SecretGenerator: func(kt *KustTarget, bpt builtins.BuiltinPluginType, f gFactory) (
result []resmap.Generator, err error) {
var c struct {
types.GeneratorOptions
@@ -92,7 +92,7 @@ var generatorConfigurators = map[plugins.BuiltinPluginType]func(
return
},
plugins.ConfigMapGenerator: func(kt *KustTarget, bpt plugins.BuiltinPluginType, f gFactory) (
builtins.ConfigMapGenerator: func(kt *KustTarget, bpt builtins.BuiltinPluginType, f gFactory) (
result []resmap.Generator, err error) {
var c struct {
types.GeneratorOptions
@@ -116,13 +116,13 @@ var generatorConfigurators = map[plugins.BuiltinPluginType]func(
type tFactory func() resmap.TransformerPlugin
var transformerConfigurators = map[plugins.BuiltinPluginType]func(
var transformerConfigurators = map[builtins.BuiltinPluginType]func(
kt *KustTarget,
bpt plugins.BuiltinPluginType,
bpt builtins.BuiltinPluginType,
f tFactory,
tc *builtinconfig.TransformerConfig) (result []resmap.Transformer, err error){
plugins.NamespaceTransformer: func(
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
builtins.NamespaceTransformer: func(
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
result []resmap.Transformer, err error) {
var c struct {
types.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
@@ -139,8 +139,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
return
},
plugins.PatchJson6902Transformer: func(
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, _ *builtinconfig.TransformerConfig) (
builtins.PatchJson6902Transformer: func(
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, _ *builtinconfig.TransformerConfig) (
result []resmap.Transformer, err error) {
var c struct {
Target types.PatchTarget `json:"target,omitempty" yaml:"target,omitempty"`
@@ -160,8 +160,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
}
return
},
plugins.PatchStrategicMergeTransformer: func(
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, _ *builtinconfig.TransformerConfig) (
builtins.PatchStrategicMergeTransformer: func(
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, _ *builtinconfig.TransformerConfig) (
result []resmap.Transformer, err error) {
if len(kt.kustomization.PatchesStrategicMerge) == 0 {
return
@@ -179,8 +179,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
result = append(result, p)
return
},
plugins.PatchTransformer: func(
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, _ *builtinconfig.TransformerConfig) (
builtins.PatchTransformer: func(
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, _ *builtinconfig.TransformerConfig) (
result []resmap.Transformer, err error) {
if len(kt.kustomization.Patches) == 0 {
return
@@ -203,8 +203,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
}
return
},
plugins.LabelTransformer: func(
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
builtins.LabelTransformer: func(
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
result []resmap.Transformer, err error) {
var c struct {
Labels map[string]string
@@ -220,8 +220,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
result = append(result, p)
return
},
plugins.AnnotationsTransformer: func(
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
builtins.AnnotationsTransformer: func(
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
result []resmap.Transformer, err error) {
var c struct {
Annotations map[string]string
@@ -237,8 +237,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
result = append(result, p)
return
},
plugins.PrefixSuffixTransformer: func(
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
builtins.PrefixSuffixTransformer: func(
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
result []resmap.Transformer, err error) {
var c struct {
Prefix string
@@ -256,8 +256,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
result = append(result, p)
return
},
plugins.ImageTagTransformer: func(
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
builtins.ImageTagTransformer: func(
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
result []resmap.Transformer, err error) {
var c struct {
ImageTag types.Image
@@ -275,8 +275,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
}
return
},
plugins.ReplicaCountTransformer: func(
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
builtins.ReplicaCountTransformer: func(
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
result []resmap.Transformer, err error) {
var c struct {
Replica types.Replica

View File

@@ -10,14 +10,14 @@ import (
"testing"
"sigs.k8s.io/kustomize/v3/api/ifc"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/internal/loadertest"
"sigs.k8s.io/kustomize/v3/api/resid"
"sigs.k8s.io/kustomize/v3/api/resmap"
"sigs.k8s.io/kustomize/v3/api/resource"
. "sigs.k8s.io/kustomize/v3/api/target"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/valtest"
"sigs.k8s.io/kustomize/v3/api/types"
"sigs.k8s.io/kustomize/v3/internal/loadertest"
. "sigs.k8s.io/kustomize/v3/pkg/target"
)
const (

View File

@@ -20,7 +20,7 @@ import (
"strings"
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func makeCommonFileForMultiplePatchTest(th *kusttest_test.KustTestHarness) {

View File

@@ -19,7 +19,7 @@ package target_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func TestNamespacedGenerator(t *testing.T) {

View File

@@ -7,7 +7,7 @@ import (
"strings"
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func TestNamespacedSecrets(t *testing.T) {

View File

@@ -19,7 +19,7 @@ package target_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func TestNullValues(t *testing.T) {

View File

@@ -10,15 +10,16 @@ import (
"testing"
"sigs.k8s.io/kustomize/v3/api/filesys"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/loader"
fLdr "sigs.k8s.io/kustomize/v3/api/loader"
"sigs.k8s.io/kustomize/v3/api/plugins/config"
pLdr "sigs.k8s.io/kustomize/v3/api/plugins/loader"
"sigs.k8s.io/kustomize/v3/api/resmap"
"sigs.k8s.io/kustomize/v3/api/resource"
"sigs.k8s.io/kustomize/v3/api/target"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/valtest"
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
"sigs.k8s.io/kustomize/v3/k8sdeps/transformer"
"sigs.k8s.io/kustomize/v3/pkg/plugins"
"sigs.k8s.io/kustomize/v3/pkg/target"
)
func TestPluginDir(t *testing.T) {
@@ -56,15 +57,15 @@ metadata:
t.Fatalf("err %v", err)
}
ldr, err := loader.NewLoader(
loader.RestrictionRootOnly, dir, fSys)
ldr, err := fLdr.NewLoader(
fLdr.RestrictionRootOnly, dir, fSys)
if err != nil {
t.Fatalf("Err: %v", err)
}
rf := resmap.NewFactory(resource.NewFactory(
kunstruct.NewKunstructuredFactoryImpl()), nil)
pl := plugins.NewLoader(plugins.ActivePluginConfig(), rf)
pl := pLdr.NewLoader(config.ActivePluginConfig(), rf)
tg, err := target.NewKustTarget(
ldr, valtest_test.MakeFakeValidator(), rf, transformer.NewFactoryImpl(), pl)
if err != nil {

View File

@@ -19,7 +19,7 @@ package target_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func TestPruneConfigMap(t *testing.T) {

View File

@@ -7,7 +7,7 @@ import (
"strings"
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func writeBase(th *kusttest_test.KustTestHarness) {

View File

@@ -7,7 +7,7 @@ import (
"strings"
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func writeDeployment(th *kusttest_test.KustTestHarness, path string) {

View File

@@ -6,7 +6,7 @@ package target_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func makeStatefulSetKustomization(th *kusttest_test.KustTestHarness) {

View File

@@ -19,7 +19,7 @@ package target_test
import (
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func makeTransfomersImageBase(th *kusttest_test.KustTestHarness) {

View File

@@ -7,7 +7,7 @@ import (
"strings"
"testing"
"sigs.k8s.io/kustomize/v3/api/kusttest"
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
)
func TestBasicVariableRef(t *testing.T) {

View File

@@ -10,17 +10,18 @@ import (
"testing"
"sigs.k8s.io/kustomize/v3/api/builtinconfig/consts"
"sigs.k8s.io/kustomize/v3/api/loader"
"sigs.k8s.io/kustomize/v3/api/internal/loadertest"
fLdr "sigs.k8s.io/kustomize/v3/api/loader"
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
"sigs.k8s.io/kustomize/v3/api/plugins/config"
pLdr "sigs.k8s.io/kustomize/v3/api/plugins/loader"
"sigs.k8s.io/kustomize/v3/api/resmap"
"sigs.k8s.io/kustomize/v3/api/resource"
"sigs.k8s.io/kustomize/v3/api/target"
"sigs.k8s.io/kustomize/v3/api/testutils/valtest"
"sigs.k8s.io/kustomize/v3/api/types"
"sigs.k8s.io/kustomize/v3/internal/loadertest"
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
"sigs.k8s.io/kustomize/v3/k8sdeps/transformer"
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
"sigs.k8s.io/kustomize/v3/pkg/plugins"
"sigs.k8s.io/kustomize/v3/pkg/target"
)
// KustTestHarness is an environment for running a kustomize build,
@@ -31,34 +32,34 @@ type KustTestHarness struct {
t *testing.T
rf *resmap.Factory
ldr loadertest.FakeLoader
pl *plugins.Loader
pl *pLdr.Loader
}
func NewKustTestHarness(t *testing.T, path string) *KustTestHarness {
return NewKustTestHarnessFull(
t, path, loader.RestrictionRootOnly, plugins.DefaultPluginConfig())
t, path, fLdr.RestrictionRootOnly, config.DefaultPluginConfig())
}
func NewKustTestHarnessAllowPlugins(t *testing.T, path string) *KustTestHarness {
return NewKustTestHarnessFull(
t, path, loader.RestrictionRootOnly, plugins.ActivePluginConfig())
t, path, fLdr.RestrictionRootOnly, config.ActivePluginConfig())
}
func NewKustTestHarnessNoLoadRestrictor(t *testing.T, path string) *KustTestHarness {
return NewKustTestHarnessFull(
t, path, loader.RestrictionNone, plugins.DefaultPluginConfig())
t, path, fLdr.RestrictionNone, config.DefaultPluginConfig())
}
func NewKustTestHarnessFull(
t *testing.T, path string,
lr loader.LoadRestrictorFunc, pc *types.PluginConfig) *KustTestHarness {
lr fLdr.LoadRestrictorFunc, pc *types.PluginConfig) *KustTestHarness {
rf := resmap.NewFactory(resource.NewFactory(
kunstruct.NewKunstructuredFactoryImpl()), transformer.NewFactoryImpl())
return &KustTestHarness{
t: t,
rf: rf,
ldr: loadertest.NewFakeLoaderWithRestrictor(lr, path),
pl: plugins.NewLoader(pc, rf)}
pl: pLdr.NewLoader(pc, rf)}
}
func (th *KustTestHarness) MakeKustTarget() *target.KustTarget {

View File

@@ -11,8 +11,9 @@ import (
"strings"
"testing"
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
"sigs.k8s.io/kustomize/v3/pkg/plugins"
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
"sigs.k8s.io/kustomize/v3/api/plugins/compiler"
"sigs.k8s.io/kustomize/v3/api/plugins/config"
)
// PluginTestEnv manages the plugin test environment.
@@ -20,7 +21,7 @@ import (
// manages a plugin compiler, etc.
type PluginTestEnv struct {
t *testing.T
compiler *plugins.Compiler
compiler *compiler.Compiler
workDir string
oldXdg string
wasSet bool
@@ -63,23 +64,23 @@ func (x *PluginTestEnv) BuildExecPlugin(g, v, k string) {
}
}
func (x *PluginTestEnv) makeCompiler() *plugins.Compiler {
func (x *PluginTestEnv) makeCompiler() *compiler.Compiler {
// The plugin loader wants to find object code under
// $XDG_CONFIG_HOME/kustomize/plugins
// and the compiler writes object code to
// $objRoot
// so set things up accordingly.
objRoot := filepath.Join(
x.workDir, pgmconfig.ProgramName, pgmconfig.PluginRoot)
x.workDir, pgmconfig.ProgramName, config.PluginRoot)
err := os.MkdirAll(objRoot, os.ModePerm)
if err != nil {
x.t.Error(err)
}
srcRoot, err := plugins.DefaultSrcRoot()
srcRoot, err := compiler.DefaultSrcRoot()
if err != nil {
x.t.Error(err)
}
return plugins.NewCompiler(srcRoot, objRoot)
return compiler.NewCompiler(srcRoot, objRoot)
}
func (x *PluginTestEnv) createWorkDir() {

View File

@@ -6,6 +6,7 @@ package transform
import (
"errors"
"fmt"
"sigs.k8s.io/kustomize/v3/api/resmap"
"sigs.k8s.io/kustomize/v3/api/types"
)

View File

@@ -5,10 +5,11 @@ package transform_test
import (
"fmt"
"testing"
"sigs.k8s.io/kustomize/v3/api/ifc"
. "sigs.k8s.io/kustomize/v3/api/transform"
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
"testing"
)
type noopMutator struct {

View File

@@ -223,7 +223,7 @@ normal k8s resources means that one can generate
or transform a generator or a transformer (see
[TestTransformerTransformers]).
[TestTransformerTransformers]: ../pkg/target/transformerplugin_test.go
[TestTransformerTransformers]: ../api/target/transformerplugin_test.go
### `replicas` field

View File

@@ -12,7 +12,7 @@ import (
"time"
"sigs.k8s.io/kustomize/internal/tools/doc"
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
)
const (
@@ -339,7 +339,7 @@ resources:
}, nil
},
func(d CrawledDocument, cr Crawler) error {
visited[d.ID()]++
visited[ID()]++
return nil
},
)

View File

@@ -19,8 +19,8 @@ import (
"sigs.k8s.io/kustomize/internal/tools/crawler"
"sigs.k8s.io/kustomize/internal/tools/doc"
"sigs.k8s.io/kustomize/internal/tools/httpclient"
"sigs.k8s.io/kustomize/v3/pkg/git"
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
"sigs.k8s.io/kustomize/v3/api/git"
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
)
var logger = log.New(os.Stdout, "Github Crawler: ",
@@ -122,7 +122,7 @@ func (gc githubCrawler) FetchDocument(ctx context.Context, d *doc.Document) erro
return nil
}
for _, file := range pgmconfig.KustomizationFileNames {
for _, file := range pgmconfig.RecognizedKustomizationFileNames() {
resp, err = gc.client.GetRawUserContent(url + "/" + file)
err := handle(resp, err, "/"+file)
if err != nil {

Some files were not shown because too many files have changed in this diff Show More