Improve config package names and reduce API exposure.

This commit is contained in:
jregan
2019-11-03 16:18:16 -08:00
parent 1a4330a7cb
commit 077c7b2d20
41 changed files with 102 additions and 113 deletions

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package consts
package builtinpluginconsts
const commonAnnotationFieldSpecs = `
commonAnnotations:

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package consts
package builtinpluginconsts
const commonLabelFieldSpecs = `
commonLabels:

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package consts
package builtinpluginconsts
import (
"bytes"

View File

@@ -0,0 +1,8 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
// Package builtinpluginconsts provides builtin plugin
// configuration data. Builtin plugins can also be
// configured individually with plugin config files,
// in which case the constants in this package are ignored.
package builtinpluginconsts

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package consts
package builtinpluginconsts
const (
// imageFieldSpecs is left empty since `containers` and `initContainers`

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package consts
package builtinpluginconsts
const (
namePrefixFieldSpecs = `

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package consts
package builtinpluginconsts
const (
nameReferenceFieldSpecs = `

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package consts
package builtinpluginconsts
const (
namespaceFieldSpecs = `

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package consts
package builtinpluginconsts
const replicasFieldSpecs = `
replicas:

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package consts
package builtinpluginconsts
const (
varReferenceFieldSpecs = `

View File

@@ -1,6 +1,6 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
// Package pgmconfig provides configuration methods and constants
// Package konfig provides configuration methods and constants
// for the kustomize API.
package pgmconfig
package konfig

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package pgmconfig
package konfig
// RecognizedKustomizationFileNames is a list of file names
// that kustomize recognizes.

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package pgmconfig
package konfig
import (
"os"

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package pgmconfig
package konfig
import (
"os"

View File

@@ -4,7 +4,7 @@
package krusty
import (
"sigs.k8s.io/kustomize/api/pgmconfig"
"sigs.k8s.io/kustomize/api/konfig"
"sigs.k8s.io/kustomize/api/types"
)
@@ -35,6 +35,6 @@ func MakeDefaultOptions() *Options {
DoLegacyResourceSort: true,
LoadRestrictions: types.LoadRestrictionsRootOnly,
DoPrune: false,
PluginConfig: pgmconfig.DisabledPluginConfig(),
PluginConfig: konfig.DisabledPluginConfig(),
}
}

View File

@@ -15,7 +15,7 @@ import (
"sigs.k8s.io/kustomize/api/filesys"
"sigs.k8s.io/kustomize/api/git"
"sigs.k8s.io/kustomize/api/ifc"
"sigs.k8s.io/kustomize/api/pgmconfig"
"sigs.k8s.io/kustomize/api/konfig"
)
type testData struct {
@@ -374,7 +374,7 @@ func TestNewLoaderAtGitClone(t *testing.T) {
fSys.MkdirAll(coRoot + "/" + pathInRepo)
fSys.WriteFile(
coRoot+"/"+pathInRepo+"/"+
pgmconfig.DefaultKustomizationFileName(),
konfig.DefaultKustomizationFileName(),
[]byte(`
whatever
`))

View File

@@ -1,5 +0,0 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
// Package consts provides builtin plugin configuration data.
package consts

View File

@@ -8,7 +8,7 @@ import (
"sort"
"sigs.k8s.io/kustomize/api/ifc"
"sigs.k8s.io/kustomize/api/plugins/builtinconfig/consts"
"sigs.k8s.io/kustomize/api/konfig/builtinpluginconsts"
"sigs.k8s.io/kustomize/api/types"
)
@@ -33,7 +33,7 @@ func MakeEmptyConfig() *TransformerConfig {
// MakeDefaultConfig returns a default TransformerConfig.
func MakeDefaultConfig() *TransformerConfig {
c, err := makeTransformerConfigFromBytes(
consts.GetDefaultFieldSpecs())
builtinpluginconsts.GetDefaultFieldSpecs())
if err != nil {
log.Fatalf("Unable to make default transformconfig: %v", err)
}

View File

@@ -13,7 +13,7 @@ import (
"time"
"sigs.k8s.io/kustomize/api/filesys"
"sigs.k8s.io/kustomize/api/pgmconfig"
"sigs.k8s.io/kustomize/api/konfig"
)
// Compiler creates Go plugin object files.
@@ -31,32 +31,32 @@ type Compiler struct {
// DefaultSrcRoot guesses where the user
// has her ${g}/${v}/$lower(${k})/${k}.go files.
func DefaultSrcRoot(fSys filesys.FileSystem) (string, error) {
return pgmconfig.FirstDirThatExistsElseError(
"source directory", fSys, []pgmconfig.NotedFunc{
return konfig.FirstDirThatExistsElseError(
"source directory", fSys, []konfig.NotedFunc{
{
Note: "old style $GOPATH",
F: func() string {
return filepath.Join(
os.Getenv("GOPATH"),
"src", pgmconfig.DomainName,
pgmconfig.ProgramName, pgmconfig.RelPluginHome)
"src", konfig.DomainName,
konfig.ProgramName, konfig.RelPluginHome)
},
},
{
Note: "HOME with literal 'gopath'",
F: func() string {
return filepath.Join(
pgmconfig.HomeDir(), "gopath",
"src", pgmconfig.DomainName,
pgmconfig.ProgramName, pgmconfig.RelPluginHome)
konfig.HomeDir(), "gopath",
"src", konfig.DomainName,
konfig.ProgramName, konfig.RelPluginHome)
},
},
{
Note: "home directory",
F: func() string {
return filepath.Join(
pgmconfig.HomeDir(), pgmconfig.DomainName,
pgmconfig.ProgramName, pgmconfig.RelPluginHome)
konfig.HomeDir(), konfig.DomainName,
konfig.ProgramName, konfig.RelPluginHome)
},
},
})

View File

@@ -10,7 +10,7 @@ import (
"sigs.k8s.io/kustomize/api/internal/loadertest"
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
"sigs.k8s.io/kustomize/api/pgmconfig"
"sigs.k8s.io/kustomize/api/konfig"
. "sigs.k8s.io/kustomize/api/plugins/execplugin"
"sigs.k8s.io/kustomize/api/plugins/loader"
"sigs.k8s.io/kustomize/api/resmap"
@@ -45,7 +45,7 @@ s/$BAR/bar/g
p := NewExecPlugin(
loader.AbsolutePluginPath(
pgmconfig.DisabledPluginConfig(),
konfig.DisabledPluginConfig(),
pluginConfig.OrgId()))
// Not checking to see if the plugin is executable,
// because this test does not run it.

View File

@@ -13,7 +13,7 @@ import (
"github.com/pkg/errors"
"sigs.k8s.io/kustomize/api/ifc"
"sigs.k8s.io/kustomize/api/pgmconfig"
"sigs.k8s.io/kustomize/api/konfig"
"sigs.k8s.io/kustomize/api/plugins/builtinhelpers"
"sigs.k8s.io/kustomize/api/plugins/execplugin"
"sigs.k8s.io/kustomize/api/resid"
@@ -103,7 +103,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 == pgmconfig.BuiltinPluginApiVersion
res.GetGvk().Version == konfig.BuiltinPluginApiVersion
}
func (l *Loader) loadAndConfigurePlugin(
@@ -188,11 +188,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(pgmconfig.PluginSymbol)
symbol, err := p.Lookup(konfig.PluginSymbol)
if err != nil {
return nil, errors.Wrapf(
err, "plugin %s doesn't have symbol %s",
regId, pgmconfig.PluginSymbol)
regId, konfig.PluginSymbol)
}
c, ok := symbol.(resmap.Configurable)
if !ok {

View File

@@ -8,7 +8,7 @@ import (
"sigs.k8s.io/kustomize/api/internal/loadertest"
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
"sigs.k8s.io/kustomize/api/pgmconfig"
"sigs.k8s.io/kustomize/api/konfig"
. "sigs.k8s.io/kustomize/api/plugins/loader"
"sigs.k8s.io/kustomize/api/resmap"
"sigs.k8s.io/kustomize/api/resource"
@@ -57,7 +57,7 @@ func TestLoader(t *testing.T) {
ldr := loadertest.NewFakeLoader("/foo")
c, err := pgmconfig.EnabledPluginConfig()
c, err := konfig.EnabledPluginConfig()
if err != nil {
t.Fatal(err)
}

View File

@@ -7,8 +7,8 @@ import (
"strings"
"testing"
"sigs.k8s.io/kustomize/api/konfig"
"sigs.k8s.io/kustomize/api/loader"
"sigs.k8s.io/kustomize/api/pgmconfig"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
@@ -300,7 +300,7 @@ spec:
func TestSharedPatchDisAllowed(t *testing.T) {
th := kusttest_test.NewKustTestHarnessFull(
t, "/app/overlay",
loader.RestrictionRootOnly, pgmconfig.DisabledPluginConfig())
loader.RestrictionRootOnly, konfig.DisabledPluginConfig())
writeSmallBase(th)
th.WriteK("/app/overlay", `
commonLabels:
@@ -332,7 +332,7 @@ spec:
func TestSharedPatchAllowed(t *testing.T) {
th := kusttest_test.NewKustTestHarnessFull(
t, "/app/overlay",
loader.RestrictionNone, pgmconfig.DisabledPluginConfig())
loader.RestrictionNone, konfig.DisabledPluginConfig())
writeSmallBase(th)
th.WriteK("/app/overlay", `
commonLabels:

View File

@@ -15,7 +15,7 @@ import (
"github.com/pkg/errors"
"sigs.k8s.io/kustomize/api/ifc"
"sigs.k8s.io/kustomize/api/internal/accumulator"
"sigs.k8s.io/kustomize/api/pgmconfig"
"sigs.k8s.io/kustomize/api/konfig"
"sigs.k8s.io/kustomize/api/plugins/builtinconfig"
"sigs.k8s.io/kustomize/api/plugins/builtinhelpers"
"sigs.k8s.io/kustomize/api/plugins/builtins"
@@ -85,7 +85,7 @@ func commaOr(q []string) string {
func loadKustFile(ldr ifc.Loader) ([]byte, error) {
var content []byte
match := 0
for _, kf := range pgmconfig.RecognizedKustomizationFileNames() {
for _, kf := range konfig.RecognizedKustomizationFileNames() {
c, err := ldr.Load(kf)
if err == nil {
match += 1
@@ -110,7 +110,7 @@ type errMissingKustomization struct {
func (e *errMissingKustomization) Error() string {
return fmt.Sprintf(
"unable to find one of %v in directory '%s'",
commaOr(quoted(pgmconfig.RecognizedKustomizationFileNames())),
commaOr(quoted(konfig.RecognizedKustomizationFileNames())),
e.path)
}

View File

@@ -12,8 +12,8 @@ import (
"sigs.k8s.io/kustomize/api/filesys"
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
"sigs.k8s.io/kustomize/api/k8sdeps/transformer"
"sigs.k8s.io/kustomize/api/konfig"
fLdr "sigs.k8s.io/kustomize/api/loader"
"sigs.k8s.io/kustomize/api/pgmconfig"
pLdr "sigs.k8s.io/kustomize/api/plugins/loader"
"sigs.k8s.io/kustomize/api/resmap"
"sigs.k8s.io/kustomize/api/resource"
@@ -65,7 +65,7 @@ metadata:
rf := resmap.NewFactory(resource.NewFactory(
kunstruct.NewKunstructuredFactoryImpl()), nil)
c, err := pgmconfig.EnabledPluginConfig()
c, err := konfig.EnabledPluginConfig()
if err != nil {
t.Fatal(err)
}

View File

@@ -12,14 +12,14 @@ import (
"sigs.k8s.io/kustomize/api/internal/loadertest"
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
"sigs.k8s.io/kustomize/api/k8sdeps/transformer"
"sigs.k8s.io/kustomize/api/konfig"
"sigs.k8s.io/kustomize/api/konfig/builtinpluginconsts"
fLdr "sigs.k8s.io/kustomize/api/loader"
"sigs.k8s.io/kustomize/api/pgmconfig"
"sigs.k8s.io/kustomize/api/plugins/builtinconfig/consts"
pLdr "sigs.k8s.io/kustomize/api/plugins/loader"
"sigs.k8s.io/kustomize/api/resmap"
"sigs.k8s.io/kustomize/api/resource"
"sigs.k8s.io/kustomize/api/target"
"sigs.k8s.io/kustomize/api/testutils/valtest"
valtest_test "sigs.k8s.io/kustomize/api/testutils/valtest"
"sigs.k8s.io/kustomize/api/types"
)
@@ -36,11 +36,11 @@ type KustTestHarness struct {
func NewKustTestHarness(t *testing.T, path string) *KustTestHarness {
return NewKustTestHarnessFull(
t, path, fLdr.RestrictionRootOnly, pgmconfig.DisabledPluginConfig())
t, path, fLdr.RestrictionRootOnly, konfig.DisabledPluginConfig())
}
func NewKustTestHarnessAllowPlugins(t *testing.T, path string) *KustTestHarness {
c, err := pgmconfig.EnabledPluginConfig()
c, err := konfig.EnabledPluginConfig()
if err != nil {
t.Fatal(err)
}
@@ -49,7 +49,7 @@ func NewKustTestHarnessAllowPlugins(t *testing.T, path string) *KustTestHarness
func NewKustTestHarnessNoLoadRestrictor(t *testing.T, path string) *KustTestHarness {
return NewKustTestHarnessFull(
t, path, fLdr.RestrictionNone, pgmconfig.DisabledPluginConfig())
t, path, fLdr.RestrictionNone, konfig.DisabledPluginConfig())
}
func NewKustTestHarnessFull(
@@ -89,7 +89,7 @@ func (th *KustTestHarness) WriteK(dir string, content string) {
th.WriteF(
filepath.Join(
dir,
pgmconfig.DefaultKustomizationFileName()), `
konfig.DefaultKustomizationFileName()), `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
`+content)
@@ -111,7 +111,7 @@ func (th *KustTestHarness) FromMapAndOption(
}
func (th *KustTestHarness) WriteDefaultConfigs(fName string) {
m := consts.GetDefaultFieldSpecsAsMap()
m := builtinpluginconsts.GetDefaultFieldSpecsAsMap()
var content []byte
for _, tCfg := range m {
content = append(content, []byte(tCfg)...)

View File

@@ -12,7 +12,7 @@ import (
"testing"
"sigs.k8s.io/kustomize/api/filesys"
"sigs.k8s.io/kustomize/api/pgmconfig"
"sigs.k8s.io/kustomize/api/konfig"
"sigs.k8s.io/kustomize/api/plugins/compiler"
)
@@ -71,7 +71,7 @@ func (x *PluginTestEnv) makeCompiler() *compiler.Compiler {
// $objRoot
// so set things up accordingly.
objRoot := filepath.Join(
x.workDir, pgmconfig.ProgramName, pgmconfig.RelPluginHome)
x.workDir, konfig.ProgramName, konfig.RelPluginHome)
err := os.MkdirAll(objRoot, os.ModePerm)
if err != nil {
x.t.Error(err)
@@ -100,14 +100,14 @@ func (x *PluginTestEnv) removeWorkDir() {
}
func (x *PluginTestEnv) setEnv() {
x.oldXdg, x.wasSet = os.LookupEnv(pgmconfig.XdgConfigHomeEnv)
os.Setenv(pgmconfig.XdgConfigHomeEnv, x.workDir)
x.oldXdg, x.wasSet = os.LookupEnv(konfig.XdgConfigHomeEnv)
os.Setenv(konfig.XdgConfigHomeEnv, x.workDir)
}
func (x *PluginTestEnv) resetEnv() {
if x.wasSet {
os.Setenv(pgmconfig.XdgConfigHomeEnv, x.oldXdg)
os.Setenv(konfig.XdgConfigHomeEnv, x.oldXdg)
} else {
os.Unsetenv(pgmconfig.XdgConfigHomeEnv)
os.Unsetenv(konfig.XdgConfigHomeEnv)
}
}