2022-07-19 20:17:51 +02:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/michaelquigley/pfxlog"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
|
|
"github.com/spf13/cobra"
|
|
|
|
"os"
|
|
|
|
"path/filepath"
|
|
|
|
"strings"
|
|
|
|
)
|
|
|
|
|
|
|
|
func init() {
|
2023-01-13 21:12:18 +01:00
|
|
|
pfxlog.GlobalInit(logrus.InfoLevel, pfxlog.DefaultOptions().SetTrimPrefix("github.com/openziti/"))
|
2022-09-01 19:09:50 +02:00
|
|
|
rootCmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, "Enable verbose logging")
|
2022-09-26 19:55:15 +02:00
|
|
|
rootCmd.PersistentFlags().BoolVarP(&panicInstead, "panic", "p", false, "Panic instead of showing pretty errors")
|
2022-11-23 19:00:01 +01:00
|
|
|
rootCmd.AddCommand(accessCmd)
|
2022-12-01 22:41:08 +01:00
|
|
|
adminCmd.AddCommand(adminCreateCmd)
|
2022-12-02 15:08:38 +01:00
|
|
|
adminCmd.AddCommand(adminDeleteCmd)
|
2022-12-02 15:43:25 +01:00
|
|
|
adminCmd.AddCommand(adminListCmd)
|
2022-12-02 18:19:41 +01:00
|
|
|
adminCmd.AddCommand(adminUpdateCmd)
|
2022-12-01 19:19:37 +01:00
|
|
|
rootCmd.AddCommand(adminCmd)
|
2023-01-09 21:24:01 +01:00
|
|
|
rootCmd.AddCommand(configCmd)
|
2022-11-22 19:34:09 +01:00
|
|
|
rootCmd.AddCommand(shareCmd)
|
2022-12-01 19:19:37 +01:00
|
|
|
rootCmd.AddCommand(testCmd)
|
2022-07-19 20:17:51 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
var rootCmd = &cobra.Command{
|
|
|
|
Use: strings.TrimSuffix(filepath.Base(os.Args[0]), filepath.Ext(os.Args[0])),
|
|
|
|
Short: "zrok",
|
|
|
|
PersistentPreRun: func(_ *cobra.Command, _ []string) {
|
|
|
|
if verbose {
|
|
|
|
logrus.SetLevel(logrus.DebugLevel)
|
|
|
|
}
|
|
|
|
},
|
|
|
|
}
|
|
|
|
var verbose bool
|
2022-09-26 19:55:15 +02:00
|
|
|
var panicInstead bool
|
2022-07-19 22:15:54 +02:00
|
|
|
|
2022-11-23 17:34:02 +01:00
|
|
|
var accessCmd = &cobra.Command{
|
|
|
|
Use: "access",
|
2023-01-04 20:42:58 +01:00
|
|
|
Short: "Create frontend access for shares",
|
2022-12-01 19:19:37 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
var adminCmd = &cobra.Command{
|
|
|
|
Use: "admin",
|
|
|
|
Short: "Administration and operations functions",
|
2022-11-23 17:34:02 +01:00
|
|
|
}
|
|
|
|
|
2022-12-01 22:41:08 +01:00
|
|
|
var adminCreateCmd = &cobra.Command{
|
|
|
|
Use: "create",
|
|
|
|
Short: "Create global resources",
|
|
|
|
}
|
|
|
|
|
2022-12-02 15:08:38 +01:00
|
|
|
var adminDeleteCmd = &cobra.Command{
|
|
|
|
Use: "delete",
|
|
|
|
Short: "Delete global resources",
|
|
|
|
}
|
|
|
|
|
2022-12-02 15:43:25 +01:00
|
|
|
var adminListCmd = &cobra.Command{
|
|
|
|
Use: "list",
|
|
|
|
Short: "List global resources",
|
|
|
|
}
|
|
|
|
|
2022-12-02 18:19:41 +01:00
|
|
|
var adminUpdateCmd = &cobra.Command{
|
|
|
|
Use: "update",
|
|
|
|
Short: "Update global resources",
|
|
|
|
}
|
|
|
|
|
2023-01-09 21:24:01 +01:00
|
|
|
var configCmd = &cobra.Command{
|
|
|
|
Use: "config",
|
|
|
|
Short: "Configure your zrok environment",
|
|
|
|
}
|
|
|
|
|
2022-11-22 19:34:09 +01:00
|
|
|
var shareCmd = &cobra.Command{
|
|
|
|
Use: "share",
|
2023-01-04 20:42:58 +01:00
|
|
|
Short: "Create backend access for shares",
|
2022-12-01 19:19:37 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
var testCmd = &cobra.Command{
|
|
|
|
Use: "test",
|
|
|
|
Short: "Utilities for testing zrok deployments",
|
2022-11-22 19:34:09 +01:00
|
|
|
}
|
|
|
|
|
2022-07-19 20:17:51 +02:00
|
|
|
func main() {
|
|
|
|
if err := rootCmd.Execute(); err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
}
|