mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-11 17:12:51 +00:00
Make api/plugins
This commit is contained in:
@@ -7,7 +7,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
. "sigs.k8s.io/kustomize/v3/pkg/accumulator/expansion"
|
. "sigs.k8s.io/kustomize/v3/api/accumulator/expansion"
|
||||||
)
|
)
|
||||||
|
|
||||||
type expected struct {
|
type expected struct {
|
||||||
@@ -7,12 +7,12 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
. "sigs.k8s.io/kustomize/v3/api/accumulator"
|
||||||
"sigs.k8s.io/kustomize/v3/api/builtinconfig"
|
"sigs.k8s.io/kustomize/v3/api/builtinconfig"
|
||||||
"sigs.k8s.io/kustomize/v3/api/ifc"
|
"sigs.k8s.io/kustomize/v3/api/ifc"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resid"
|
"sigs.k8s.io/kustomize/v3/api/resid"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"sigs.k8s.io/kustomize/v3/internal/loadertest"
|
"sigs.k8s.io/kustomize/v3/internal/loadertest"
|
||||||
. "sigs.k8s.io/kustomize/v3/pkg/accumulator"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// This defines two CRD's: Bee and MyKind.
|
// This defines two CRD's: Bee and MyKind.
|
||||||
@@ -6,10 +6,10 @@ package accumulator
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/accumulator/expansion"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resmap"
|
"sigs.k8s.io/kustomize/v3/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/v3/api/transform"
|
"sigs.k8s.io/kustomize/v3/api/transform"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/accumulator/expansion"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type refVarTransformer struct {
|
type refVarTransformer struct {
|
||||||
@@ -10,6 +10,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
. "sigs.k8s.io/kustomize/v3/api/accumulator"
|
||||||
"sigs.k8s.io/kustomize/v3/api/builtinconfig"
|
"sigs.k8s.io/kustomize/v3/api/builtinconfig"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resid"
|
"sigs.k8s.io/kustomize/v3/api/resid"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resmap"
|
"sigs.k8s.io/kustomize/v3/api/resmap"
|
||||||
@@ -17,7 +18,6 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/v3/api/testutils/resmaptest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/resmaptest"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
|
||||||
. "sigs.k8s.io/kustomize/v3/pkg/accumulator"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func makeResAccumulator(t *testing.T) (*ResAccumulator, *resource.Factory) {
|
func makeResAccumulator(t *testing.T) (*ResAccumulator, *resource.Factory) {
|
||||||
@@ -4,9 +4,10 @@
|
|||||||
package builtinconfig
|
package builtinconfig
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strings"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/resid"
|
"sigs.k8s.io/kustomize/v3/api/resid"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"strings"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// NameBackReferences is an association between a gvk.GVK and a list
|
// NameBackReferences is an association between a gvk.GVK and a list
|
||||||
|
|||||||
@@ -5,9 +5,10 @@ package builtinconfig
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"reflect"
|
"reflect"
|
||||||
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/resid"
|
"sigs.k8s.io/kustomize/v3/api/resid"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"testing"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMergeAll(t *testing.T) {
|
func TestMergeAll(t *testing.T) {
|
||||||
|
|||||||
@@ -1,24 +1,12 @@
|
|||||||
/*
|
// 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");
|
package inventory_test
|
||||||
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 inventory
|
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
. "sigs.k8s.io/kustomize/v3/api/inventory"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resid"
|
"sigs.k8s.io/kustomize/v3/api/resid"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1,18 +1,5 @@
|
|||||||
/*
|
/// Copyright 2019 The Kubernetes Authors.
|
||||||
Copyright 2018 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 loader
|
package loader
|
||||||
|
|
||||||
@@ -28,7 +15,7 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/v3/api/filesys"
|
"sigs.k8s.io/kustomize/v3/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/v3/api/ifc"
|
"sigs.k8s.io/kustomize/v3/api/ifc"
|
||||||
"sigs.k8s.io/kustomize/v3/api/internal/git"
|
"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 {
|
type testData struct {
|
||||||
|
|||||||
41
api/pgmconfig/pgmconfig.go
Normal file
41
api/pgmconfig/pgmconfig.go
Normal 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"
|
||||||
|
)
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by "stringer -type=BuiltinPluginType"; DO NOT EDIT.
|
// Code generated by "stringer -type=BuiltinPluginType"; DO NOT EDIT.
|
||||||
|
|
||||||
package plugins
|
package builtins
|
||||||
|
|
||||||
import "strconv"
|
import "strconv"
|
||||||
|
|
||||||
@@ -1,7 +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 plugins
|
package builtins
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"sigs.k8s.io/kustomize/v3/api/resmap"
|
"sigs.k8s.io/kustomize/v3/api/resmap"
|
||||||
@@ -1,7 +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 plugins
|
package compiler
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
@@ -12,7 +12,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"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.
|
// Compiler creates Go plugin object files.
|
||||||
@@ -35,22 +36,20 @@ func DefaultSrcRoot() (string, error) {
|
|||||||
|
|
||||||
root = filepath.Join(
|
root = filepath.Join(
|
||||||
os.Getenv("GOPATH"), "src",
|
os.Getenv("GOPATH"), "src",
|
||||||
pgmconfig.DomainName,
|
config.DomainName, pgmconfig.ProgramName, config.PluginRoot)
|
||||||
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 = DefaultPluginConfig().DirectoryPath
|
root = config.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(
|
||||||
homeDir(),
|
config.HomeDir(), pgmconfig.ProgramName, config.PluginRoot)
|
||||||
pgmconfig.ProgramName, pgmconfig.PluginRoot)
|
|
||||||
if FileExists(root) {
|
if FileExists(root) {
|
||||||
return root, nil
|
return root, nil
|
||||||
}
|
}
|
||||||
@@ -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");
|
package compiler_test
|
||||||
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
|
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
@@ -22,7 +9,7 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
. "sigs.k8s.io/kustomize/v3/pkg/plugins"
|
. "sigs.k8s.io/kustomize/v3/api/plugins/compiler"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Regression coverage over compiler behavior.
|
// Regression coverage over compiler behavior.
|
||||||
95
api/plugins/config/config.go
Normal file
95
api/plugins/config/config.go
Normal 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"
|
||||||
|
}
|
||||||
@@ -1,7 +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 plugins
|
package config
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
@@ -9,7 +9,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestConfigDirNoXdg(t *testing.T) {
|
func TestConfigDirNoXdg(t *testing.T) {
|
||||||
@@ -1,7 +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 plugins
|
package execplugin
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
@@ -21,8 +21,8 @@ import (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
idAnnotation = "kustomize.config.k8s.io/id"
|
idAnnotation = "kustomize.config.k8s.io/id"
|
||||||
hashAnnotation = "kustomize.config.k8s.io/needs-hash"
|
HashAnnotation = "kustomize.config.k8s.io/needs-hash"
|
||||||
behaviorAnnotation = "kustomize.config.k8s.io/behavior"
|
BehaviorAnnotation = "kustomize.config.k8s.io/behavior"
|
||||||
tmpConfigFilePrefix = "kust-plugin-config-"
|
tmpConfigFilePrefix = "kust-plugin-config-"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -48,8 +48,20 @@ func NewExecPlugin(p string) *ExecPlugin {
|
|||||||
return &ExecPlugin{path: p}
|
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
|
// 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)
|
f, err := os.Stat(p.path)
|
||||||
if os.IsNotExist(err) {
|
if os.IsNotExist(err) {
|
||||||
return false
|
return false
|
||||||
@@ -98,7 +110,7 @@ func (p *ExecPlugin) Generate() (resmap.ResMap, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return p.updateResourceOptions(rm)
|
return p.UpdateResourceOptions(rm)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *ExecPlugin) Transform(rm resmap.ResMap) error {
|
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
|
// updateResourceOptions updates the generator options for each resource in the
|
||||||
// given ResMap based on plugin provided annotations.
|
// 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() {
|
for _, r := range rm.Resources() {
|
||||||
// Disable name hashing by default and require plugin to explicitly
|
// Disable name hashing by default and require plugin to explicitly
|
||||||
// request it for each resource.
|
// request it for each resource.
|
||||||
annotations := r.GetAnnotations()
|
annotations := r.GetAnnotations()
|
||||||
behavior := annotations[behaviorAnnotation]
|
behavior := annotations[BehaviorAnnotation]
|
||||||
var needsHash bool
|
var needsHash bool
|
||||||
if val, ok := annotations[hashAnnotation]; ok {
|
if val, ok := annotations[HashAnnotation]; ok {
|
||||||
b, err := strconv.ParseBool(val)
|
b, err := strconv.ParseBool(val)
|
||||||
if err != nil {
|
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
|
needsHash = b
|
||||||
}
|
}
|
||||||
delete(annotations, hashAnnotation)
|
delete(annotations, HashAnnotation)
|
||||||
delete(annotations, behaviorAnnotation)
|
delete(annotations, BehaviorAnnotation)
|
||||||
if len(annotations) == 0 {
|
if len(annotations) == 0 {
|
||||||
annotations = nil
|
annotations = nil
|
||||||
}
|
}
|
||||||
@@ -1,13 +1,16 @@
|
|||||||
// Copyright 2019 The Kubernetes Authors.
|
// Copyright 2019 The Kubernetes Authors.
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
package plugins
|
package execplugin_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"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/resmap"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resource"
|
"sigs.k8s.io/kustomize/v3/api/resource"
|
||||||
"sigs.k8s.io/kustomize/v3/api/testutils/valtest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/valtest"
|
||||||
@@ -41,8 +44,8 @@ s/$BAR/bar/g
|
|||||||
`))
|
`))
|
||||||
|
|
||||||
p := NewExecPlugin(
|
p := NewExecPlugin(
|
||||||
AbsolutePluginPath(
|
loader.AbsolutePluginPath(
|
||||||
DefaultPluginConfig(),
|
config.DefaultPluginConfig(),
|
||||||
pluginConfig.OrgId()))
|
pluginConfig.OrgId()))
|
||||||
|
|
||||||
yaml, err := pluginConfig.AsYAML()
|
yaml, err := pluginConfig.AsYAML()
|
||||||
@@ -52,8 +55,8 @@ s/$BAR/bar/g
|
|||||||
p.Config(resmap.NewPluginHelpers(ldr, v, rf), yaml)
|
p.Config(resmap.NewPluginHelpers(ldr, v, rf), yaml)
|
||||||
|
|
||||||
expected := "/kustomize/plugin/someteam.example.com/v1/sedtransformer/SedTransformer"
|
expected := "/kustomize/plugin/someteam.example.com/v1/sedtransformer/SedTransformer"
|
||||||
if !strings.HasSuffix(p.path, expected) {
|
if !strings.HasSuffix(p.Path(), expected) {
|
||||||
t.Fatalf("expected suffix '%s', got '%s'", expected, p.path)
|
t.Fatalf("expected suffix '%s', got '%s'", expected, p.Path())
|
||||||
}
|
}
|
||||||
|
|
||||||
expected = `apiVersion: someteam.example.com/v1
|
expected = `apiVersion: someteam.example.com/v1
|
||||||
@@ -63,19 +66,19 @@ kind: SedTransformer
|
|||||||
metadata:
|
metadata:
|
||||||
name: some-random-name
|
name: some-random-name
|
||||||
`
|
`
|
||||||
if expected != string(p.cfg) {
|
if expected != string(p.Cfg()) {
|
||||||
t.Fatalf("expected cfg '%s', got '%s'", expected, string(p.cfg))
|
t.Fatalf("expected cfg '%s', got '%s'", expected, string(p.Cfg()))
|
||||||
|
|
||||||
}
|
}
|
||||||
if len(p.args) != 5 {
|
if len(p.Args()) != 5 {
|
||||||
t.Fatalf("unexpected arg len %d, %v", len(p.args), p.args)
|
t.Fatalf("unexpected arg len %d, %v", len(p.Args()), p.Args())
|
||||||
}
|
}
|
||||||
if p.args[0] != "one" ||
|
if p.Args()[0] != "one" ||
|
||||||
p.args[1] != "two" ||
|
p.Args()[1] != "two" ||
|
||||||
p.args[2] != "s/$FOO/foo/g" ||
|
p.Args()[2] != "s/$FOO/foo/g" ||
|
||||||
p.args[3] != "s/$BAR/bar/g" ||
|
p.Args()[3] != "s/$BAR/bar/g" ||
|
||||||
p.args[4] != "\\ \\ \\ " {
|
p.Args()[4] != "\\ \\ \\ " {
|
||||||
t.Fatalf("unexpected arg array: %v", p.args)
|
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{}
|
annotations := map[string]string{}
|
||||||
if behavior != "" {
|
if behavior != "" {
|
||||||
annotations[behaviorAnnotation] = behavior
|
annotations[BehaviorAnnotation] = behavior
|
||||||
}
|
}
|
||||||
if hashValue != nil {
|
if hashValue != nil {
|
||||||
annotations[hashAnnotation] = *hashValue
|
annotations[HashAnnotation] = *hashValue
|
||||||
}
|
}
|
||||||
if len(annotations) > 0 {
|
if len(annotations) > 0 {
|
||||||
r.SetAnnotations(annotations)
|
r.SetAnnotations(annotations)
|
||||||
@@ -134,7 +137,7 @@ func TestUpdateResourceOptions(t *testing.T) {
|
|||||||
in.Append(makeConfigMap(rf, name, c.behavior, c.hashValue))
|
in.Append(makeConfigMap(rf, name, c.behavior, c.hashValue))
|
||||||
expected.Append(makeConfigMapOptions(rf, name, c.behavior, !c.needsHash))
|
expected.Append(makeConfigMapOptions(rf, name, c.behavior, !c.needsHash))
|
||||||
}
|
}
|
||||||
actual, err := p.updateResourceOptions(in)
|
actual, err := p.UpdateResourceOptions(in)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err.Error())
|
t.Fatalf("unexpected error: %v", err.Error())
|
||||||
}
|
}
|
||||||
@@ -168,7 +171,7 @@ func TestUpdateResourceOptionsWithInvalidHashAnnotationValues(t *testing.T) {
|
|||||||
name := fmt.Sprintf("test%d", i)
|
name := fmt.Sprintf("test%d", i)
|
||||||
in := resmap.New()
|
in := resmap.New()
|
||||||
in.Append(makeConfigMap(rf, name, "", &c))
|
in.Append(makeConfigMap(rf, name, "", &c))
|
||||||
_, err := p.updateResourceOptions(in)
|
_, err := p.UpdateResourceOptions(in)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Errorf("expected error from value %q", c)
|
t.Errorf("expected error from value %q", c)
|
||||||
}
|
}
|
||||||
@@ -1,7 +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 plugins
|
package loader
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
@@ -10,12 +10,17 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/plugins/builtins"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"sigs.k8s.io/kustomize/v3/api/ifc"
|
"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/resid"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resmap"
|
"sigs.k8s.io/kustomize/v3/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resource"
|
"sigs.k8s.io/kustomize/v3/api/resource"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
|
"sigs.k8s.io/kustomize/v3/pkg/plugins"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Loader struct {
|
type Loader struct {
|
||||||
@@ -99,7 +104,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 == BuiltinPluginApiVersion
|
res.GetGvk().Version == config.BuiltinPluginApiVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *Loader) loadAndConfigurePlugin(
|
func (l *Loader) loadAndConfigurePlugin(
|
||||||
@@ -113,7 +118,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 = notEnabledErr(res.OrgId().Kind)
|
err = config.NotEnabledErr(res.OrgId().Kind)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -131,19 +136,19 @@ func (l *Loader) loadAndConfigurePlugin(
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (l *Loader) makeBuiltinPlugin(r resid.Gvk) (resmap.Configurable, error) {
|
func (l *Loader) makeBuiltinPlugin(r resid.Gvk) (resmap.Configurable, error) {
|
||||||
bpt := GetBuiltinPluginType(r.Kind)
|
bpt := builtins.GetBuiltinPluginType(r.Kind)
|
||||||
if f, ok := GeneratorFactories[bpt]; ok {
|
if f, ok := builtins.GeneratorFactories[bpt]; ok {
|
||||||
return f(), nil
|
return f(), nil
|
||||||
}
|
}
|
||||||
if f, ok := TransformerFactories[bpt]; ok {
|
if f, ok := builtins.TransformerFactories[bpt]; ok {
|
||||||
return f(), nil
|
return f(), nil
|
||||||
}
|
}
|
||||||
return nil, errors.Errorf("unable to load builtin %s", r)
|
return nil, errors.Errorf("unable to load builtin %s", r)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *Loader) loadPlugin(resId resid.ResId) (resmap.Configurable, error) {
|
func (l *Loader) loadPlugin(resId resid.ResId) (resmap.Configurable, error) {
|
||||||
p := NewExecPlugin(l.absolutePluginPath(resId))
|
p := execplugin.NewExecPlugin(l.absolutePluginPath(resId))
|
||||||
if p.isAvailable() {
|
if p.IsAvailable() {
|
||||||
return p, nil
|
return p, nil
|
||||||
}
|
}
|
||||||
c, err := l.loadGoPlugin(resId)
|
c, err := l.loadGoPlugin(resId)
|
||||||
@@ -171,11 +176,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(PluginSymbol)
|
symbol, err := p.Lookup(plugins.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, PluginSymbol)
|
regId, plugins.PluginSymbol)
|
||||||
}
|
}
|
||||||
c, ok := symbol.(resmap.Configurable)
|
c, ok := symbol.(resmap.Configurable)
|
||||||
if !ok {
|
if !ok {
|
||||||
@@ -1,18 +1,19 @@
|
|||||||
// Copyright 2019 The Kubernetes Authors.
|
// Copyright 2019 The Kubernetes Authors.
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
package plugins_test
|
package loader_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"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/resmap"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resource"
|
"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/api/testutils/valtest"
|
||||||
"sigs.k8s.io/kustomize/v3/internal/loadertest"
|
"sigs.k8s.io/kustomize/v3/internal/loadertest"
|
||||||
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
|
||||||
. "sigs.k8s.io/kustomize/v3/pkg/plugins"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -56,7 +57,7 @@ func TestLoader(t *testing.T) {
|
|||||||
|
|
||||||
ldr := loadertest.NewFakeLoader("/foo")
|
ldr := loadertest.NewFakeLoader("/foo")
|
||||||
|
|
||||||
pLdr := NewLoader(ActivePluginConfig(), rmF)
|
pLdr := NewLoader(config.ActivePluginConfig(), rmF)
|
||||||
if pLdr == nil {
|
if pLdr == nil {
|
||||||
t.Fatal("expect non-nil loader")
|
t.Fatal("expect non-nil loader")
|
||||||
}
|
}
|
||||||
@@ -6,9 +6,10 @@ package resmap_test
|
|||||||
import (
|
import (
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
"reflect"
|
"reflect"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resid"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/resid"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/filesys"
|
"sigs.k8s.io/kustomize/v3/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/v3/api/ifc"
|
"sigs.k8s.io/kustomize/v3/api/ifc"
|
||||||
"sigs.k8s.io/kustomize/v3/api/kv"
|
"sigs.k8s.io/kustomize/v3/api/kv"
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ package target_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func writeMediumBase(th *kusttest_test.KustTestHarness) {
|
func writeMediumBase(th *kusttest_test.KustTestHarness) {
|
||||||
@@ -1,18 +1,5 @@
|
|||||||
/*
|
// Copyright 2019 The Kubernetes Authors.
|
||||||
Copyright 2018 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 target_test
|
package target_test
|
||||||
|
|
||||||
@@ -20,9 +7,9 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/loader"
|
"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) {
|
func TestOrderPreserved(t *testing.T) {
|
||||||
@@ -313,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, plugins.DefaultPluginConfig())
|
loader.RestrictionRootOnly, config.DefaultPluginConfig())
|
||||||
writeSmallBase(th)
|
writeSmallBase(th)
|
||||||
th.WriteK("/app/overlay", `
|
th.WriteK("/app/overlay", `
|
||||||
commonLabels:
|
commonLabels:
|
||||||
@@ -345,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, plugins.DefaultPluginConfig())
|
loader.RestrictionNone, config.DefaultPluginConfig())
|
||||||
writeSmallBase(th)
|
writeSmallBase(th)
|
||||||
th.WriteK("/app/overlay", `
|
th.WriteK("/app/overlay", `
|
||||||
commonLabels:
|
commonLabels:
|
||||||
@@ -6,7 +6,7 @@ package target_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"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
|
// Here is a structure of a kustomization of two components, component1
|
||||||
@@ -11,7 +11,7 @@ import (
|
|||||||
"regexp"
|
"regexp"
|
||||||
"testing"
|
"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,
|
// This is an example of using a helm chart as a base,
|
||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
const httpsService = `
|
const httpsService = `
|
||||||
@@ -19,7 +19,7 @@ package target_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"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
|
// Generate a Secret and a ConfigMap from the same data
|
||||||
@@ -19,7 +19,7 @@ package target_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func writeBaseWithCrd(th *kusttest_test.KustTestHarness) {
|
func writeBaseWithCrd(th *kusttest_test.KustTestHarness) {
|
||||||
@@ -19,7 +19,7 @@ package target_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func makeBaseReferencingCustomConfig(th *kusttest_test.KustTestHarness) {
|
func makeBaseReferencingCustomConfig(th *kusttest_test.KustTestHarness) {
|
||||||
@@ -6,7 +6,7 @@ package target_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Demo custom configuration of a builtin transformation.
|
// Demo custom configuration of a builtin transformation.
|
||||||
@@ -9,7 +9,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
const patchAddProbe = `
|
const patchAddProbe = `
|
||||||
@@ -6,7 +6,7 @@ package target_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Here's a structure of two kustomizations,
|
// Here's a structure of two kustomizations,
|
||||||
@@ -6,7 +6,7 @@ package target_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func makeCommonFileForExtendedPatchTest(th *kusttest_test.KustTestHarness) {
|
func makeCommonFileForExtendedPatchTest(th *kusttest_test.KustTestHarness) {
|
||||||
@@ -20,7 +20,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestSimpleBase(t *testing.T) {
|
func TestSimpleBase(t *testing.T) {
|
||||||
@@ -19,7 +19,7 @@ package target_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestSecretGenerator(t *testing.T) {
|
func TestSecretGenerator(t *testing.T) {
|
||||||
@@ -6,7 +6,7 @@ package target_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func makeResourcesForPatchTest(th *kusttest_test.KustTestHarness) {
|
func makeResourcesForPatchTest(th *kusttest_test.KustTestHarness) {
|
||||||
@@ -10,17 +10,18 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"sigs.k8s.io/kustomize/v3/api/transform"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/accumulator"
|
||||||
"sigs.k8s.io/kustomize/v3/api/builtinconfig"
|
"sigs.k8s.io/kustomize/v3/api/builtinconfig"
|
||||||
"sigs.k8s.io/kustomize/v3/api/ifc"
|
"sigs.k8s.io/kustomize/v3/api/ifc"
|
||||||
|
"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/resmap"
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/transform"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"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/kustomize/v3/plugin/builtin"
|
||||||
"sigs.k8s.io/yaml"
|
"sigs.k8s.io/yaml"
|
||||||
)
|
)
|
||||||
@@ -32,7 +33,7 @@ type KustTarget struct {
|
|||||||
validator ifc.Validator
|
validator ifc.Validator
|
||||||
rFactory *resmap.Factory
|
rFactory *resmap.Factory
|
||||||
tFactory resmap.PatchFactory
|
tFactory resmap.PatchFactory
|
||||||
pLdr *plugins.Loader
|
pLdr *loader.Loader
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewKustTarget returns a new instance of KustTarget primed with a Loader.
|
// NewKustTarget returns a new instance of KustTarget primed with a Loader.
|
||||||
@@ -41,7 +42,7 @@ func NewKustTarget(
|
|||||||
validator ifc.Validator,
|
validator ifc.Validator,
|
||||||
rFactory *resmap.Factory,
|
rFactory *resmap.Factory,
|
||||||
tFactory resmap.PatchFactory,
|
tFactory resmap.PatchFactory,
|
||||||
pLdr *plugins.Loader) (*KustTarget, error) {
|
pLdr *loader.Loader) (*KustTarget, error) {
|
||||||
content, err := loadKustFile(ldr)
|
content, err := loadKustFile(ldr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -164,7 +165,7 @@ func (kt *KustTarget) makeCustomizedResMap(
|
|||||||
func (kt *KustTarget) addHashesToNames(
|
func (kt *KustTarget) addHashesToNames(
|
||||||
ra *accumulator.ResAccumulator) error {
|
ra *accumulator.ResAccumulator) error {
|
||||||
p := builtin.NewHashTransformerPlugin()
|
p := builtin.NewHashTransformerPlugin()
|
||||||
err := kt.configureBuiltinPlugin(p, nil, plugins.HashTransformer)
|
err := kt.configureBuiltinPlugin(p, nil, builtins.HashTransformer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -193,7 +194,7 @@ func (kt *KustTarget) computeInventory(
|
|||||||
c.Namespace = inv.ConfigMap.Namespace
|
c.Namespace = inv.ConfigMap.Namespace
|
||||||
c.Policy = garbagePolicy.String()
|
c.Policy = garbagePolicy.String()
|
||||||
p := builtin.NewInventoryTransformerPlugin()
|
p := builtin.NewInventoryTransformerPlugin()
|
||||||
err := kt.configureBuiltinPlugin(p, c, plugins.InventoryTransformer)
|
err := kt.configureBuiltinPlugin(p, c, builtins.InventoryTransformer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -371,7 +372,7 @@ func (kt *KustTarget) accumulateFile(
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (kt *KustTarget) configureBuiltinPlugin(
|
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
|
var y []byte
|
||||||
if c != nil {
|
if c != nil {
|
||||||
y, err = yaml.Marshal(c)
|
y, err = yaml.Marshal(c)
|
||||||
@@ -5,9 +5,9 @@ package target
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"sigs.k8s.io/kustomize/v3/api/builtinconfig"
|
"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/resmap"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/plugins"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Functions dedicated to configuring the builtin
|
// Functions dedicated to configuring the builtin
|
||||||
@@ -27,12 +27,12 @@ import (
|
|||||||
|
|
||||||
func (kt *KustTarget) configureBuiltinGenerators() (
|
func (kt *KustTarget) configureBuiltinGenerators() (
|
||||||
result []resmap.Generator, err error) {
|
result []resmap.Generator, err error) {
|
||||||
for _, bpt := range []plugins.BuiltinPluginType{
|
for _, bpt := range []builtins.BuiltinPluginType{
|
||||||
plugins.ConfigMapGenerator,
|
builtins.ConfigMapGenerator,
|
||||||
plugins.SecretGenerator,
|
builtins.SecretGenerator,
|
||||||
} {
|
} {
|
||||||
r, err := generatorConfigurators[bpt](
|
r, err := generatorConfigurators[bpt](
|
||||||
kt, bpt, plugins.GeneratorFactories[bpt])
|
kt, bpt, builtins.GeneratorFactories[bpt])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -44,19 +44,19 @@ func (kt *KustTarget) configureBuiltinGenerators() (
|
|||||||
func (kt *KustTarget) configureBuiltinTransformers(
|
func (kt *KustTarget) configureBuiltinTransformers(
|
||||||
tc *builtinconfig.TransformerConfig) (
|
tc *builtinconfig.TransformerConfig) (
|
||||||
result []resmap.Transformer, err error) {
|
result []resmap.Transformer, err error) {
|
||||||
for _, bpt := range []plugins.BuiltinPluginType{
|
for _, bpt := range []builtins.BuiltinPluginType{
|
||||||
plugins.PatchStrategicMergeTransformer,
|
builtins.PatchStrategicMergeTransformer,
|
||||||
plugins.PatchTransformer,
|
builtins.PatchTransformer,
|
||||||
plugins.NamespaceTransformer,
|
builtins.NamespaceTransformer,
|
||||||
plugins.PrefixSuffixTransformer,
|
builtins.PrefixSuffixTransformer,
|
||||||
plugins.LabelTransformer,
|
builtins.LabelTransformer,
|
||||||
plugins.AnnotationsTransformer,
|
builtins.AnnotationsTransformer,
|
||||||
plugins.PatchJson6902Transformer,
|
builtins.PatchJson6902Transformer,
|
||||||
plugins.ReplicaCountTransformer,
|
builtins.ReplicaCountTransformer,
|
||||||
plugins.ImageTagTransformer,
|
builtins.ImageTagTransformer,
|
||||||
} {
|
} {
|
||||||
r, err := transformerConfigurators[bpt](
|
r, err := transformerConfigurators[bpt](
|
||||||
kt, bpt, plugins.TransformerFactories[bpt], tc)
|
kt, bpt, builtins.TransformerFactories[bpt], tc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -67,11 +67,11 @@ func (kt *KustTarget) configureBuiltinTransformers(
|
|||||||
|
|
||||||
type gFactory func() resmap.GeneratorPlugin
|
type gFactory func() resmap.GeneratorPlugin
|
||||||
|
|
||||||
var generatorConfigurators = map[plugins.BuiltinPluginType]func(
|
var generatorConfigurators = map[builtins.BuiltinPluginType]func(
|
||||||
kt *KustTarget,
|
kt *KustTarget,
|
||||||
bpt plugins.BuiltinPluginType,
|
bpt builtins.BuiltinPluginType,
|
||||||
factory gFactory) (result []resmap.Generator, err error){
|
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) {
|
result []resmap.Generator, err error) {
|
||||||
var c struct {
|
var c struct {
|
||||||
types.GeneratorOptions
|
types.GeneratorOptions
|
||||||
@@ -92,7 +92,7 @@ var generatorConfigurators = map[plugins.BuiltinPluginType]func(
|
|||||||
return
|
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) {
|
result []resmap.Generator, err error) {
|
||||||
var c struct {
|
var c struct {
|
||||||
types.GeneratorOptions
|
types.GeneratorOptions
|
||||||
@@ -116,13 +116,13 @@ var generatorConfigurators = map[plugins.BuiltinPluginType]func(
|
|||||||
|
|
||||||
type tFactory func() resmap.TransformerPlugin
|
type tFactory func() resmap.TransformerPlugin
|
||||||
|
|
||||||
var transformerConfigurators = map[plugins.BuiltinPluginType]func(
|
var transformerConfigurators = map[builtins.BuiltinPluginType]func(
|
||||||
kt *KustTarget,
|
kt *KustTarget,
|
||||||
bpt plugins.BuiltinPluginType,
|
bpt builtins.BuiltinPluginType,
|
||||||
f tFactory,
|
f tFactory,
|
||||||
tc *builtinconfig.TransformerConfig) (result []resmap.Transformer, err error){
|
tc *builtinconfig.TransformerConfig) (result []resmap.Transformer, err error){
|
||||||
plugins.NamespaceTransformer: func(
|
builtins.NamespaceTransformer: func(
|
||||||
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
|
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
|
||||||
result []resmap.Transformer, err error) {
|
result []resmap.Transformer, err error) {
|
||||||
var c struct {
|
var c struct {
|
||||||
types.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
|
types.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
|
||||||
@@ -139,8 +139,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
|
|||||||
return
|
return
|
||||||
},
|
},
|
||||||
|
|
||||||
plugins.PatchJson6902Transformer: func(
|
builtins.PatchJson6902Transformer: func(
|
||||||
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, _ *builtinconfig.TransformerConfig) (
|
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, _ *builtinconfig.TransformerConfig) (
|
||||||
result []resmap.Transformer, err error) {
|
result []resmap.Transformer, err error) {
|
||||||
var c struct {
|
var c struct {
|
||||||
Target types.PatchTarget `json:"target,omitempty" yaml:"target,omitempty"`
|
Target types.PatchTarget `json:"target,omitempty" yaml:"target,omitempty"`
|
||||||
@@ -160,8 +160,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
},
|
},
|
||||||
plugins.PatchStrategicMergeTransformer: func(
|
builtins.PatchStrategicMergeTransformer: func(
|
||||||
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, _ *builtinconfig.TransformerConfig) (
|
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, _ *builtinconfig.TransformerConfig) (
|
||||||
result []resmap.Transformer, err error) {
|
result []resmap.Transformer, err error) {
|
||||||
if len(kt.kustomization.PatchesStrategicMerge) == 0 {
|
if len(kt.kustomization.PatchesStrategicMerge) == 0 {
|
||||||
return
|
return
|
||||||
@@ -179,8 +179,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
|
|||||||
result = append(result, p)
|
result = append(result, p)
|
||||||
return
|
return
|
||||||
},
|
},
|
||||||
plugins.PatchTransformer: func(
|
builtins.PatchTransformer: func(
|
||||||
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, _ *builtinconfig.TransformerConfig) (
|
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, _ *builtinconfig.TransformerConfig) (
|
||||||
result []resmap.Transformer, err error) {
|
result []resmap.Transformer, err error) {
|
||||||
if len(kt.kustomization.Patches) == 0 {
|
if len(kt.kustomization.Patches) == 0 {
|
||||||
return
|
return
|
||||||
@@ -203,8 +203,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
},
|
},
|
||||||
plugins.LabelTransformer: func(
|
builtins.LabelTransformer: func(
|
||||||
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
|
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
|
||||||
result []resmap.Transformer, err error) {
|
result []resmap.Transformer, err error) {
|
||||||
var c struct {
|
var c struct {
|
||||||
Labels map[string]string
|
Labels map[string]string
|
||||||
@@ -220,8 +220,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
|
|||||||
result = append(result, p)
|
result = append(result, p)
|
||||||
return
|
return
|
||||||
},
|
},
|
||||||
plugins.AnnotationsTransformer: func(
|
builtins.AnnotationsTransformer: func(
|
||||||
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
|
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
|
||||||
result []resmap.Transformer, err error) {
|
result []resmap.Transformer, err error) {
|
||||||
var c struct {
|
var c struct {
|
||||||
Annotations map[string]string
|
Annotations map[string]string
|
||||||
@@ -237,8 +237,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
|
|||||||
result = append(result, p)
|
result = append(result, p)
|
||||||
return
|
return
|
||||||
},
|
},
|
||||||
plugins.PrefixSuffixTransformer: func(
|
builtins.PrefixSuffixTransformer: func(
|
||||||
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
|
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
|
||||||
result []resmap.Transformer, err error) {
|
result []resmap.Transformer, err error) {
|
||||||
var c struct {
|
var c struct {
|
||||||
Prefix string
|
Prefix string
|
||||||
@@ -256,8 +256,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
|
|||||||
result = append(result, p)
|
result = append(result, p)
|
||||||
return
|
return
|
||||||
},
|
},
|
||||||
plugins.ImageTagTransformer: func(
|
builtins.ImageTagTransformer: func(
|
||||||
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
|
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
|
||||||
result []resmap.Transformer, err error) {
|
result []resmap.Transformer, err error) {
|
||||||
var c struct {
|
var c struct {
|
||||||
ImageTag types.Image
|
ImageTag types.Image
|
||||||
@@ -275,8 +275,8 @@ var transformerConfigurators = map[plugins.BuiltinPluginType]func(
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
},
|
},
|
||||||
plugins.ReplicaCountTransformer: func(
|
builtins.ReplicaCountTransformer: func(
|
||||||
kt *KustTarget, bpt plugins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
|
kt *KustTarget, bpt builtins.BuiltinPluginType, f tFactory, tc *builtinconfig.TransformerConfig) (
|
||||||
result []resmap.Transformer, err error) {
|
result []resmap.Transformer, err error) {
|
||||||
var c struct {
|
var c struct {
|
||||||
Replica types.Replica
|
Replica types.Replica
|
||||||
@@ -10,14 +10,14 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/ifc"
|
"sigs.k8s.io/kustomize/v3/api/ifc"
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/resid"
|
"sigs.k8s.io/kustomize/v3/api/resid"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resmap"
|
"sigs.k8s.io/kustomize/v3/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resource"
|
"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/testutils/valtest"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"sigs.k8s.io/kustomize/v3/internal/loadertest"
|
"sigs.k8s.io/kustomize/v3/internal/loadertest"
|
||||||
. "sigs.k8s.io/kustomize/v3/pkg/target"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -20,7 +20,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func makeCommonFileForMultiplePatchTest(th *kusttest_test.KustTestHarness) {
|
func makeCommonFileForMultiplePatchTest(th *kusttest_test.KustTestHarness) {
|
||||||
@@ -19,7 +19,7 @@ package target_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNamespacedGenerator(t *testing.T) {
|
func TestNamespacedGenerator(t *testing.T) {
|
||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNamespacedSecrets(t *testing.T) {
|
func TestNamespacedSecrets(t *testing.T) {
|
||||||
@@ -19,7 +19,7 @@ package target_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNullValues(t *testing.T) {
|
func TestNullValues(t *testing.T) {
|
||||||
@@ -10,15 +10,16 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/filesys"
|
"sigs.k8s.io/kustomize/v3/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
fLdr "sigs.k8s.io/kustomize/v3/api/loader"
|
||||||
"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/resmap"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resource"
|
"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/testutils/valtest"
|
||||||
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
|
||||||
"sigs.k8s.io/kustomize/v3/k8sdeps/transformer"
|
"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) {
|
func TestPluginDir(t *testing.T) {
|
||||||
@@ -56,15 +57,15 @@ metadata:
|
|||||||
t.Fatalf("err %v", err)
|
t.Fatalf("err %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
ldr, err := loader.NewLoader(
|
ldr, err := fLdr.NewLoader(
|
||||||
loader.RestrictionRootOnly, dir, fSys)
|
fLdr.RestrictionRootOnly, dir, fSys)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Err: %v", err)
|
t.Fatalf("Err: %v", err)
|
||||||
}
|
}
|
||||||
rf := resmap.NewFactory(resource.NewFactory(
|
rf := resmap.NewFactory(resource.NewFactory(
|
||||||
kunstruct.NewKunstructuredFactoryImpl()), nil)
|
kunstruct.NewKunstructuredFactoryImpl()), nil)
|
||||||
|
|
||||||
pl := plugins.NewLoader(plugins.ActivePluginConfig(), rf)
|
pl := pLdr.NewLoader(config.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 {
|
||||||
@@ -19,7 +19,7 @@ package target_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestPruneConfigMap(t *testing.T) {
|
func TestPruneConfigMap(t *testing.T) {
|
||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func writeBase(th *kusttest_test.KustTestHarness) {
|
func writeBase(th *kusttest_test.KustTestHarness) {
|
||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func writeDeployment(th *kusttest_test.KustTestHarness, path string) {
|
func writeDeployment(th *kusttest_test.KustTestHarness, path string) {
|
||||||
@@ -6,7 +6,7 @@ package target_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func makeStatefulSetKustomization(th *kusttest_test.KustTestHarness) {
|
func makeStatefulSetKustomization(th *kusttest_test.KustTestHarness) {
|
||||||
@@ -19,7 +19,7 @@ package target_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func makeTransfomersImageBase(th *kusttest_test.KustTestHarness) {
|
func makeTransfomersImageBase(th *kusttest_test.KustTestHarness) {
|
||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestBasicVariableRef(t *testing.T) {
|
func TestBasicVariableRef(t *testing.T) {
|
||||||
@@ -10,17 +10,18 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/builtinconfig/consts"
|
"sigs.k8s.io/kustomize/v3/api/builtinconfig/consts"
|
||||||
"sigs.k8s.io/kustomize/v3/api/loader"
|
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/resmap"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resource"
|
"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/testutils/valtest"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"sigs.k8s.io/kustomize/v3/internal/loadertest"
|
"sigs.k8s.io/kustomize/v3/internal/loadertest"
|
||||||
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
|
||||||
"sigs.k8s.io/kustomize/v3/k8sdeps/transformer"
|
"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,
|
// KustTestHarness is an environment for running a kustomize build,
|
||||||
@@ -31,34 +32,34 @@ type KustTestHarness struct {
|
|||||||
t *testing.T
|
t *testing.T
|
||||||
rf *resmap.Factory
|
rf *resmap.Factory
|
||||||
ldr loadertest.FakeLoader
|
ldr loadertest.FakeLoader
|
||||||
pl *plugins.Loader
|
pl *pLdr.Loader
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewKustTestHarness(t *testing.T, path string) *KustTestHarness {
|
func NewKustTestHarness(t *testing.T, path string) *KustTestHarness {
|
||||||
return NewKustTestHarnessFull(
|
return NewKustTestHarnessFull(
|
||||||
t, path, loader.RestrictionRootOnly, plugins.DefaultPluginConfig())
|
t, path, fLdr.RestrictionRootOnly, config.DefaultPluginConfig())
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewKustTestHarnessAllowPlugins(t *testing.T, path string) *KustTestHarness {
|
func NewKustTestHarnessAllowPlugins(t *testing.T, path string) *KustTestHarness {
|
||||||
return NewKustTestHarnessFull(
|
return NewKustTestHarnessFull(
|
||||||
t, path, loader.RestrictionRootOnly, plugins.ActivePluginConfig())
|
t, path, fLdr.RestrictionRootOnly, config.ActivePluginConfig())
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewKustTestHarnessNoLoadRestrictor(t *testing.T, path string) *KustTestHarness {
|
func NewKustTestHarnessNoLoadRestrictor(t *testing.T, path string) *KustTestHarness {
|
||||||
return NewKustTestHarnessFull(
|
return NewKustTestHarnessFull(
|
||||||
t, path, loader.RestrictionNone, plugins.DefaultPluginConfig())
|
t, path, fLdr.RestrictionNone, config.DefaultPluginConfig())
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewKustTestHarnessFull(
|
func NewKustTestHarnessFull(
|
||||||
t *testing.T, path string,
|
t *testing.T, path string,
|
||||||
lr loader.LoadRestrictorFunc, pc *types.PluginConfig) *KustTestHarness {
|
lr fLdr.LoadRestrictorFunc, pc *types.PluginConfig) *KustTestHarness {
|
||||||
rf := resmap.NewFactory(resource.NewFactory(
|
rf := resmap.NewFactory(resource.NewFactory(
|
||||||
kunstruct.NewKunstructuredFactoryImpl()), transformer.NewFactoryImpl())
|
kunstruct.NewKunstructuredFactoryImpl()), transformer.NewFactoryImpl())
|
||||||
return &KustTestHarness{
|
return &KustTestHarness{
|
||||||
t: t,
|
t: t,
|
||||||
rf: rf,
|
rf: rf,
|
||||||
ldr: loadertest.NewFakeLoaderWithRestrictor(lr, path),
|
ldr: loadertest.NewFakeLoaderWithRestrictor(lr, path),
|
||||||
pl: plugins.NewLoader(pc, rf)}
|
pl: pLdr.NewLoader(pc, rf)}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (th *KustTestHarness) MakeKustTarget() *target.KustTarget {
|
func (th *KustTestHarness) MakeKustTarget() *target.KustTarget {
|
||||||
@@ -11,8 +11,9 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/plugins"
|
"sigs.k8s.io/kustomize/v3/api/plugins/compiler"
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/plugins/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
// PluginTestEnv manages the plugin test environment.
|
// PluginTestEnv manages the plugin test environment.
|
||||||
@@ -20,7 +21,7 @@ import (
|
|||||||
// manages a plugin compiler, etc.
|
// manages a plugin compiler, etc.
|
||||||
type PluginTestEnv struct {
|
type PluginTestEnv struct {
|
||||||
t *testing.T
|
t *testing.T
|
||||||
compiler *plugins.Compiler
|
compiler *compiler.Compiler
|
||||||
workDir string
|
workDir string
|
||||||
oldXdg string
|
oldXdg string
|
||||||
wasSet bool
|
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
|
// The plugin loader wants to find object code under
|
||||||
// $XDG_CONFIG_HOME/kustomize/plugins
|
// $XDG_CONFIG_HOME/kustomize/plugins
|
||||||
// and the compiler writes object code to
|
// and the compiler writes object code to
|
||||||
// $objRoot
|
// $objRoot
|
||||||
// so set things up accordingly.
|
// so set things up accordingly.
|
||||||
objRoot := filepath.Join(
|
objRoot := filepath.Join(
|
||||||
x.workDir, pgmconfig.ProgramName, pgmconfig.PluginRoot)
|
x.workDir, pgmconfig.ProgramName, config.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)
|
||||||
}
|
}
|
||||||
srcRoot, err := plugins.DefaultSrcRoot()
|
srcRoot, err := compiler.DefaultSrcRoot()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
x.t.Error(err)
|
x.t.Error(err)
|
||||||
}
|
}
|
||||||
return plugins.NewCompiler(srcRoot, objRoot)
|
return compiler.NewCompiler(srcRoot, objRoot)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *PluginTestEnv) createWorkDir() {
|
func (x *PluginTestEnv) createWorkDir() {
|
||||||
@@ -6,6 +6,7 @@ package transform
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/resmap"
|
"sigs.k8s.io/kustomize/v3/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -5,10 +5,11 @@ package transform_test
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/ifc"
|
"sigs.k8s.io/kustomize/v3/api/ifc"
|
||||||
. "sigs.k8s.io/kustomize/v3/api/transform"
|
. "sigs.k8s.io/kustomize/v3/api/transform"
|
||||||
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
|
||||||
"testing"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type noopMutator struct {
|
type noopMutator struct {
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ normal k8s resources means that one can generate
|
|||||||
or transform a generator or a transformer (see
|
or transform a generator or a transformer (see
|
||||||
[TestTransformerTransformers]).
|
[TestTransformerTransformers]).
|
||||||
|
|
||||||
[TestTransformerTransformers]: ../pkg/target/transformerplugin_test.go
|
[TestTransformerTransformers]: ../api/target/transformerplugin_test.go
|
||||||
|
|
||||||
### `replicas` field
|
### `replicas` field
|
||||||
|
|
||||||
|
|||||||
4
hacks/imports.sh
Executable file
4
hacks/imports.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
for f in $(find ./ -name '*.go'); do
|
||||||
|
echo $f
|
||||||
|
~/gopath/bin/goimports -w $f
|
||||||
|
done
|
||||||
@@ -12,7 +12,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/internal/tools/doc"
|
"sigs.k8s.io/kustomize/internal/tools/doc"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/internal/tools/crawler"
|
"sigs.k8s.io/kustomize/internal/tools/crawler"
|
||||||
"sigs.k8s.io/kustomize/internal/tools/doc"
|
"sigs.k8s.io/kustomize/internal/tools/doc"
|
||||||
"sigs.k8s.io/kustomize/internal/tools/httpclient"
|
"sigs.k8s.io/kustomize/internal/tools/httpclient"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/git"
|
"sigs.k8s.io/kustomize/v3/api/git"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
|
||||||
)
|
)
|
||||||
|
|
||||||
var logger = log.New(os.Stdout, "Github Crawler: ",
|
var logger = log.New(os.Stdout, "Github Crawler: ",
|
||||||
|
|||||||
@@ -4,10 +4,10 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/ifc"
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/ifc"
|
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/types"
|
|
||||||
"sigs.k8s.io/yaml"
|
"sigs.k8s.io/yaml"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"path"
|
"path"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/git"
|
"sigs.k8s.io/kustomize/v3/api/internal/git"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Document struct {
|
type Document struct {
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ require (
|
|||||||
github.com/gorilla/mux v1.7.3
|
github.com/gorilla/mux v1.7.3
|
||||||
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79
|
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79
|
||||||
github.com/rs/cors v1.7.0
|
github.com/rs/cors v1.7.0
|
||||||
sigs.k8s.io/kustomize/v3 v3.1.1-0.20190826160027-84519c236bac
|
sigs.k8s.io/kustomize/v3 v3.3.1
|
||||||
sigs.k8s.io/yaml v1.1.0
|
sigs.k8s.io/yaml v1.1.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
replace sigs.k8s.io/kustomize/v3 v3.3.1 => ../../
|
||||||
|
|||||||
@@ -1,21 +1,51 @@
|
|||||||
|
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||||
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
|
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
|
||||||
|
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
|
||||||
|
github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmUx/1V+TNhjQvM=
|
||||||
github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
||||||
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
|
github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
|
||||||
|
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||||
|
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||||
|
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
|
||||||
|
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||||
|
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
||||||
|
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
|
||||||
|
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||||
|
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
||||||
|
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||||
|
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
|
||||||
|
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||||
|
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||||
|
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||||
|
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
|
||||||
|
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
|
||||||
github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
||||||
|
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
|
||||||
github.com/elastic/go-elasticsearch/v6 v6.8.2 h1:rp5DGrd63V5c6nHLjF6QEXUpZSvs0+QM3ld7m9VhV2g=
|
github.com/elastic/go-elasticsearch/v6 v6.8.2 h1:rp5DGrd63V5c6nHLjF6QEXUpZSvs0+QM3ld7m9VhV2g=
|
||||||
github.com/elastic/go-elasticsearch/v6 v6.8.2/go.mod h1:UwaDJsD3rWLM5rKNFzv9hgox93HoX8utj1kxD9aFUcI=
|
github.com/elastic/go-elasticsearch/v6 v6.8.2/go.mod h1:UwaDJsD3rWLM5rKNFzv9hgox93HoX8utj1kxD9aFUcI=
|
||||||
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
||||||
github.com/emicklei/go-restful v2.9.6+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
github.com/emicklei/go-restful v2.9.6+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
||||||
github.com/evanphx/json-patch v4.5.0+incompatible h1:ouOWdg56aJriqS0huScTkVXPC5IcNrDCXZ6OoTAWu7M=
|
github.com/evanphx/json-patch v4.5.0+incompatible h1:ouOWdg56aJriqS0huScTkVXPC5IcNrDCXZ6OoTAWu7M=
|
||||||
github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
||||||
|
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||||
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||||
|
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||||
|
github.com/go-critic/go-critic v0.3.5-0.20190904082202-d79a9f0c64db/go.mod h1:+sE8vrLDS2M0pZkBk0wy6+nLdKexVDrl/jBqQOTDThA=
|
||||||
|
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||||
|
github.com/go-lintpack/lintpack v0.5.2/go.mod h1:NwZuYi2nUHho8XEIZ6SIxihrnPoqBTDqfpXvXAN0sXM=
|
||||||
|
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
|
||||||
|
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
||||||
|
github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8=
|
||||||
github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
|
github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
|
||||||
github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
|
github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
|
||||||
github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
|
github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
|
||||||
@@ -24,109 +54,300 @@ github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nA
|
|||||||
github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
|
github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
|
||||||
github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
|
github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
|
||||||
github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
||||||
|
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||||
|
github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4=
|
||||||
|
github.com/go-toolsmith/astcopy v1.0.0/go.mod h1:vrgyG+5Bxrnz4MZWPF+pI4R8h3qKRjjyvV/DSez4WVQ=
|
||||||
|
github.com/go-toolsmith/astequal v0.0.0-20180903214952-dcb477bfacd6/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY=
|
||||||
|
github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY=
|
||||||
|
github.com/go-toolsmith/astfmt v0.0.0-20180903215011-8f8ee99c3086/go.mod h1:mP93XdblcopXwlyN4X4uodxXQhldPGZbcEJIimQHrkg=
|
||||||
|
github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw=
|
||||||
|
github.com/go-toolsmith/astinfo v0.0.0-20180906194353-9809ff7efb21/go.mod h1:dDStQCHtmZpYOmjRP/8gHHnCCch3Zz3oEgCdZVdtweU=
|
||||||
|
github.com/go-toolsmith/astp v0.0.0-20180903215135-0af7e3c24f30/go.mod h1:SV2ur98SGypH1UjcPpCatrV5hPazG6+IfNHbkDXBRrk=
|
||||||
|
github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI=
|
||||||
|
github.com/go-toolsmith/pkgload v0.0.0-20181119091011-e9e65178eee8/go.mod h1:WoMrjiy4zvdS+Bg6z9jZH82QXwkcgCBX6nOfnmdaHks=
|
||||||
|
github.com/go-toolsmith/pkgload v1.0.0/go.mod h1:5eFArkbO80v7Z0kdngIxsRXRMTaX4Ilcwuh3clNrQJc=
|
||||||
|
github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8=
|
||||||
|
github.com/go-toolsmith/typep v1.0.0/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU=
|
||||||
|
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
|
||||||
|
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||||
github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE=
|
github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE=
|
||||||
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
||||||
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||||
|
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||||
|
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
||||||
github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||||
github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
|
github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
|
||||||
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||||
|
github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
|
||||||
|
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||||
|
github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4=
|
||||||
|
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk=
|
||||||
|
github.com/golangci/errcheck v0.0.0-20181223084120-ef45e06d44b6/go.mod h1:DbHgvLiFKX1Sh2T1w8Q/h4NAI8MHIpzCdnBUDTXU3I0=
|
||||||
|
github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613/go.mod h1:SyvUF2NxV+sN8upjjeVYr5W7tyxaT1JVtvhKhOn2ii8=
|
||||||
|
github.com/golangci/goconst v0.0.0-20180610141641-041c5f2b40f3/go.mod h1:JXrF4TWy4tXYn62/9x8Wm/K/dm06p8tCKwFRDPZG/1o=
|
||||||
|
github.com/golangci/gocyclo v0.0.0-20180528134321-2becd97e67ee/go.mod h1:ozx7R9SIwqmqf5pRP90DhR2Oay2UIjGuKheCBCNwAYU=
|
||||||
|
github.com/golangci/gofmt v0.0.0-20181222123516-0b8337e80d98/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU=
|
||||||
|
github.com/golangci/golangci-lint v1.19.1/go.mod h1:2CEc4Fxx3vxDv7g8DyXkHCBF73AOzAymcJAprs2vCps=
|
||||||
|
github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc/go.mod h1:e5tpTHCfVze+7EpLEozzMB3eafxo2KT5veNg1k6byQU=
|
||||||
|
github.com/golangci/lint-1 v0.0.0-20190420132249-ee948d087217/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg=
|
||||||
|
github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o=
|
||||||
|
github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA=
|
||||||
|
github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21/go.mod h1:tf5+bzsHdTM0bsB7+8mt0GUMvjCgwLpTapNZHU8AajI=
|
||||||
|
github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0/go.mod h1:qOQCunEYvmd/TLamH+7LlVccLvUH5kZNhbCgTHoBbp4=
|
||||||
|
github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ=
|
||||||
github.com/gomodule/redigo v2.0.0+incompatible h1:K/R+8tc58AaqLkqG2Ol3Qk+DR/TlNuhuh457pBFPtt0=
|
github.com/gomodule/redigo v2.0.0+incompatible h1:K/R+8tc58AaqLkqG2Ol3Qk+DR/TlNuhuh457pBFPtt0=
|
||||||
github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
|
github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
|
||||||
|
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
||||||
|
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
|
||||||
github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
|
github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
|
||||||
github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
|
github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
|
||||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||||
|
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
||||||
github.com/googleapis/gnostic v0.0.0-20170426233943-68f4ded48ba9/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
|
github.com/googleapis/gnostic v0.0.0-20170426233943-68f4ded48ba9/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
|
||||||
github.com/googleapis/gnostic v0.3.0 h1:CcQijm0XKekKjP/YCz28LXVSpgguuB+nCxaSjCe09y0=
|
github.com/googleapis/gnostic v0.3.0 h1:CcQijm0XKekKjP/YCz28LXVSpgguuB+nCxaSjCe09y0=
|
||||||
github.com/googleapis/gnostic v0.3.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
|
github.com/googleapis/gnostic v0.3.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
|
||||||
|
github.com/gorilla/context v0.0.0-20160226214623-1ea25387ff6f/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
|
||||||
|
github.com/gorilla/mux v1.6.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||||
github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw=
|
github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw=
|
||||||
github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||||
|
github.com/gorilla/securecookie v0.0.0-20160422134519-667fe4e3466a/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
|
||||||
|
github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
|
||||||
|
github.com/gorilla/sessions v0.0.0-20160922145804-ca9ada445741/go.mod h1:+WVp8kdw6VhyKExm03PAMRn2ZxnPtm58pV0dBVPdhHE=
|
||||||
|
github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM=
|
||||||
|
github.com/gorilla/websocket v1.2.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
||||||
|
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
||||||
|
github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE=
|
||||||
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA=
|
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA=
|
||||||
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
|
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
|
||||||
|
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
|
||||||
|
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
|
||||||
|
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
|
||||||
|
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
|
||||||
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
|
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
|
||||||
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
||||||
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||||
|
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
|
||||||
github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||||
github.com/json-iterator/go v1.1.6 h1:MrUvLMLTMxbqFJ9kzlvat/rYZqZnW3u4wkLzWTaFwKs=
|
github.com/json-iterator/go v1.1.6 h1:MrUvLMLTMxbqFJ9kzlvat/rYZqZnW3u4wkLzWTaFwKs=
|
||||||
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||||
|
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||||
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
||||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||||
|
github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
|
||||||
|
github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
|
||||||
|
github.com/klauspost/cpuid v0.0.0-20180405133222-e7e905edc00e/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
|
||||||
|
github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
|
||||||
|
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||||
|
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
|
||||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||||
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
|
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
|
||||||
|
github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
|
||||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||||
|
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||||
|
github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
|
||||||
|
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||||
github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||||
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||||
github.com/mailru/easyjson v0.0.0-20190620125010-da37f6c1e481/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
github.com/mailru/easyjson v0.0.0-20190620125010-da37f6c1e481/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||||
|
github.com/matoous/godox v0.0.0-20190910121045-032ad8106c86/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s=
|
||||||
|
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
||||||
|
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||||
|
github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
|
||||||
|
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||||
|
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||||
|
github.com/mitchellh/go-ps v0.0.0-20190716172923-621e5597135b/go.mod h1:r1VsdOzOPt1ZSrGZWFoNhsAedKnEd6r9Np1+5blZCWk=
|
||||||
|
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
||||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||||
github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||||
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
|
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
|
||||||
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||||
|
github.com/monopole/mdrip v1.0.0/go.mod h1:N1/ppRG9CaPeUKAUHZ3dUlfOT81lTpKZLkyhCvTETwM=
|
||||||
|
github.com/mozilla/tls-observatory v0.0.0-20190404164649-a3c1b6cfecfd/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk=
|
||||||
github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
|
github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
|
||||||
|
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
|
||||||
|
github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU=
|
||||||
|
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
|
||||||
github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||||
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||||
github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w=
|
github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w=
|
||||||
github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||||
|
github.com/onsi/ginkgo v1.10.1 h1:q/mM8GF/n0shIN8SaAZ0V+jnLPzen6WIVZdiwrRlMlo=
|
||||||
|
github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||||
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
|
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
|
||||||
github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo=
|
github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo=
|
||||||
github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||||
|
github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME=
|
||||||
|
github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||||
|
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
|
||||||
|
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
|
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
|
||||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
|
||||||
|
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
|
||||||
|
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
|
||||||
|
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||||
|
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
|
||||||
|
github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
|
||||||
|
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||||
|
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
||||||
|
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
|
||||||
|
github.com/quasilyte/go-consistent v0.0.0-20190521200055-c6f3937de18c/go.mod h1:5STLWrekHfjyYwxBRVRXNOSewLJ3PWfDJd1VyTS21fI=
|
||||||
|
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
||||||
|
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||||
github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik=
|
github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik=
|
||||||
github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
|
github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
|
||||||
|
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
|
||||||
|
github.com/russross/blackfriday v2.0.0+incompatible/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
|
||||||
|
github.com/securego/gosec v0.0.0-20190912120752-140048b2a218/go.mod h1:q6oYAujd2qyeU4cJqIri4LBIgdHXGvxWHZ1E29HNFRE=
|
||||||
|
github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada/go.mod h1:WWnYX4lzhCH5h/3YBfyVA3VbLYjlMZZAQcW9ojMexNc=
|
||||||
|
github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc=
|
||||||
|
github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk=
|
||||||
|
github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ=
|
||||||
|
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||||
|
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||||
|
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
|
||||||
|
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
|
||||||
|
github.com/sourcegraph/go-diff v0.5.1/go.mod h1:j2dHj3m8aZgQO8lMTcTnBcXkRRRqi34cd2MNlA9u1mE=
|
||||||
|
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
|
||||||
|
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
|
||||||
|
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
|
||||||
github.com/spf13/cobra v0.0.2/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
github.com/spf13/cobra v0.0.2/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
||||||
|
github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
|
||||||
|
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
|
||||||
github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||||
github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
|
github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
|
||||||
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||||
|
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||||
|
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||||
|
github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
|
||||||
|
github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
|
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
|
||||||
github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
|
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
|
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
|
||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
|
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
|
||||||
|
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||||
|
github.com/timakin/bodyclose v0.0.0-20190721030226-87058b9bfcec/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk=
|
||||||
|
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||||
|
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
|
||||||
|
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
|
||||||
|
github.com/ultraware/funlen v0.0.2/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA=
|
||||||
|
github.com/ultraware/whitespace v0.0.3/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA=
|
||||||
|
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
|
||||||
|
github.com/valyala/fasthttp v1.2.0/go.mod h1:4vX61m6KN+xDduDNwXrhIAVZaZaZiQ1luJk8LWSxF3s=
|
||||||
|
github.com/valyala/quicktemplate v1.2.0/go.mod h1:EH+4AkTd43SvgIbQHYu59/cJyxDoOVRUAfrukLPuGJ4=
|
||||||
|
github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio=
|
||||||
|
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
||||||
|
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
|
||||||
|
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
|
||||||
|
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||||
|
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
||||||
|
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
|
||||||
|
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
|
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
|
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
|
golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
|
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||||
|
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||||
|
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
|
||||||
golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/net v0.0.0-20180911220305-26e67e76b6c3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
|
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
||||||
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwLmSJpwZ1yqXm8j0v2QI=
|
golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwLmSJpwZ1yqXm8j0v2QI=
|
||||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
|
golang.org/x/net v0.0.0-20190909003024-a7b16738d86b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
|
golang.org/x/net v0.0.0-20191011234655-491137f69257 h1:ry8e2D+cwaV6hk7lb3aRTjjZo24shrbK0e11QEOkTIg=
|
||||||
|
golang.org/x/net v0.0.0-20191011234655-491137f69257/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
|
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20190621203818-d432491b9138 h1:t8BZD9RDjkm9/h7yYN6kE8oaeov5r9aztkB7zKA5Tkg=
|
golang.org/x/sys v0.0.0-20190621203818-d432491b9138 h1:t8BZD9RDjkm9/h7yYN6kE8oaeov5r9aztkB7zKA5Tkg=
|
||||||
golang.org/x/sys v0.0.0-20190621203818-d432491b9138/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190621203818-d432491b9138/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20190911201528-7ad0cfa0b7b5 h1:SW/0nsKCUaozCUtZTakri5laocGx/5bkDSSLrFUsa5s=
|
||||||
|
golang.org/x/sys v0.0.0-20190911201528-7ad0cfa0b7b5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
|
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
|
||||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||||
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
|
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
|
golang.org/x/tools v0.0.0-20181117154741-2ddaf7f79a09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
|
golang.org/x/tools v0.0.0-20190110163146-51295c7ec13a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
|
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
|
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||||
|
golang.org/x/tools v0.0.0-20190311215038-5c2858a9cfe5/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||||
|
golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||||
|
golang.org/x/tools v0.0.0-20190521203540-521d6ed310dd/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||||
golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||||
|
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||||
|
golang.org/x/tools v0.0.0-20190719005602-e377ae9d6386/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI=
|
||||||
|
golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
|
golang.org/x/tools v0.0.0-20190911230505-6bfd74cf029c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
|
golang.org/x/tools v0.0.0-20190912215617-3720d1ec3678/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
|
golang.org/x/tools v0.0.0-20191014141550-5fa5b1782b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||||
|
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||||
|
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||||
|
google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
|
||||||
|
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
|
||||||
|
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
||||||
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
|
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
|
||||||
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
||||||
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
|
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
|
||||||
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
|
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
|
||||||
|
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
|
||||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
|
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
|
||||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
|
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
|
||||||
|
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
|
||||||
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
||||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
|
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||||
|
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
|
||||||
k8s.io/api v0.0.0-20190313235455-40a48860b5ab h1:DG9A67baNpoeweOy2spF1OWHhnVY5KR7/Ek/+U1lVZc=
|
k8s.io/api v0.0.0-20190313235455-40a48860b5ab h1:DG9A67baNpoeweOy2spF1OWHhnVY5KR7/Ek/+U1lVZc=
|
||||||
k8s.io/api v0.0.0-20190313235455-40a48860b5ab/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA=
|
k8s.io/api v0.0.0-20190313235455-40a48860b5ab/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA=
|
||||||
k8s.io/apimachinery v0.0.0-20190313205120-d7deff9243b1 h1:IS7K02iBkQXpCeieSiyJjGoLSdVOv2DbPaWHJ+ZtgKg=
|
k8s.io/apimachinery v0.0.0-20190313205120-d7deff9243b1 h1:IS7K02iBkQXpCeieSiyJjGoLSdVOv2DbPaWHJ+ZtgKg=
|
||||||
@@ -139,8 +360,15 @@ k8s.io/klog v0.3.3 h1:niceAagH1tzskmaie/icWd7ci1wbG7Bf2c6YGcQv+3c=
|
|||||||
k8s.io/klog v0.3.3/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
|
k8s.io/klog v0.3.3/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
|
||||||
k8s.io/kube-openapi v0.0.0-20190603182131-db7b694dc208 h1:5sW+fEHvlJI3Ngolx30CmubFulwH28DhKjGf70Xmtco=
|
k8s.io/kube-openapi v0.0.0-20190603182131-db7b694dc208 h1:5sW+fEHvlJI3Ngolx30CmubFulwH28DhKjGf70Xmtco=
|
||||||
k8s.io/kube-openapi v0.0.0-20190603182131-db7b694dc208/go.mod h1:nfDlWeOsu3pUf4yWGL+ERqohP4YsZcBJXWMK+gkzOA4=
|
k8s.io/kube-openapi v0.0.0-20190603182131-db7b694dc208/go.mod h1:nfDlWeOsu3pUf4yWGL+ERqohP4YsZcBJXWMK+gkzOA4=
|
||||||
|
mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc=
|
||||||
|
mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4=
|
||||||
|
mvdan.cc/unparam v0.0.0-20190720180237-d51796306d8f/go.mod h1:4G1h5nDURzA3bwVMZIVpwbkw+04kSxk3rAtzlimaUJw=
|
||||||
|
sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0=
|
||||||
|
sigs.k8s.io/kustomize/pluginator v1.0.0/go.mod h1:i8HdU5FdH1zDjCKiFf5CNl7slsc0QffyKsY2OuPynJ0=
|
||||||
sigs.k8s.io/kustomize/v3 v3.1.1-0.20190826160027-84519c236bac h1:kmfwkekoKBD2cZCiold2zvyTDzycW6ieBstiBo352bk=
|
sigs.k8s.io/kustomize/v3 v3.1.1-0.20190826160027-84519c236bac h1:kmfwkekoKBD2cZCiold2zvyTDzycW6ieBstiBo352bk=
|
||||||
sigs.k8s.io/kustomize/v3 v3.1.1-0.20190826160027-84519c236bac/go.mod h1:ztX4zYc/QIww3gSripwF7TBOarBTm5BvyAMem0kCzOE=
|
sigs.k8s.io/kustomize/v3 v3.1.1-0.20190826160027-84519c236bac/go.mod h1:ztX4zYc/QIww3gSripwF7TBOarBTm5BvyAMem0kCzOE=
|
||||||
|
sigs.k8s.io/kustomize/v3 v3.2.0/go.mod h1:ztX4zYc/QIww3gSripwF7TBOarBTm5BvyAMem0kCzOE=
|
||||||
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
||||||
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
|
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
|
||||||
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
||||||
|
sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0=
|
||||||
|
|||||||
@@ -12,12 +12,13 @@ import (
|
|||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"sigs.k8s.io/kustomize/v3/api/filesys"
|
"sigs.k8s.io/kustomize/v3/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/v3/api/ifc"
|
"sigs.k8s.io/kustomize/v3/api/ifc"
|
||||||
"sigs.k8s.io/kustomize/v3/api/loader"
|
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/resmap"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resource"
|
"sigs.k8s.io/kustomize/v3/api/resource"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
"sigs.k8s.io/kustomize/v3/api/target"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/plugins"
|
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/target"
|
|
||||||
"sigs.k8s.io/kustomize/v3/plugin/builtin"
|
"sigs.k8s.io/kustomize/v3/plugin/builtin"
|
||||||
"sigs.k8s.io/yaml"
|
"sigs.k8s.io/yaml"
|
||||||
)
|
)
|
||||||
@@ -26,7 +27,7 @@ import (
|
|||||||
type Options struct {
|
type Options struct {
|
||||||
kustomizationPath string
|
kustomizationPath string
|
||||||
outputPath string
|
outputPath string
|
||||||
loadRestrictor loader.LoadRestrictorFunc
|
loadRestrictor fLdr.LoadRestrictorFunc
|
||||||
outOrder reorderOutput
|
outOrder reorderOutput
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,7 +36,7 @@ func NewOptions(p, o string) *Options {
|
|||||||
return &Options{
|
return &Options{
|
||||||
kustomizationPath: p,
|
kustomizationPath: p,
|
||||||
outputPath: o,
|
outputPath: o,
|
||||||
loadRestrictor: loader.RestrictionRootOnly,
|
loadRestrictor: fLdr.RestrictionRootOnly,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,8 +64,8 @@ func NewCmdBuild(
|
|||||||
ptf resmap.PatchFactory) *cobra.Command {
|
ptf resmap.PatchFactory) *cobra.Command {
|
||||||
var o Options
|
var o Options
|
||||||
|
|
||||||
pluginConfig := plugins.DefaultPluginConfig()
|
pluginConfig := config.DefaultPluginConfig()
|
||||||
pl := plugins.NewLoader(pluginConfig, rf)
|
pl := pLdr.NewLoader(pluginConfig, rf)
|
||||||
|
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
Use: "build {path}",
|
Use: "build {path}",
|
||||||
@@ -85,8 +86,8 @@ func NewCmdBuild(
|
|||||||
&o.outputPath,
|
&o.outputPath,
|
||||||
"output", "o", "",
|
"output", "o", "",
|
||||||
"If specified, write the build output to this path.")
|
"If specified, write the build output to this path.")
|
||||||
loader.AddFlagLoadRestrictor(cmd.Flags())
|
fLdr.AddFlagLoadRestrictor(cmd.Flags())
|
||||||
plugins.AddFlagEnablePlugins(
|
config.AddFlagEnablePlugins(
|
||||||
cmd.Flags(), &pluginConfig.Enabled)
|
cmd.Flags(), &pluginConfig.Enabled)
|
||||||
addFlagReorderOutput(cmd.Flags())
|
addFlagReorderOutput(cmd.Flags())
|
||||||
cmd.AddCommand(NewCmdBuildPrune(out, v, fSys, rf, ptf, pl))
|
cmd.AddCommand(NewCmdBuildPrune(out, v, fSys, rf, ptf, pl))
|
||||||
@@ -101,11 +102,11 @@ func (o *Options) Validate(args []string) (err error) {
|
|||||||
pgmconfig.DefaultKustomizationFileName())
|
pgmconfig.DefaultKustomizationFileName())
|
||||||
}
|
}
|
||||||
if len(args) == 0 {
|
if len(args) == 0 {
|
||||||
o.kustomizationPath = loader.CWD
|
o.kustomizationPath = fLdr.CWD
|
||||||
} else {
|
} else {
|
||||||
o.kustomizationPath = args[0]
|
o.kustomizationPath = args[0]
|
||||||
}
|
}
|
||||||
o.loadRestrictor, err = loader.ValidateFlagLoadRestrictor()
|
o.loadRestrictor, err = fLdr.ValidateFlagLoadRestrictor()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -117,8 +118,8 @@ func (o *Options) Validate(args []string) (err error) {
|
|||||||
func (o *Options) RunBuild(
|
func (o *Options) RunBuild(
|
||||||
out io.Writer, v ifc.Validator, fSys filesys.FileSystem,
|
out io.Writer, v ifc.Validator, fSys filesys.FileSystem,
|
||||||
rf *resmap.Factory, ptf resmap.PatchFactory,
|
rf *resmap.Factory, ptf resmap.PatchFactory,
|
||||||
pl *plugins.Loader) error {
|
pl *pLdr.Loader) error {
|
||||||
ldr, err := loader.NewLoader(
|
ldr, err := fLdr.NewLoader(
|
||||||
o.loadRestrictor, o.kustomizationPath, fSys)
|
o.loadRestrictor, o.kustomizationPath, fSys)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -138,8 +139,8 @@ func (o *Options) RunBuild(
|
|||||||
func (o *Options) RunBuildPrune(
|
func (o *Options) RunBuildPrune(
|
||||||
out io.Writer, v ifc.Validator, fSys filesys.FileSystem,
|
out io.Writer, v ifc.Validator, fSys filesys.FileSystem,
|
||||||
rf *resmap.Factory, ptf resmap.PatchFactory,
|
rf *resmap.Factory, ptf resmap.PatchFactory,
|
||||||
pl *plugins.Loader) error {
|
pl *pLdr.Loader) error {
|
||||||
ldr, err := loader.NewLoader(
|
ldr, err := fLdr.NewLoader(
|
||||||
o.loadRestrictor, o.kustomizationPath, fSys)
|
o.loadRestrictor, o.kustomizationPath, fSys)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -182,7 +183,7 @@ func (o *Options) emitResources(
|
|||||||
func NewCmdBuildPrune(
|
func NewCmdBuildPrune(
|
||||||
out io.Writer, v ifc.Validator, fSys filesys.FileSystem,
|
out io.Writer, v ifc.Validator, fSys filesys.FileSystem,
|
||||||
rf *resmap.Factory, ptf resmap.PatchFactory,
|
rf *resmap.Factory, ptf resmap.PatchFactory,
|
||||||
pl *plugins.Loader) *cobra.Command {
|
pl *pLdr.Loader) *cobra.Command {
|
||||||
var o Options
|
var o Options
|
||||||
|
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ package build
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNewOptionsToSilenceCodeInspectionError(t *testing.T) {
|
func TestNewOptionsToSilenceCodeInspectionError(t *testing.T) {
|
||||||
|
|||||||
@@ -15,12 +15,12 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/edit"
|
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/edit"
|
||||||
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/version"
|
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/version"
|
||||||
"sigs.k8s.io/kustomize/v3/api/filesys"
|
"sigs.k8s.io/kustomize/v3/api/filesys"
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resmap"
|
"sigs.k8s.io/kustomize/v3/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resource"
|
"sigs.k8s.io/kustomize/v3/api/resource"
|
||||||
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
|
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
|
||||||
"sigs.k8s.io/kustomize/v3/k8sdeps/transformer"
|
"sigs.k8s.io/kustomize/v3/k8sdeps/transformer"
|
||||||
"sigs.k8s.io/kustomize/v3/k8sdeps/validator"
|
"sigs.k8s.io/kustomize/v3/k8sdeps/validator"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewDefaultCommand returns the default (aka root) command for kustomize command.
|
// NewDefaultCommand returns the default (aka root) command for kustomize command.
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/util"
|
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/util"
|
||||||
"sigs.k8s.io/kustomize/v3/api/filesys"
|
"sigs.k8s.io/kustomize/v3/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/v3/api/ifc"
|
"sigs.k8s.io/kustomize/v3/api/ifc"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
|
||||||
)
|
)
|
||||||
|
|
||||||
type createFlags struct {
|
type createFlags struct {
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/kustfile"
|
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/kustfile"
|
||||||
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/util"
|
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/util"
|
||||||
"sigs.k8s.io/kustomize/v3/api/filesys"
|
"sigs.k8s.io/kustomize/v3/api/filesys"
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// kindOfAdd is the kind of metadata being added: label or annotation
|
// kindOfAdd is the kind of metadata being added: label or annotation
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ func TestNewAddConfigMapIsNotNil(t *testing.T) {
|
|||||||
kv.NewLoader(
|
kv.NewLoader(
|
||||||
loader.NewFileLoaderAtCwd(fSys),
|
loader.NewFileLoaderAtCwd(fSys),
|
||||||
valtest_test.MakeFakeValidator()),
|
valtest_test.MakeFakeValidator()),
|
||||||
nil) == nil {
|
nil) == nil {
|
||||||
t.Fatal("newCmdAddConfigMap shouldn't be nil")
|
t.Fatal("newCmdAddConfigMap shouldn't be nil")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ import (
|
|||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/kustfile"
|
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/kustfile"
|
||||||
"sigs.k8s.io/kustomize/v3/api/filesys"
|
"sigs.k8s.io/kustomize/v3/api/filesys"
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// kindOfAdd is the kind of metadata being added: label or annotation
|
// kindOfAdd is the kind of metadata being added: label or annotation
|
||||||
@@ -46,7 +46,7 @@ func newCmdRemoveAnnotation(fSys filesys.FileSystem, v func([]string) error) *co
|
|||||||
o.kind = label
|
o.kind = label
|
||||||
o.arrayValidator = v
|
o.arrayValidator = v
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
Use: "annotation",
|
Use: "annotation",
|
||||||
Short: "Removes one or more commonAnnotations from " +
|
Short: "Removes one or more commonAnnotations from " +
|
||||||
pgmconfig.DefaultKustomizationFileName(),
|
pgmconfig.DefaultKustomizationFileName(),
|
||||||
Example: `
|
Example: `
|
||||||
@@ -67,7 +67,7 @@ func newCmdRemoveLabel(fSys filesys.FileSystem, v func([]string) error) *cobra.C
|
|||||||
o.kind = label
|
o.kind = label
|
||||||
o.arrayValidator = v
|
o.arrayValidator = v
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
Use: "label",
|
Use: "label",
|
||||||
Short: "Removes one or more commonLabels from " +
|
Short: "Removes one or more commonLabels from " +
|
||||||
pgmconfig.DefaultKustomizationFileName(),
|
pgmconfig.DefaultKustomizationFileName(),
|
||||||
Example: `
|
Example: `
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/kustfile"
|
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/kustfile"
|
||||||
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/util"
|
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/util"
|
||||||
"sigs.k8s.io/kustomize/v3/api/filesys"
|
"sigs.k8s.io/kustomize/v3/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
|
||||||
)
|
)
|
||||||
|
|
||||||
type removePatchOptions struct {
|
type removePatchOptions struct {
|
||||||
@@ -24,7 +24,7 @@ func newCmdRemovePatch(fSys filesys.FileSystem) *cobra.Command {
|
|||||||
var o removePatchOptions
|
var o removePatchOptions
|
||||||
|
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
Use: "patch",
|
Use: "patch",
|
||||||
Short: "Removes one or more patches from " +
|
Short: "Removes one or more patches from " +
|
||||||
pgmconfig.DefaultKustomizationFileName(),
|
pgmconfig.DefaultKustomizationFileName(),
|
||||||
Example: `
|
Example: `
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import (
|
|||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/kustfile"
|
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/kustfile"
|
||||||
"sigs.k8s.io/kustomize/v3/api/filesys"
|
"sigs.k8s.io/kustomize/v3/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
|
||||||
)
|
)
|
||||||
|
|
||||||
type removeResourceOptions struct {
|
type removeResourceOptions struct {
|
||||||
@@ -22,7 +22,7 @@ func newCmdRemoveResource(fSys filesys.FileSystem) *cobra.Command {
|
|||||||
var o removeResourceOptions
|
var o removeResourceOptions
|
||||||
|
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
Use: "resource",
|
Use: "resource",
|
||||||
Short: "Removes one or more resource file paths from " +
|
Short: "Removes one or more resource file paths from " +
|
||||||
pgmconfig.DefaultKustomizationFileName(),
|
pgmconfig.DefaultKustomizationFileName(),
|
||||||
Example: `
|
Example: `
|
||||||
|
|||||||
@@ -6,10 +6,11 @@ package set
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"regexp"
|
"regexp"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/kustfile"
|
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/kustfile"
|
||||||
"sigs.k8s.io/kustomize/v3/api/filesys"
|
"sigs.k8s.io/kustomize/v3/api/filesys"
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import (
|
|||||||
|
|
||||||
func TestSetReplicas(t *testing.T) {
|
func TestSetReplicas(t *testing.T) {
|
||||||
type given struct {
|
type given struct {
|
||||||
args []string
|
args []string
|
||||||
infileReplicas []string
|
infileReplicas []string
|
||||||
}
|
}
|
||||||
type expected struct {
|
type expected struct {
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/filesys"
|
"sigs.k8s.io/kustomize/v3/api/filesys"
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
|
||||||
"sigs.k8s.io/yaml"
|
"sigs.k8s.io/yaml"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -9,10 +9,9 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/testutils"
|
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/testutils"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/filesys"
|
"sigs.k8s.io/kustomize/v3/api/filesys"
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestFieldOrder(t *testing.T) {
|
func TestFieldOrder(t *testing.T) {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ package testutils_test
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"sigs.k8s.io/kustomize/v3/api/filesys"
|
"sigs.k8s.io/kustomize/v3/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
"sigs.k8s.io/kustomize/v3/api/pgmconfig"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|||||||
@@ -4,42 +4,16 @@
|
|||||||
// Package pgmconfig holds global constants for the kustomize tool.
|
// Package pgmconfig holds global constants for the kustomize tool.
|
||||||
package pgmconfig
|
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 (
|
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.
|
// Program name, for help, finding the XDG_CONFIG_DIR, etc.
|
||||||
ProgramName = "kustomize"
|
ProgramName = "kustomize"
|
||||||
|
|
||||||
// Domain from which kustomize code is imported, for locating
|
// TODO: delete this. it's a copy of a const
|
||||||
// plugin source code under $GOPATH.
|
// defined elsewhere but used by pluginator.
|
||||||
// TODO: move to pgk/plugin/config.go or equivalent
|
|
||||||
// as part of v4 release. Cannot move till then
|
|
||||||
// because of pluginator dependence at v3.
|
|
||||||
DomainName = "sigs.k8s.io"
|
DomainName = "sigs.k8s.io"
|
||||||
|
|
||||||
// Name of directory housing all plugins.
|
// TODO: delete this. its a copy of a const
|
||||||
// TODO: move to pgk/plugin/config.go or equivalent
|
// defined elsewhere but used by pluginator.
|
||||||
PluginRoot = "plugin"
|
PluginRoot = "plugin"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -3,87 +3,11 @@
|
|||||||
|
|
||||||
package plugins
|
package plugins
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"runtime"
|
|
||||||
|
|
||||||
"github.com/spf13/pflag"
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/pgmconfig"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// Used with Go plugins.
|
// Used with Go plugins.
|
||||||
|
// TODO: delete this from API in favor of api/plugins/config
|
||||||
PluginSymbol = "KustomizePlugin"
|
PluginSymbol = "KustomizePlugin"
|
||||||
|
|
||||||
// Location of builtins.
|
// TODO: delete this from API in favor of api/plugins/config
|
||||||
BuiltinPluginPackage = "builtin"
|
BuiltinPluginPackage = "builtin"
|
||||||
|
|
||||||
// ApiVersion of builtins.
|
|
||||||
BuiltinPluginApiVersion = BuiltinPluginPackage
|
|
||||||
|
|
||||||
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(), pgmconfig.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"
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -4,9 +4,10 @@ package builtin
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/transform"
|
"sigs.k8s.io/kustomize/v3/api/transform"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"strings"
|
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/resmap"
|
"sigs.k8s.io/kustomize/v3/api/resmap"
|
||||||
"sigs.k8s.io/yaml"
|
"sigs.k8s.io/yaml"
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/hasher"
|
"sigs.k8s.io/kustomize/v3/api/hasher"
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/inventory"
|
||||||
"sigs.k8s.io/kustomize/v3/api/kv"
|
"sigs.k8s.io/kustomize/v3/api/kv"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resid"
|
"sigs.k8s.io/kustomize/v3/api/resid"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resmap"
|
"sigs.k8s.io/kustomize/v3/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resource"
|
"sigs.k8s.io/kustomize/v3/api/resource"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/inventory"
|
|
||||||
"sigs.k8s.io/yaml"
|
"sigs.k8s.io/yaml"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package builtin
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/transform"
|
"sigs.k8s.io/kustomize/v3/api/transform"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/resid"
|
"sigs.k8s.io/kustomize/v3/api/resid"
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ package builtin
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/transform"
|
"sigs.k8s.io/kustomize/v3/api/transform"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package builtin
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/transform"
|
"sigs.k8s.io/kustomize/v3/api/transform"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/resid"
|
"sigs.k8s.io/kustomize/v3/api/resid"
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ package main_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestAnnotationsTransformer(t *testing.T) {
|
func TestAnnotationsTransformer(t *testing.T) {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ package main_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestConfigMapGenerator(t *testing.T) {
|
func TestConfigMapGenerator(t *testing.T) {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ package main_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestHashTransformer(t *testing.T) {
|
func TestHashTransformer(t *testing.T) {
|
||||||
|
|||||||
@@ -7,9 +7,10 @@ package main
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/transform"
|
"sigs.k8s.io/kustomize/v3/api/transform"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"strings"
|
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/resmap"
|
"sigs.k8s.io/kustomize/v3/api/resmap"
|
||||||
"sigs.k8s.io/yaml"
|
"sigs.k8s.io/yaml"
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ package main_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestImageTagTransformerNewTag(t *testing.T) {
|
func TestImageTagTransformerNewTag(t *testing.T) {
|
||||||
|
|||||||
@@ -8,12 +8,12 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/hasher"
|
"sigs.k8s.io/kustomize/v3/api/hasher"
|
||||||
|
"sigs.k8s.io/kustomize/v3/api/inventory"
|
||||||
"sigs.k8s.io/kustomize/v3/api/kv"
|
"sigs.k8s.io/kustomize/v3/api/kv"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resid"
|
"sigs.k8s.io/kustomize/v3/api/resid"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resmap"
|
"sigs.k8s.io/kustomize/v3/api/resmap"
|
||||||
"sigs.k8s.io/kustomize/v3/api/resource"
|
"sigs.k8s.io/kustomize/v3/api/resource"
|
||||||
"sigs.k8s.io/kustomize/v3/api/types"
|
"sigs.k8s.io/kustomize/v3/api/types"
|
||||||
"sigs.k8s.io/kustomize/v3/pkg/inventory"
|
|
||||||
"sigs.k8s.io/yaml"
|
"sigs.k8s.io/yaml"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ package main_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ package main_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestLabelTransformer(t *testing.T) {
|
func TestLabelTransformer(t *testing.T) {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ package main_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/kusttest"
|
"sigs.k8s.io/kustomize/v3/api/testutils/kusttest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestLegacyOrderTransformer(t *testing.T) {
|
func TestLegacyOrderTransformer(t *testing.T) {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/transform"
|
"sigs.k8s.io/kustomize/v3/api/transform"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/v3/api/resid"
|
"sigs.k8s.io/kustomize/v3/api/resid"
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user