mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 18:25:26 +00:00
Disable alpha kustomize commands by default.
- enable alpha commands with env KUSTOMIZE_SHOW_ALPHA_COMMANDS=true
This commit is contained in:
@@ -12,6 +12,7 @@ import (
|
||||
"sigs.k8s.io/kustomize/cmd/config/cmd"
|
||||
"sigs.k8s.io/kustomize/cmd/config/cmddocs/api"
|
||||
"sigs.k8s.io/kustomize/cmd/config/cmddocs/tutorials"
|
||||
"sigs.k8s.io/kustomize/kyaml/commandutil"
|
||||
)
|
||||
|
||||
var root = &cobra.Command{
|
||||
@@ -40,7 +41,6 @@ Advanced Documentation Topics:
|
||||
$ kustomize help config docs-fn
|
||||
$ kustomize help config docs-io-annotations
|
||||
`,
|
||||
Version: "v0.0.1",
|
||||
}
|
||||
|
||||
// NewConfigCommand returns a new *cobra.Command for the config command group. This may
|
||||
@@ -52,6 +52,18 @@ Advanced Documentation Topics:
|
||||
// "kustomize" and the built-in docs will display "kustomize config" in the examples.
|
||||
//
|
||||
func NewConfigCommand(name string) *cobra.Command {
|
||||
// config command is alpha
|
||||
root.Version = "v0.0.0"
|
||||
|
||||
// Only populate the command if Alpha commands are enabled.
|
||||
if !commandutil.GetAlphaEnabled() {
|
||||
// return the command because other subcommands are added to it
|
||||
root.Short = "[Alpha] To enable set KUSTOMIZE_ENABLE_ALPHA_COMMANDS=true"
|
||||
root.Long = "[Alpha] To enable set KUSTOMIZE_ENABLE_ALPHA_COMMANDS=true"
|
||||
root.Example = ""
|
||||
return root
|
||||
}
|
||||
|
||||
root.PersistentFlags().BoolVar(&cmd.StackOnError, "stack-trace", false,
|
||||
"print a stack-trace on failure")
|
||||
|
||||
|
||||
@@ -4,13 +4,18 @@
|
||||
package cmds_test
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
"sigs.k8s.io/kustomize/cmd/config/cmds"
|
||||
"sigs.k8s.io/kustomize/kyaml/commandutil"
|
||||
)
|
||||
|
||||
// ExampleNewConfigCommand demonstrates how to embed the config command as a command inside
|
||||
// another group.
|
||||
func ExampleNewConfigCommand() {
|
||||
// enable the config commands
|
||||
os.Setenv(commandutil.EnableAlphaCommmandsEnvName, "true")
|
||||
var root = &cobra.Command{
|
||||
Use: "my-cmd",
|
||||
Short: "My command.",
|
||||
|
||||
@@ -10,9 +10,12 @@ import (
|
||||
"os"
|
||||
|
||||
"sigs.k8s.io/kustomize/cmd/config/cmds"
|
||||
"sigs.k8s.io/kustomize/kyaml/commandutil"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// enable the config commands
|
||||
os.Setenv(commandutil.EnableAlphaCommmandsEnvName, "true")
|
||||
if err := cmds.NewConfigCommand("").Execute(); err != nil {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ require (
|
||||
github.com/spf13/pflag v1.0.5
|
||||
sigs.k8s.io/kustomize/api v0.2.0
|
||||
sigs.k8s.io/kustomize/cmd/config v0.0.0
|
||||
sigs.k8s.io/kustomize/kyaml v0.0.0
|
||||
sigs.k8s.io/yaml v1.1.0
|
||||
)
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import (
|
||||
"sigs.k8s.io/kustomize/api/filesys"
|
||||
"sigs.k8s.io/kustomize/api/konfig/builtinpluginconsts"
|
||||
"sigs.k8s.io/kustomize/cmd/config/cmds"
|
||||
"sigs.k8s.io/kustomize/kyaml/commandutil"
|
||||
)
|
||||
|
||||
// NewCmdConfig returns an instance of 'config' subcommand.
|
||||
@@ -50,7 +51,9 @@ func newCmdSave(fSys filesys.FileSystem) *cobra.Command {
|
||||
}
|
||||
return o.RunSave(fSys)
|
||||
},
|
||||
Hidden: true, // Don't display this command, but keep it for backwards compatibility.
|
||||
// Alpha version of config is very different than the current version.
|
||||
// If alpha is enabled, don't display this command, but keep it for backwards compatibility.
|
||||
Hidden: commandutil.GetAlphaEnabled(),
|
||||
Deprecated: `The save command is deprecated and will be removed in a future release.
|
||||
|
||||
If you require this command file an issue at https://github.com/kubernetes-sigs/kustomize/issues
|
||||
|
||||
14
kyaml/commandutil/commandutil.go
Normal file
14
kyaml/commandutil/commandutil.go
Normal file
@@ -0,0 +1,14 @@
|
||||
package commandutil
|
||||
|
||||
import (
|
||||
"os"
|
||||
)
|
||||
|
||||
// EnabkeAlphaCommmandsEnvName is the environment variable used to enable Alpha kustomize commands.
|
||||
//If set to "true" alpha commands will be enabled.
|
||||
const EnableAlphaCommmandsEnvName = "KUSTOMIZE_ENABLE_ALPHA_COMMANDS"
|
||||
|
||||
// GetAlphaEnabled returns true if alpha commands should be enabled.
|
||||
func GetAlphaEnabled() bool {
|
||||
return os.Getenv(EnableAlphaCommmandsEnvName) == "true"
|
||||
}
|
||||
Reference in New Issue
Block a user