mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-11 17:12:51 +00:00
Merge pull request #1719 from monopole/mvPluginConfig
Move plugin config to main config package.
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
package krusty
|
package krusty
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"sigs.k8s.io/kustomize/api/plugins/config"
|
"sigs.k8s.io/kustomize/api/pgmconfig"
|
||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -35,6 +35,6 @@ func MakeDefaultOptions() *Options {
|
|||||||
DoLegacyResourceSort: true,
|
DoLegacyResourceSort: true,
|
||||||
LoadRestrictions: rootOnly,
|
LoadRestrictions: rootOnly,
|
||||||
DoPrune: false,
|
DoPrune: false,
|
||||||
PluginConfig: config.DefaultPluginConfig(),
|
PluginConfig: pgmconfig.DefaultPluginConfig(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
6
api/pgmconfig/doc.go
Normal file
6
api/pgmconfig/doc.go
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
// Copyright 2019 The Kubernetes Authors.
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
// Package pgmconfig provides configuration methods and constants
|
||||||
|
// for the kustomize API.
|
||||||
|
package pgmconfig
|
||||||
@@ -23,11 +23,11 @@ const (
|
|||||||
// An environment variable to consult for kustomization
|
// An environment variable to consult for kustomization
|
||||||
// configuration data. See:
|
// configuration data. See:
|
||||||
// https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
// https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
||||||
XdgConfigHome = "XDG_CONFIG_HOME"
|
XdgConfigHomeEnv = "XDG_CONFIG_HOME"
|
||||||
|
|
||||||
// Use this when XdgConfigHome not defined.
|
// Use this when XdgConfigHomeEnv not defined.
|
||||||
DefaultConfigSubdir = ".config"
|
XdgConfigHomeEnvDefault = ".config"
|
||||||
|
|
||||||
// Program name, for help, finding the XDG_CONFIG_DIR, etc.
|
// A program name, for use in help, finding the XDG_CONFIG_DIR, etc.
|
||||||
ProgramName = "kustomize"
|
ProgramName = "kustomize"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
// Copyright 2019 The Kubernetes Authors.
|
// Copyright 2019 The Kubernetes Authors.
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// Package config provides configuration methods and constants
|
package pgmconfig
|
||||||
// for general plugins.
|
|
||||||
package config
|
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
@@ -12,22 +10,23 @@ import (
|
|||||||
"runtime"
|
"runtime"
|
||||||
|
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
"sigs.k8s.io/kustomize/api/pgmconfig"
|
|
||||||
"sigs.k8s.io/kustomize/api/types"
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// Used with Go plugins.
|
// Symbol that must be used inside Go plugins.
|
||||||
PluginSymbol = "KustomizePlugin"
|
PluginSymbol = "KustomizePlugin"
|
||||||
|
|
||||||
// Location of builtins.
|
// Location of builtins.
|
||||||
BuiltinPluginPackage = "builtin"
|
BuiltinPluginPackage = "builtin"
|
||||||
|
|
||||||
// ApiVersion of builtins.
|
// The value of kubernetes ApiVersion to use in configuration
|
||||||
|
// files for builtin plugins.
|
||||||
|
// The value for non-builtins can be anything.
|
||||||
BuiltinPluginApiVersion = BuiltinPluginPackage
|
BuiltinPluginApiVersion = BuiltinPluginPackage
|
||||||
|
|
||||||
// Domain from which kustomize code is imported, for locating
|
// Domain from which kustomize code is imported, for locating
|
||||||
// plugin source code under $GOPATH.
|
// plugin source code under $GOPATH when GOPATH is defined.
|
||||||
DomainName = "sigs.k8s.io"
|
DomainName = "sigs.k8s.io"
|
||||||
|
|
||||||
// Name of directory housing all plugins.
|
// Name of directory housing all plugins.
|
||||||
@@ -73,12 +72,12 @@ func AddFlagEnablePlugins(set *pflag.FlagSet, v *bool) {
|
|||||||
|
|
||||||
// Use https://github.com/kirsle/configdir instead?
|
// Use https://github.com/kirsle/configdir instead?
|
||||||
func configRoot() string {
|
func configRoot() string {
|
||||||
dir := os.Getenv(pgmconfig.XdgConfigHome)
|
dir := os.Getenv(XdgConfigHomeEnv)
|
||||||
if len(dir) == 0 {
|
if len(dir) == 0 {
|
||||||
dir = filepath.Join(
|
dir = filepath.Join(
|
||||||
HomeDir(), pgmconfig.DefaultConfigSubdir)
|
HomeDir(), XdgConfigHomeEnvDefault)
|
||||||
}
|
}
|
||||||
return filepath.Join(dir, pgmconfig.ProgramName)
|
return filepath.Join(dir, ProgramName)
|
||||||
}
|
}
|
||||||
|
|
||||||
func HomeDir() string {
|
func HomeDir() string {
|
||||||
@@ -1,29 +1,27 @@
|
|||||||
// Copyright 2019 The Kubernetes Authors.
|
// Copyright 2019 The Kubernetes Authors.
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
package config
|
package pgmconfig
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/pgmconfig"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestConfigDirNoXdg(t *testing.T) {
|
func TestConfigDirNoXdg(t *testing.T) {
|
||||||
xdg, isSet := os.LookupEnv(pgmconfig.XdgConfigHome)
|
xdg, isSet := os.LookupEnv(XdgConfigHomeEnv)
|
||||||
if isSet {
|
if isSet {
|
||||||
os.Unsetenv(pgmconfig.XdgConfigHome)
|
os.Unsetenv(XdgConfigHomeEnv)
|
||||||
}
|
}
|
||||||
s := configRoot()
|
s := configRoot()
|
||||||
if isSet {
|
if isSet {
|
||||||
os.Setenv(pgmconfig.XdgConfigHome, xdg)
|
os.Setenv(XdgConfigHomeEnv, xdg)
|
||||||
}
|
}
|
||||||
if !strings.HasSuffix(
|
if !strings.HasSuffix(
|
||||||
s,
|
s,
|
||||||
rootedPath(pgmconfig.DefaultConfigSubdir, pgmconfig.ProgramName)) {
|
rootedPath(XdgConfigHomeEnvDefault, ProgramName)) {
|
||||||
t.Fatalf("unexpected config dir: %s", s)
|
t.Fatalf("unexpected config dir: %s", s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -33,13 +31,13 @@ func rootedPath(elem ...string) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestConfigDirWithXdg(t *testing.T) {
|
func TestConfigDirWithXdg(t *testing.T) {
|
||||||
xdg, isSet := os.LookupEnv(pgmconfig.XdgConfigHome)
|
xdg, isSet := os.LookupEnv(XdgConfigHomeEnv)
|
||||||
os.Setenv(pgmconfig.XdgConfigHome, rootedPath("blah"))
|
os.Setenv(XdgConfigHomeEnv, rootedPath("blah"))
|
||||||
s := configRoot()
|
s := configRoot()
|
||||||
if isSet {
|
if isSet {
|
||||||
os.Setenv(pgmconfig.XdgConfigHome, xdg)
|
os.Setenv(XdgConfigHomeEnv, xdg)
|
||||||
}
|
}
|
||||||
if s != rootedPath("blah", pgmconfig.ProgramName) {
|
if s != rootedPath("blah", ProgramName) {
|
||||||
t.Fatalf("unexpected config dir: %s", s)
|
t.Fatalf("unexpected config dir: %s", s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -13,7 +13,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/pgmconfig"
|
"sigs.k8s.io/kustomize/api/pgmconfig"
|
||||||
"sigs.k8s.io/kustomize/api/plugins/config"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Compiler creates Go plugin object files.
|
// Compiler creates Go plugin object files.
|
||||||
@@ -36,20 +35,20 @@ func DefaultSrcRoot() (string, error) {
|
|||||||
|
|
||||||
root = filepath.Join(
|
root = filepath.Join(
|
||||||
os.Getenv("GOPATH"), "src",
|
os.Getenv("GOPATH"), "src",
|
||||||
config.DomainName, pgmconfig.ProgramName, config.PluginRoot)
|
pgmconfig.DomainName, pgmconfig.ProgramName, pgmconfig.PluginRoot)
|
||||||
if FileExists(root) {
|
if FileExists(root) {
|
||||||
return root, nil
|
return root, nil
|
||||||
}
|
}
|
||||||
nope = append(nope, root)
|
nope = append(nope, root)
|
||||||
|
|
||||||
root = config.DefaultPluginConfig().DirectoryPath
|
root = pgmconfig.DefaultPluginConfig().DirectoryPath
|
||||||
if FileExists(root) {
|
if FileExists(root) {
|
||||||
return root, nil
|
return root, nil
|
||||||
}
|
}
|
||||||
nope = append(nope, root)
|
nope = append(nope, root)
|
||||||
|
|
||||||
root = filepath.Join(
|
root = filepath.Join(
|
||||||
config.HomeDir(), pgmconfig.ProgramName, config.PluginRoot)
|
pgmconfig.HomeDir(), pgmconfig.ProgramName, pgmconfig.PluginRoot)
|
||||||
if FileExists(root) {
|
if FileExists(root) {
|
||||||
return root, nil
|
return root, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import (
|
|||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/internal/loadertest"
|
"sigs.k8s.io/kustomize/api/internal/loadertest"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
||||||
"sigs.k8s.io/kustomize/api/plugins/config"
|
"sigs.k8s.io/kustomize/api/pgmconfig"
|
||||||
. "sigs.k8s.io/kustomize/api/plugins/execplugin"
|
. "sigs.k8s.io/kustomize/api/plugins/execplugin"
|
||||||
"sigs.k8s.io/kustomize/api/plugins/loader"
|
"sigs.k8s.io/kustomize/api/plugins/loader"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
@@ -46,7 +46,7 @@ s/$BAR/bar/g
|
|||||||
|
|
||||||
p, err := NewExecPlugin(
|
p, err := NewExecPlugin(
|
||||||
loader.AbsolutePluginPath(
|
loader.AbsolutePluginPath(
|
||||||
config.DefaultPluginConfig(),
|
pgmconfig.DefaultPluginConfig(),
|
||||||
pluginConfig.OrgId()))
|
pluginConfig.OrgId()))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err.Error())
|
t.Fatalf("unexpected error: %v", err.Error())
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ import (
|
|||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"sigs.k8s.io/kustomize/api/ifc"
|
"sigs.k8s.io/kustomize/api/ifc"
|
||||||
|
"sigs.k8s.io/kustomize/api/pgmconfig"
|
||||||
"sigs.k8s.io/kustomize/api/plugins/builtinhelpers"
|
"sigs.k8s.io/kustomize/api/plugins/builtinhelpers"
|
||||||
"sigs.k8s.io/kustomize/api/plugins/config"
|
|
||||||
"sigs.k8s.io/kustomize/api/plugins/execplugin"
|
"sigs.k8s.io/kustomize/api/plugins/execplugin"
|
||||||
"sigs.k8s.io/kustomize/api/resid"
|
"sigs.k8s.io/kustomize/api/resid"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
@@ -103,7 +103,7 @@ func (l *Loader) absolutePluginPath(id resid.ResId) string {
|
|||||||
func isBuiltinPlugin(res *resource.Resource) bool {
|
func isBuiltinPlugin(res *resource.Resource) bool {
|
||||||
// TODO: the special string should appear in Group, not Version.
|
// TODO: the special string should appear in Group, not Version.
|
||||||
return res.GetGvk().Group == "" &&
|
return res.GetGvk().Group == "" &&
|
||||||
res.GetGvk().Version == config.BuiltinPluginApiVersion
|
res.GetGvk().Version == pgmconfig.BuiltinPluginApiVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *Loader) loadAndConfigurePlugin(
|
func (l *Loader) loadAndConfigurePlugin(
|
||||||
@@ -117,7 +117,7 @@ func (l *Loader) loadAndConfigurePlugin(
|
|||||||
} else if l.pc.Enabled {
|
} else if l.pc.Enabled {
|
||||||
c, err = l.loadPlugin(res.OrgId())
|
c, err = l.loadPlugin(res.OrgId())
|
||||||
} else {
|
} else {
|
||||||
err = config.NotEnabledErr(res.OrgId().Kind)
|
err = pgmconfig.NotEnabledErr(res.OrgId().Kind)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -178,11 +178,11 @@ func (l *Loader) loadGoPlugin(id resid.ResId) (resmap.Configurable, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrapf(err, "plugin %s fails to load", absPath)
|
return nil, errors.Wrapf(err, "plugin %s fails to load", absPath)
|
||||||
}
|
}
|
||||||
symbol, err := p.Lookup(config.PluginSymbol)
|
symbol, err := p.Lookup(pgmconfig.PluginSymbol)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrapf(
|
return nil, errors.Wrapf(
|
||||||
err, "plugin %s doesn't have symbol %s",
|
err, "plugin %s doesn't have symbol %s",
|
||||||
regId, config.PluginSymbol)
|
regId, pgmconfig.PluginSymbol)
|
||||||
}
|
}
|
||||||
c, ok := symbol.(resmap.Configurable)
|
c, ok := symbol.(resmap.Configurable)
|
||||||
if !ok {
|
if !ok {
|
||||||
|
|||||||
@@ -8,12 +8,12 @@ import (
|
|||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/internal/loadertest"
|
"sigs.k8s.io/kustomize/api/internal/loadertest"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
||||||
"sigs.k8s.io/kustomize/api/plugins/config"
|
"sigs.k8s.io/kustomize/api/pgmconfig"
|
||||||
. "sigs.k8s.io/kustomize/api/plugins/loader"
|
. "sigs.k8s.io/kustomize/api/plugins/loader"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
"sigs.k8s.io/kustomize/api/resource"
|
||||||
"sigs.k8s.io/kustomize/api/testutils/kusttest"
|
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
|
||||||
"sigs.k8s.io/kustomize/api/testutils/valtest"
|
valtest_test "sigs.k8s.io/kustomize/api/testutils/valtest"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -57,7 +57,7 @@ func TestLoader(t *testing.T) {
|
|||||||
|
|
||||||
ldr := loadertest.NewFakeLoader("/foo")
|
ldr := loadertest.NewFakeLoader("/foo")
|
||||||
|
|
||||||
pLdr := NewLoader(config.ActivePluginConfig(), rmF)
|
pLdr := NewLoader(pgmconfig.ActivePluginConfig(), rmF)
|
||||||
if pLdr == nil {
|
if pLdr == nil {
|
||||||
t.Fatal("expect non-nil loader")
|
t.Fatal("expect non-nil loader")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/loader"
|
"sigs.k8s.io/kustomize/api/loader"
|
||||||
"sigs.k8s.io/kustomize/api/plugins/config"
|
"sigs.k8s.io/kustomize/api/pgmconfig"
|
||||||
"sigs.k8s.io/kustomize/api/testutils/kusttest"
|
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestOrderPreserved(t *testing.T) {
|
func TestOrderPreserved(t *testing.T) {
|
||||||
@@ -300,7 +300,7 @@ spec:
|
|||||||
func TestSharedPatchDisAllowed(t *testing.T) {
|
func TestSharedPatchDisAllowed(t *testing.T) {
|
||||||
th := kusttest_test.NewKustTestHarnessFull(
|
th := kusttest_test.NewKustTestHarnessFull(
|
||||||
t, "/app/overlay",
|
t, "/app/overlay",
|
||||||
loader.RestrictionRootOnly, config.DefaultPluginConfig())
|
loader.RestrictionRootOnly, pgmconfig.DefaultPluginConfig())
|
||||||
writeSmallBase(th)
|
writeSmallBase(th)
|
||||||
th.WriteK("/app/overlay", `
|
th.WriteK("/app/overlay", `
|
||||||
commonLabels:
|
commonLabels:
|
||||||
@@ -332,7 +332,7 @@ spec:
|
|||||||
func TestSharedPatchAllowed(t *testing.T) {
|
func TestSharedPatchAllowed(t *testing.T) {
|
||||||
th := kusttest_test.NewKustTestHarnessFull(
|
th := kusttest_test.NewKustTestHarnessFull(
|
||||||
t, "/app/overlay",
|
t, "/app/overlay",
|
||||||
loader.RestrictionNone, config.DefaultPluginConfig())
|
loader.RestrictionNone, pgmconfig.DefaultPluginConfig())
|
||||||
writeSmallBase(th)
|
writeSmallBase(th)
|
||||||
th.WriteK("/app/overlay", `
|
th.WriteK("/app/overlay", `
|
||||||
commonLabels:
|
commonLabels:
|
||||||
|
|||||||
@@ -13,13 +13,13 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
|
||||||
"sigs.k8s.io/kustomize/api/k8sdeps/transformer"
|
"sigs.k8s.io/kustomize/api/k8sdeps/transformer"
|
||||||
fLdr "sigs.k8s.io/kustomize/api/loader"
|
fLdr "sigs.k8s.io/kustomize/api/loader"
|
||||||
"sigs.k8s.io/kustomize/api/plugins/config"
|
"sigs.k8s.io/kustomize/api/pgmconfig"
|
||||||
pLdr "sigs.k8s.io/kustomize/api/plugins/loader"
|
pLdr "sigs.k8s.io/kustomize/api/plugins/loader"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
"sigs.k8s.io/kustomize/api/resource"
|
||||||
"sigs.k8s.io/kustomize/api/target"
|
"sigs.k8s.io/kustomize/api/target"
|
||||||
"sigs.k8s.io/kustomize/api/testutils/kusttest"
|
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
|
||||||
"sigs.k8s.io/kustomize/api/testutils/valtest"
|
valtest_test "sigs.k8s.io/kustomize/api/testutils/valtest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestPluginDir(t *testing.T) {
|
func TestPluginDir(t *testing.T) {
|
||||||
@@ -65,7 +65,7 @@ metadata:
|
|||||||
rf := resmap.NewFactory(resource.NewFactory(
|
rf := resmap.NewFactory(resource.NewFactory(
|
||||||
kunstruct.NewKunstructuredFactoryImpl()), nil)
|
kunstruct.NewKunstructuredFactoryImpl()), nil)
|
||||||
|
|
||||||
pl := pLdr.NewLoader(config.ActivePluginConfig(), rf)
|
pl := pLdr.NewLoader(pgmconfig.ActivePluginConfig(), rf)
|
||||||
tg, err := target.NewKustTarget(
|
tg, err := target.NewKustTarget(
|
||||||
ldr, valtest_test.MakeFakeValidator(), rf, transformer.NewFactoryImpl(), pl)
|
ldr, valtest_test.MakeFakeValidator(), rf, transformer.NewFactoryImpl(), pl)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ import (
|
|||||||
fLdr "sigs.k8s.io/kustomize/api/loader"
|
fLdr "sigs.k8s.io/kustomize/api/loader"
|
||||||
"sigs.k8s.io/kustomize/api/pgmconfig"
|
"sigs.k8s.io/kustomize/api/pgmconfig"
|
||||||
"sigs.k8s.io/kustomize/api/plugins/builtinconfig/consts"
|
"sigs.k8s.io/kustomize/api/plugins/builtinconfig/consts"
|
||||||
"sigs.k8s.io/kustomize/api/plugins/config"
|
|
||||||
pLdr "sigs.k8s.io/kustomize/api/plugins/loader"
|
pLdr "sigs.k8s.io/kustomize/api/plugins/loader"
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
"sigs.k8s.io/kustomize/api/resource"
|
||||||
@@ -37,17 +36,17 @@ type KustTestHarness struct {
|
|||||||
|
|
||||||
func NewKustTestHarness(t *testing.T, path string) *KustTestHarness {
|
func NewKustTestHarness(t *testing.T, path string) *KustTestHarness {
|
||||||
return NewKustTestHarnessFull(
|
return NewKustTestHarnessFull(
|
||||||
t, path, fLdr.RestrictionRootOnly, config.DefaultPluginConfig())
|
t, path, fLdr.RestrictionRootOnly, pgmconfig.DefaultPluginConfig())
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewKustTestHarnessAllowPlugins(t *testing.T, path string) *KustTestHarness {
|
func NewKustTestHarnessAllowPlugins(t *testing.T, path string) *KustTestHarness {
|
||||||
return NewKustTestHarnessFull(
|
return NewKustTestHarnessFull(
|
||||||
t, path, fLdr.RestrictionRootOnly, config.ActivePluginConfig())
|
t, path, fLdr.RestrictionRootOnly, pgmconfig.ActivePluginConfig())
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewKustTestHarnessNoLoadRestrictor(t *testing.T, path string) *KustTestHarness {
|
func NewKustTestHarnessNoLoadRestrictor(t *testing.T, path string) *KustTestHarness {
|
||||||
return NewKustTestHarnessFull(
|
return NewKustTestHarnessFull(
|
||||||
t, path, fLdr.RestrictionNone, config.DefaultPluginConfig())
|
t, path, fLdr.RestrictionNone, pgmconfig.DefaultPluginConfig())
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewKustTestHarnessFull(
|
func NewKustTestHarnessFull(
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ import (
|
|||||||
|
|
||||||
"sigs.k8s.io/kustomize/api/pgmconfig"
|
"sigs.k8s.io/kustomize/api/pgmconfig"
|
||||||
"sigs.k8s.io/kustomize/api/plugins/compiler"
|
"sigs.k8s.io/kustomize/api/plugins/compiler"
|
||||||
"sigs.k8s.io/kustomize/api/plugins/config"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// PluginTestEnv manages the plugin test environment.
|
// PluginTestEnv manages the plugin test environment.
|
||||||
@@ -71,7 +70,7 @@ func (x *PluginTestEnv) makeCompiler() *compiler.Compiler {
|
|||||||
// $objRoot
|
// $objRoot
|
||||||
// so set things up accordingly.
|
// so set things up accordingly.
|
||||||
objRoot := filepath.Join(
|
objRoot := filepath.Join(
|
||||||
x.workDir, pgmconfig.ProgramName, config.PluginRoot)
|
x.workDir, pgmconfig.ProgramName, pgmconfig.PluginRoot)
|
||||||
err := os.MkdirAll(objRoot, os.ModePerm)
|
err := os.MkdirAll(objRoot, os.ModePerm)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
x.t.Error(err)
|
x.t.Error(err)
|
||||||
@@ -100,14 +99,14 @@ func (x *PluginTestEnv) removeWorkDir() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (x *PluginTestEnv) setEnv() {
|
func (x *PluginTestEnv) setEnv() {
|
||||||
x.oldXdg, x.wasSet = os.LookupEnv(pgmconfig.XdgConfigHome)
|
x.oldXdg, x.wasSet = os.LookupEnv(pgmconfig.XdgConfigHomeEnv)
|
||||||
os.Setenv(pgmconfig.XdgConfigHome, x.workDir)
|
os.Setenv(pgmconfig.XdgConfigHomeEnv, x.workDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *PluginTestEnv) resetEnv() {
|
func (x *PluginTestEnv) resetEnv() {
|
||||||
if x.wasSet {
|
if x.wasSet {
|
||||||
os.Setenv(pgmconfig.XdgConfigHome, x.oldXdg)
|
os.Setenv(pgmconfig.XdgConfigHomeEnv, x.oldXdg)
|
||||||
} else {
|
} else {
|
||||||
os.Unsetenv(pgmconfig.XdgConfigHome)
|
os.Unsetenv(pgmconfig.XdgConfigHomeEnv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/api/krusty"
|
"sigs.k8s.io/kustomize/api/krusty"
|
||||||
"sigs.k8s.io/kustomize/api/pgmconfig"
|
"sigs.k8s.io/kustomize/api/pgmconfig"
|
||||||
"sigs.k8s.io/kustomize/api/plugins/config"
|
|
||||||
"sigs.k8s.io/kustomize/api/resmap"
|
"sigs.k8s.io/kustomize/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/api/resource"
|
"sigs.k8s.io/kustomize/api/resource"
|
||||||
"sigs.k8s.io/yaml"
|
"sigs.k8s.io/yaml"
|
||||||
@@ -75,7 +74,7 @@ func NewCmdBuild(out io.Writer) *cobra.Command {
|
|||||||
"output", "o", "",
|
"output", "o", "",
|
||||||
"If specified, write the build output to this path.")
|
"If specified, write the build output to this path.")
|
||||||
krusty.AddFlagLoadRestrictor(cmd.Flags())
|
krusty.AddFlagLoadRestrictor(cmd.Flags())
|
||||||
config.AddFlagEnablePlugins(
|
pgmconfig.AddFlagEnablePlugins(
|
||||||
cmd.Flags(), &o.pluginsEnabled)
|
cmd.Flags(), &o.pluginsEnabled)
|
||||||
addFlagReorderOutput(cmd.Flags())
|
addFlagReorderOutput(cmd.Flags())
|
||||||
cmd.AddCommand(NewCmdBuildPrune(out))
|
cmd.AddCommand(NewCmdBuildPrune(out))
|
||||||
|
|||||||
Reference in New Issue
Block a user