From 6425eb6732b4ea2c8a5abb636d63bebc262a4b0f Mon Sep 17 00:00:00 2001 From: Maycon Santos Date: Wed, 31 May 2023 16:06:42 +0200 Subject: [PATCH] Revert "setting cli flags to proper commands (#860)" (#916) This reverts commit 0fa3abbec09eb06b2fd605985c2aa9366e09fd7f. --- client/cmd/down.go | 8 +------- client/cmd/login.go | 12 ------------ client/cmd/root.go | 33 ++++++++++++++++++++++++++------ client/cmd/service.go | 5 ----- client/cmd/service_controller.go | 20 ++----------------- client/cmd/service_installer.go | 10 ---------- client/cmd/ssh.go | 10 ++++------ client/cmd/status.go | 2 -- client/cmd/up.go | 22 --------------------- 9 files changed, 34 insertions(+), 88 deletions(-) diff --git a/client/cmd/down.go b/client/cmd/down.go index fdd3786ae..d906059ca 100644 --- a/client/cmd/down.go +++ b/client/cmd/down.go @@ -2,9 +2,8 @@ package cmd import ( "context" - "time" - "github.com/netbirdio/netbird/util" + "time" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -12,11 +11,6 @@ import ( "github.com/netbirdio/netbird/client/proto" ) -func init() { - downCmd.PersistentFlags().StringVarP(&logLevel, "log-level", "l", "info", "sets Netbird log level") - downCmd.PersistentFlags().StringVar(&daemonAddr, "daemon-addr", defaultDaemonAddr, "Daemon service address to serve CLI requests [unix|tcp]://[path|host:port]") -} - var downCmd = &cobra.Command{ Use: "down", Short: "down netbird connections", diff --git a/client/cmd/login.go b/client/cmd/login.go index 19d49c87a..83ed7f3b8 100644 --- a/client/cmd/login.go +++ b/client/cmd/login.go @@ -19,18 +19,6 @@ import ( "github.com/netbirdio/netbird/client/system" ) -func init() { - loginCmd.PersistentFlags().StringVarP(&configPath, "config", "c", defaultConfigPath, "Netbird config file location") - loginCmd.PersistentFlags().StringVar(&adminURL, "admin-url", "", fmt.Sprintf("Admin Panel URL [http|https]://[host]:[port] (default \"%s\")", internal.DefaultAdminURL)) - loginCmd.PersistentFlags().StringVarP(&managementURL, "management-url", "m", "", fmt.Sprintf("Management Service URL [http|https]://[host]:[port] (default \"%s\")", internal.DefaultManagementURL)) - loginCmd.PersistentFlags().StringVarP(&logLevel, "log-level", "l", "info", "sets Netbird log level") - loginCmd.PersistentFlags().StringVar(&logFile, "log-file", defaultLogFile, "sets Netbird log path. If console is specified the the log will be output to stdout") - loginCmd.PersistentFlags().StringVar(&daemonAddr, "daemon-addr", defaultDaemonAddr, "Daemon service address to serve CLI requests [unix|tcp]://[path|host:port]") - loginCmd.PersistentFlags().StringVarP(&hostName, "hostname", "n", "", "Sets a custom hostname for the device") - loginCmd.PersistentFlags().StringVar(&preSharedKey, "preshared-key", "", "Sets Wireguard PreSharedKey property. If set, then only peers that have the same key can communicate.") - loginCmd.PersistentFlags().StringVarP(&setupKey, "setup-key", "k", "", "Setup key obtained from the Management Service Dashboard (used to register peer)") -} - var loginCmd = &cobra.Command{ Use: "login", Short: "login to the Netbird Management Service (first run)", diff --git a/client/cmd/root.go b/client/cmd/root.go index 8c343c7df..770bd21fa 100644 --- a/client/cmd/root.go +++ b/client/cmd/root.go @@ -20,6 +20,8 @@ import ( "github.com/spf13/pflag" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" + + "github.com/netbirdio/netbird/client/internal" ) const ( @@ -47,7 +49,6 @@ var ( preSharedKey string natExternalIPs []string customDNSAddress string - defaultDaemonAddr string rootCmd = &cobra.Command{ Use: "netbird", Short: "", @@ -82,14 +83,19 @@ func init() { oldDefaultConfigPath = oldDefaultConfigPathDir + "config.json" oldDefaultLogFile = oldDefaultLogFileDir + "client.log" - defaultDaemonAddr = "unix:///var/run/netbird.sock" + defaultDaemonAddr := "unix:///var/run/netbird.sock" if runtime.GOOS == "windows" { defaultDaemonAddr = "tcp://127.0.0.1:41731" } - // rootCmd.PersistentFlags().StringVarP(&managementURL, "management-url", "m", "", fmt.Sprintf("Management Service URL [http|https]://[host]:[port] (default \"%s\")", internal.DefaultManagementURL)) - // rootCmd.PersistentFlags().StringVar(&adminURL, "admin-url", "", fmt.Sprintf("Admin Panel URL [http|https]://[host]:[port] (default \"%s\")", internal.DefaultAdminURL)) - // rootCmd.PersistentFlags().StringVarP(&configPath, "config", "c", defaultConfigPath, "Netbird config file location") - // rootCmd + rootCmd.PersistentFlags().StringVar(&daemonAddr, "daemon-addr", defaultDaemonAddr, "Daemon service address to serve CLI requests [unix|tcp]://[path|host:port]") + rootCmd.PersistentFlags().StringVarP(&managementURL, "management-url", "m", "", fmt.Sprintf("Management Service URL [http|https]://[host]:[port] (default \"%s\")", internal.DefaultManagementURL)) + rootCmd.PersistentFlags().StringVar(&adminURL, "admin-url", "", fmt.Sprintf("Admin Panel URL [http|https]://[host]:[port] (default \"%s\")", internal.DefaultAdminURL)) + rootCmd.PersistentFlags().StringVarP(&configPath, "config", "c", defaultConfigPath, "Netbird config file location") + rootCmd.PersistentFlags().StringVarP(&logLevel, "log-level", "l", "info", "sets Netbird log level") + rootCmd.PersistentFlags().StringVar(&logFile, "log-file", defaultLogFile, "sets Netbird log path. If console is specified the the log will be output to stdout") + rootCmd.PersistentFlags().StringVarP(&setupKey, "setup-key", "k", "", "Setup key obtained from the Management Service Dashboard (used to register peer)") + rootCmd.PersistentFlags().StringVar(&preSharedKey, "preshared-key", "", "Sets Wireguard PreSharedKey property. If set, then only peers that have the same key can communicate.") + rootCmd.PersistentFlags().StringVarP(&hostName, "hostname", "n", "", "Sets a custom hostname for the device") rootCmd.AddCommand(serviceCmd) rootCmd.AddCommand(upCmd) rootCmd.AddCommand(downCmd) @@ -97,6 +103,21 @@ func init() { rootCmd.AddCommand(loginCmd) rootCmd.AddCommand(versionCmd) rootCmd.AddCommand(sshCmd) + serviceCmd.AddCommand(runCmd, startCmd, stopCmd, restartCmd) // service control commands are subcommands of service + serviceCmd.AddCommand(installCmd, uninstallCmd) // service installer commands are subcommands of service + upCmd.PersistentFlags().StringSliceVar(&natExternalIPs, externalIPMapFlag, nil, + `Sets external IPs maps between local addresses and interfaces.`+ + `You can specify a comma-separated list with a single IP and IP/IP or IP/Interface Name. `+ + `An empty string "" clears the previous configuration. `+ + `E.g. --external-ip-map 12.34.56.78/10.0.0.1 or --external-ip-map 12.34.56.200,12.34.56.78/10.0.0.1,12.34.56.80/eth1 `+ + `or --external-ip-map ""`, + ) + upCmd.PersistentFlags().StringVar(&customDNSAddress, dnsResolverAddress, "", + `Sets a custom address for NetBird's local DNS resolver. `+ + `If set, the agent won't attempt to discover the best ip and port to listen on. `+ + `An empty string "" clears the previous configuration. `+ + `E.g. --dns-resolver-address 127.0.0.1:5053 or --dns-resolver-address ""`, + ) } // SetupCloseHandler handles SIGTERM signal and exits with success diff --git a/client/cmd/service.go b/client/cmd/service.go index b2a24fd0b..18fe5d621 100644 --- a/client/cmd/service.go +++ b/client/cmd/service.go @@ -18,11 +18,6 @@ type program struct { serv *grpc.Server } -func init() { - serviceCmd.AddCommand(runCmd, startCmd, stopCmd, restartCmd) // service control commands are subcommands of service - serviceCmd.AddCommand(installCmd, uninstallCmd) // service installer commands are subcommands of service -} - func newProgram(ctx context.Context, cancel context.CancelFunc) *program { ctx = internal.CtxInitState(ctx) return &program{ctx: ctx, cancel: cancel} diff --git a/client/cmd/service_controller.go b/client/cmd/service_controller.go index fc48051cf..b92e1cc05 100644 --- a/client/cmd/service_controller.go +++ b/client/cmd/service_controller.go @@ -11,29 +11,13 @@ import ( "github.com/kardianos/service" log "github.com/sirupsen/logrus" - "github.com/spf13/cobra" - "google.golang.org/grpc" - "github.com/netbirdio/netbird/client/proto" "github.com/netbirdio/netbird/client/server" "github.com/netbirdio/netbird/util" + "github.com/spf13/cobra" + "google.golang.org/grpc" ) -func init() { - startCmd.PersistentFlags().StringVar(&daemonAddr, "daemon-addr", defaultDaemonAddr, "Daemon service address to serve CLI requests [unix|tcp]://[path|host:port]") - startCmd.PersistentFlags().StringVarP(&configPath, "config", "c", defaultConfigPath, "Netbird config file location") - startCmd.PersistentFlags().StringVar(&logFile, "log-file", defaultLogFile, "sets Netbird log path. If console is specified the the log will be output to stdout") - - runCmd.PersistentFlags().StringVar(&logFile, "log-file", defaultLogFile, "sets Netbird log path. If console is specified the the log will be output to stdout") - runCmd.PersistentFlags().StringVarP(&logLevel, "log-level", "l", "info", "sets Netbird log level") - - stopCmd.PersistentFlags().StringVar(&logFile, "log-file", defaultLogFile, "sets Netbird log path. If console is specified the the log will be output to stdout") - stopCmd.PersistentFlags().StringVarP(&logLevel, "log-level", "l", "info", "sets Netbird log level") - - restartCmd.PersistentFlags().StringVar(&logFile, "log-file", defaultLogFile, "sets Netbird log path. If console is specified the the log will be output to stdout") - restartCmd.PersistentFlags().StringVarP(&logLevel, "log-level", "l", "info", "sets Netbird log level") -} - func (p *program) Start(svc service.Service) error { // Start should not block. Do the actual work async. log.Info("starting Netbird service") //nolint diff --git a/client/cmd/service_installer.go b/client/cmd/service_installer.go index 200afe283..9e8c3c623 100644 --- a/client/cmd/service_installer.go +++ b/client/cmd/service_installer.go @@ -2,23 +2,13 @@ package cmd import ( "context" - "fmt" "os" "path/filepath" "runtime" "github.com/spf13/cobra" - - "github.com/netbirdio/netbird/client/internal" ) -func init() { - installCmd.PersistentFlags().StringVarP(&logLevel, "log-level", "l", "info", "sets Netbird log level") - installCmd.PersistentFlags().StringVar(&logFile, "log-file", defaultLogFile, "sets Netbird log path. If console is specified the the log will be output to stdout") - installCmd.PersistentFlags().StringVarP(&configPath, "config", "c", defaultConfigPath, "Netbird config file location") - installCmd.PersistentFlags().StringVarP(&managementURL, "management-url", "m", "", fmt.Sprintf("Management Service URL [http|https]://[host]:[port] (default \"%s\")", internal.DefaultManagementURL)) -} - var installCmd = &cobra.Command{ Use: "install", Short: "installs Netbird service", diff --git a/client/cmd/ssh.go b/client/cmd/ssh.go index 2f728311d..d0f506ff8 100644 --- a/client/cmd/ssh.go +++ b/client/cmd/ssh.go @@ -23,12 +23,6 @@ var ( host string ) -func init() { - sshCmd.PersistentFlags().StringVarP(&logLevel, "log-level", "l", "info", "sets Netbird log level") - sshCmd.PersistentFlags().IntVarP(&port, "port", "p", nbssh.DefaultSSHPort, "Sets remote SSH port. Defaults to "+fmt.Sprint(nbssh.DefaultSSHPort)) - sshCmd.PersistentFlags().StringVarP(&configPath, "config", "c", defaultConfigPath, "Netbird config file location") -} - var sshCmd = &cobra.Command{ Use: "ssh", Args: func(cmd *cobra.Command, args []string) error { @@ -120,3 +114,7 @@ func runSSH(ctx context.Context, addr string, pemKey []byte, cmd *cobra.Command) return nil } + +func init() { + sshCmd.PersistentFlags().IntVarP(&port, "port", "p", nbssh.DefaultSSHPort, "Sets remote SSH port. Defaults to "+fmt.Sprint(nbssh.DefaultSSHPort)) +} diff --git a/client/cmd/status.go b/client/cmd/status.go index a3da45fd1..119944d08 100644 --- a/client/cmd/status.go +++ b/client/cmd/status.go @@ -83,8 +83,6 @@ var statusCmd = &cobra.Command{ func init() { ipsFilterMap = make(map[string]struct{}) - statusCmd.PersistentFlags().StringVar(&daemonAddr, "daemon-addr", defaultDaemonAddr, "Daemon service address to serve CLI requests [unix|tcp]://[path|host:port]") - statusCmd.PersistentFlags().StringVarP(&logLevel, "log-level", "l", "info", "sets Netbird log level") statusCmd.PersistentFlags().BoolVarP(&detailFlag, "detail", "d", false, "display detailed status information in human-readable format") statusCmd.PersistentFlags().BoolVar(&jsonFlag, "json", false, "display detailed status information in json format") statusCmd.PersistentFlags().BoolVar(&yamlFlag, "yaml", false, "display detailed status information in yaml format") diff --git a/client/cmd/up.go b/client/cmd/up.go index a4dcd701d..375832a78 100644 --- a/client/cmd/up.go +++ b/client/cmd/up.go @@ -35,29 +35,7 @@ var ( ) func init() { - upCmd.PersistentFlags().StringVarP(&configPath, "config", "c", defaultConfigPath, "Netbird config file location") - upCmd.PersistentFlags().StringVar(&adminURL, "admin-url", "", fmt.Sprintf("Admin Panel URL [http|https]://[host]:[port] (default \"%s\")", internal.DefaultAdminURL)) - upCmd.PersistentFlags().StringVarP(&managementURL, "management-url", "m", "", fmt.Sprintf("Management Service URL [http|https]://[host]:[port] (default \"%s\")", internal.DefaultManagementURL)) - upCmd.PersistentFlags().StringVarP(&logLevel, "log-level", "l", "info", "sets Netbird log level") - upCmd.PersistentFlags().StringVar(&logFile, "log-file", defaultLogFile, "sets Netbird log path. If console is specified the the log will be output to stdout") upCmd.PersistentFlags().BoolVarP(&foregroundMode, "foreground-mode", "F", false, "start service in foreground") - upCmd.PersistentFlags().StringVar(&daemonAddr, "daemon-addr", defaultDaemonAddr, "Daemon service address to serve CLI requests [unix|tcp]://[path|host:port]") - upCmd.PersistentFlags().StringVarP(&hostName, "hostname", "n", "", "Sets a custom hostname for the device") - upCmd.PersistentFlags().StringVar(&preSharedKey, "preshared-key", "", "Sets Wireguard PreSharedKey property. If set, then only peers that have the same key can communicate.") - upCmd.PersistentFlags().StringVarP(&setupKey, "setup-key", "k", "", "Setup key obtained from the Management Service Dashboard (used to register peer)") - upCmd.PersistentFlags().StringSliceVar(&natExternalIPs, externalIPMapFlag, nil, - `Sets external IPs maps between local addresses and interfaces.`+ - `You can specify a comma-separated list with a single IP and IP/IP or IP/Interface Name. `+ - `An empty string "" clears the previous configuration. `+ - `E.g. --external-ip-map 12.34.56.78/10.0.0.1 or --external-ip-map 12.34.56.200,12.34.56.78/10.0.0.1,12.34.56.80/eth1 `+ - `or --external-ip-map ""`, - ) - upCmd.PersistentFlags().StringVar(&customDNSAddress, dnsResolverAddress, "", - `Sets a custom address for NetBird's local DNS resolver. `+ - `If set, the agent won't attempt to discover the best ip and port to listen on. `+ - `An empty string "" clears the previous configuration. `+ - `E.g. --dns-resolver-address 127.0.0.1:5053 or --dns-resolver-address ""`, - ) } func upFunc(cmd *cobra.Command, args []string) error {