2020-03-06 03:00:18 +05:30
|
|
|
package main
|
|
|
|
|
2022-04-14 17:50:18 +05:30
|
|
|
import (
|
|
|
|
"flag"
|
|
|
|
"os"
|
2022-10-24 21:47:20 +03:00
|
|
|
"strconv"
|
2020-03-06 03:00:18 +05:30
|
|
|
|
2022-04-14 17:50:18 +05:30
|
|
|
"github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/apply"
|
|
|
|
"github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/jp"
|
2022-10-24 21:47:20 +03:00
|
|
|
"github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/oci"
|
2022-04-14 17:50:18 +05:30
|
|
|
"github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/test"
|
|
|
|
"github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno/version"
|
2023-04-18 14:08:17 +02:00
|
|
|
"github.com/kyverno/kyverno/pkg/logging"
|
2022-04-14 17:50:18 +05:30
|
|
|
"github.com/spf13/cobra"
|
|
|
|
)
|
|
|
|
|
2022-10-24 21:47:20 +03:00
|
|
|
const EnableExperimentalEnv = "KYVERNO_EXPERIMENTAL"
|
|
|
|
|
2020-03-06 03:00:18 +05:30
|
|
|
func main() {
|
2022-04-14 17:50:18 +05:30
|
|
|
cli := &cobra.Command{
|
|
|
|
Use: "kyverno",
|
2023-04-18 14:08:17 +02:00
|
|
|
Long: "To enable experimental commands, KYVERNO_EXPERIMENTAL should be configured with true or 1.",
|
2022-04-14 17:50:18 +05:30
|
|
|
Short: "Kubernetes Native Policy Management",
|
|
|
|
}
|
2023-04-18 14:08:17 +02:00
|
|
|
configureLogs(cli)
|
|
|
|
registerCommands(cli)
|
2022-04-14 17:50:18 +05:30
|
|
|
if err := cli.Execute(); err != nil {
|
|
|
|
os.Exit(1)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-04-18 14:08:17 +02:00
|
|
|
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")
|
|
|
|
}
|
|
|
|
|
2022-10-24 21:47:20 +03:00
|
|
|
func enableExperimental() bool {
|
|
|
|
if b, err := strconv.ParseBool(os.Getenv(EnableExperimentalEnv)); err == nil {
|
|
|
|
return b
|
|
|
|
}
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
2023-04-18 14:08:17 +02:00
|
|
|
func registerCommands(cli *cobra.Command) {
|
|
|
|
cli.AddCommand(version.Command(), apply.Command(), test.Command(), jp.Command())
|
|
|
|
if enableExperimental() {
|
|
|
|
cli.AddCommand(oci.Command())
|
2022-08-02 07:54:02 -07:00
|
|
|
}
|
2020-03-06 03:00:18 +05:30
|
|
|
}
|