mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-13 10:00:56 +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/cmd"
|
||||||
"sigs.k8s.io/kustomize/cmd/config/cmddocs/api"
|
"sigs.k8s.io/kustomize/cmd/config/cmddocs/api"
|
||||||
"sigs.k8s.io/kustomize/cmd/config/cmddocs/tutorials"
|
"sigs.k8s.io/kustomize/cmd/config/cmddocs/tutorials"
|
||||||
|
"sigs.k8s.io/kustomize/kyaml/commandutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
var root = &cobra.Command{
|
var root = &cobra.Command{
|
||||||
@@ -40,7 +41,6 @@ Advanced Documentation Topics:
|
|||||||
$ kustomize help config docs-fn
|
$ kustomize help config docs-fn
|
||||||
$ kustomize help config docs-io-annotations
|
$ kustomize help config docs-io-annotations
|
||||||
`,
|
`,
|
||||||
Version: "v0.0.1",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewConfigCommand returns a new *cobra.Command for the config command group. This may
|
// 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.
|
// "kustomize" and the built-in docs will display "kustomize config" in the examples.
|
||||||
//
|
//
|
||||||
func NewConfigCommand(name string) *cobra.Command {
|
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,
|
root.PersistentFlags().BoolVar(&cmd.StackOnError, "stack-trace", false,
|
||||||
"print a stack-trace on failure")
|
"print a stack-trace on failure")
|
||||||
|
|
||||||
|
|||||||
@@ -4,13 +4,18 @@
|
|||||||
package cmds_test
|
package cmds_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"sigs.k8s.io/kustomize/cmd/config/cmds"
|
"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
|
// ExampleNewConfigCommand demonstrates how to embed the config command as a command inside
|
||||||
// another group.
|
// another group.
|
||||||
func ExampleNewConfigCommand() {
|
func ExampleNewConfigCommand() {
|
||||||
|
// enable the config commands
|
||||||
|
os.Setenv(commandutil.EnableAlphaCommmandsEnvName, "true")
|
||||||
var root = &cobra.Command{
|
var root = &cobra.Command{
|
||||||
Use: "my-cmd",
|
Use: "my-cmd",
|
||||||
Short: "My command.",
|
Short: "My command.",
|
||||||
|
|||||||
@@ -10,9 +10,12 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
|
|
||||||
"sigs.k8s.io/kustomize/cmd/config/cmds"
|
"sigs.k8s.io/kustomize/cmd/config/cmds"
|
||||||
|
"sigs.k8s.io/kustomize/kyaml/commandutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
// enable the config commands
|
||||||
|
os.Setenv(commandutil.EnableAlphaCommmandsEnvName, "true")
|
||||||
if err := cmds.NewConfigCommand("").Execute(); err != nil {
|
if err := cmds.NewConfigCommand("").Execute(); err != nil {
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ require (
|
|||||||
github.com/spf13/pflag v1.0.5
|
github.com/spf13/pflag v1.0.5
|
||||||
sigs.k8s.io/kustomize/api v0.2.0
|
sigs.k8s.io/kustomize/api v0.2.0
|
||||||
sigs.k8s.io/kustomize/cmd/config v0.0.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
|
sigs.k8s.io/yaml v1.1.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import (
|
|||||||
"sigs.k8s.io/kustomize/api/filesys"
|
"sigs.k8s.io/kustomize/api/filesys"
|
||||||
"sigs.k8s.io/kustomize/api/konfig/builtinpluginconsts"
|
"sigs.k8s.io/kustomize/api/konfig/builtinpluginconsts"
|
||||||
"sigs.k8s.io/kustomize/cmd/config/cmds"
|
"sigs.k8s.io/kustomize/cmd/config/cmds"
|
||||||
|
"sigs.k8s.io/kustomize/kyaml/commandutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewCmdConfig returns an instance of 'config' subcommand.
|
// NewCmdConfig returns an instance of 'config' subcommand.
|
||||||
@@ -50,7 +51,9 @@ func newCmdSave(fSys filesys.FileSystem) *cobra.Command {
|
|||||||
}
|
}
|
||||||
return o.RunSave(fSys)
|
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.
|
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
|
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