mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-05 07:26:55 +00:00
* refactor: restructure cli test command Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> * fix Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> --------- Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
55 lines
1.5 KiB
Go
55 lines
1.5 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"os"
|
|
"strconv"
|
|
|
|
"github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/apply"
|
|
"github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/jp"
|
|
"github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/oci"
|
|
"github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/test"
|
|
"github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/version"
|
|
"github.com/kyverno/kyverno/pkg/logging"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
const EnableExperimentalEnv = "KYVERNO_EXPERIMENTAL"
|
|
|
|
func main() {
|
|
cli := &cobra.Command{
|
|
Use: "kyverno",
|
|
Long: "To enable experimental commands, KYVERNO_EXPERIMENTAL should be configured with true or 1.",
|
|
Short: "Kubernetes Native Policy Management",
|
|
}
|
|
configureLogs(cli)
|
|
registerCommands(cli)
|
|
if err := cli.Execute(); err != nil {
|
|
os.Exit(1)
|
|
}
|
|
}
|
|
|
|
func configureLogs(cli *cobra.Command) {
|
|
logging.InitFlags(nil)
|
|
cli.PersistentFlags().AddGoFlagSet(flag.CommandLine)
|
|
_ = cli.PersistentFlags().MarkHidden("alsologtostderr")
|
|
_ = cli.PersistentFlags().MarkHidden("logtostderr")
|
|
_ = cli.PersistentFlags().MarkHidden("log_dir")
|
|
_ = cli.PersistentFlags().MarkHidden("log_backtrace_at")
|
|
_ = cli.PersistentFlags().MarkHidden("stderrthreshold")
|
|
_ = cli.PersistentFlags().MarkHidden("vmodule")
|
|
}
|
|
|
|
func enableExperimental() bool {
|
|
if b, err := strconv.ParseBool(os.Getenv(EnableExperimentalEnv)); err == nil {
|
|
return b
|
|
}
|
|
return false
|
|
}
|
|
|
|
func registerCommands(cli *cobra.Command) {
|
|
cli.AddCommand(version.Command(), apply.Command(), test.Command(), jp.Command())
|
|
if enableExperimental() {
|
|
cli.AddCommand(oci.Command())
|
|
}
|
|
}
|