Extract flags that enable alpha function features.

This commit is contained in:
monopole
2021-03-05 17:37:57 -08:00
parent 14bf6f8a27
commit f3a958bbf7
3 changed files with 25 additions and 15 deletions

View File

@@ -98,20 +98,18 @@ func NewCmdBuild(
return err
},
}
AddFlagOutputPath(cmd.Flags())
AddFunctionFlags(cmd.Flags())
AddFunctionBasicsFlags(cmd.Flags())
AddFlagLoadRestrictor(cmd.Flags())
AddFlagEnablePlugins(cmd.Flags())
AddFlagReorderOutput(cmd.Flags())
AddFlagEnableManagedbyLabel(cmd.Flags())
AddFlagAllowResourceIdChanges(cmd.Flags())
return cmd
}
// Validate validates build command args and flags.
func Validate(args []string) (err error) {
func Validate(args []string) error {
if len(args) > 1 {
return fmt.Errorf(
"specify one path to " +
@@ -122,8 +120,7 @@ func Validate(args []string) (err error) {
} else {
theArgs.kustomizationPath = args[0]
}
err = validateFlagLoadRestrictor()
if err != nil {
if err := validateFlagLoadRestrictor(); err != nil {
return err
}
return validateFlagReorderOutput()

View File

@@ -7,13 +7,7 @@ import (
"github.com/spf13/pflag"
)
func AddFunctionFlags(set *pflag.FlagSet) {
set.BoolVar(
&theFlags.fnOptions.EnableExec, "enable-exec", false, /*do not change!*/
"enable support for exec functions -- note: exec functions run arbitrary code -- do not use for untrusted configs!!! (Alpha)")
set.BoolVar(
&theFlags.fnOptions.EnableStar, "enable-star", false,
"enable support for starlark functions. (Alpha)")
func AddFunctionBasicsFlags(set *pflag.FlagSet) {
set.BoolVar(
&theFlags.fnOptions.Network, "network", false,
"enable network access for functions that declare it")
@@ -27,3 +21,13 @@ func AddFunctionFlags(set *pflag.FlagSet) {
&theFlags.fnOptions.Env, "env", "e", []string{},
"a list of environment variables to be used by functions")
}
func AddFunctionAlphaEnablementFlags(set *pflag.FlagSet) {
set.BoolVar(
&theFlags.fnOptions.EnableExec, "enable-exec", false,
"enable support for exec functions (raw executables); "+
"do not use for untrusted configs! (Alpha)")
set.BoolVar(
&theFlags.fnOptions.EnableStar, "enable-star", false,
"enable support for starlark functions. (Alpha)")
}

View File

@@ -6,6 +6,7 @@ package commands
import (
"flag"
"io"
"os"
"github.com/spf13/cobra"
@@ -21,6 +22,14 @@ import (
"sigs.k8s.io/kustomize/kustomize/v4/commands/version"
)
func makeBuildCommand(fSys filesys.FileSystem, w io.Writer) *cobra.Command {
cmd := build.NewCmdBuild(
fSys, build.MakeHelp(konfig.ProgramName, "build"), w)
// Add build flags that don't appear in kubectl.
build.AddFunctionAlphaEnablementFlags(cmd.Flags())
return cmd
}
// NewDefaultCommand returns the default (aka root) command for kustomize command.
func NewDefaultCommand() *cobra.Command {
fSys := filesys.MakeFsOnDisk()
@@ -34,11 +43,11 @@ Manages declarative configuration of Kubernetes.
See https://sigs.k8s.io/kustomize
`,
}
pvd := provider.NewDefaultDepProvider()
c.AddCommand(
completion.NewCommand(),
build.NewCmdBuild(
fSys, build.MakeHelp(konfig.ProgramName, "build"), stdOut),
makeBuildCommand(fSys, stdOut),
edit.NewCmdEdit(
fSys, pvd.GetFieldValidator(), pvd.GetKunstructuredFactory()),
create.NewCmdCreate(fSys, pvd.GetKunstructuredFactory()),