add wiretrustee LOGIN command (#90)

* feature: add wiretrustee LOGIN command

* chore: add management initial connection timeout

* test: add login cmd test

* test: validate generated config in login cmd

* test: add up command test

* chore: add timeout to signal client creation method

* test: close wireguard interface once test finished
This commit is contained in:
Mikhail Bragin
2021-08-18 13:35:42 +02:00
committed by GitHub
parent f7e51e7453
commit 1dfa99d07c
14 changed files with 557 additions and 244 deletions

View File

@ -2,6 +2,7 @@ package cmd
import (
"fmt"
"github.com/wiretrustee/wiretrustee/client/internal"
"os"
"os/signal"
"runtime"
@ -20,6 +21,7 @@ var (
configPath string
defaultConfigPath string
logLevel string
managementURL string
rootCmd = &cobra.Command{
Use: "wiretrustee",
@ -43,10 +45,13 @@ func init() {
if runtime.GOOS == "windows" {
defaultConfigPath = os.Getenv("PROGRAMDATA") + "\\Wiretrustee\\" + "config.json"
}
rootCmd.PersistentFlags().StringVar(&configPath, "config", defaultConfigPath, "Wiretrustee config file location to write new config to")
rootCmd.PersistentFlags().StringVar(&logLevel, "log-level", "info", "")
rootCmd.PersistentFlags().StringVar(&managementURL, "management-url", "", fmt.Sprintf("Management Service URL [http|https]://[host]:[port] (default \"%s\")", internal.ManagementURLDefault().String()))
rootCmd.PersistentFlags().StringVar(&configPath, "config", defaultConfigPath, "Wiretrustee config file location")
rootCmd.PersistentFlags().StringVar(&logLevel, "log-level", "info", "sets Wiretrustee log level")
rootCmd.AddCommand(serviceCmd)
rootCmd.AddCommand(upCmd)
rootCmd.AddCommand(loginCmd)
serviceCmd.AddCommand(runCmd, startCmd, stopCmd, restartCmd) // service control commands are subcommands of service
serviceCmd.AddCommand(installCmd, uninstallCmd) // service installer commands are subcommands of service
}