diff options
| author | Paul Buetow <pbuetow@mimecast.com> | 2020-09-04 15:32:29 +0300 |
|---|---|---|
| committer | Paul Buetow <pbuetow@mimecast.com> | 2020-09-04 15:32:29 +0300 |
| commit | 7e7e39eab15a346af6d2859086bfbffbd32875aa (patch) | |
| tree | d2095d091b2714cc499ba57fea19a6658d98c2a8 /cmd/drun | |
| parent | 4a200606e6186b8457b336d07a7eef01f8929b9e (diff) | |
refactoring client args passing
Diffstat (limited to 'cmd/drun')
| -rw-r--r-- | cmd/drun/main.go | 35 |
1 files changed, 9 insertions, 26 deletions
diff --git a/cmd/drun/main.go b/cmd/drun/main.go index 8c78e8f..d18b050 100644 --- a/cmd/drun/main.go +++ b/cmd/drun/main.go @@ -17,40 +17,35 @@ import ( // The evil begins here. func main() { + var args clients.Args var background string var cfgFile string var command string - var connectionsPerCPU int var debugEnable bool - var discovery string var displayVersion bool var jobName string var noColor bool - var serversStr string var quietEnable bool var sshPort int - var timeout int - var trustAllHosts bool - var privateKeyPathFile string userName := user.Name() + flag.BoolVar(&args.TrustAllHosts, "trustAllHosts", false, "Auto trust all unknown host keys") flag.BoolVar(&debugEnable, "debug", false, "Activate debug messages") flag.BoolVar(&displayVersion, "version", false, "Display version") flag.BoolVar(&noColor, "noColor", false, "Disable ANSII terminal colors") flag.BoolVar(&quietEnable, "quiet", false, "Reduce output") - flag.BoolVar(&trustAllHosts, "trustAllHosts", false, "Auto trust all unknown host keys") - flag.IntVar(&connectionsPerCPU, "cpc", 10, "How many connections established per CPU core concurrently") + flag.IntVar(&args.ConnectionsPerCPU, "cpc", 10, "How many connections established per CPU core concurrently") + flag.IntVar(&args.Timeout, "timeout", 0, "Command execution timeout") flag.IntVar(&sshPort, "port", 2222, "SSH server port") - flag.IntVar(&timeout, "timeout", 0, "Command execution timeout") + flag.StringVar(&args.Discovery, "discovery", "", "Server discovery method") + flag.StringVar(&args.PrivateKeyPathFile, "key", "", "Path to private key") + flag.StringVar(&args.ServersStr, "servers", "", "Remote servers to connect") + flag.StringVar(&args.UserName, "user", userName, "Your system user name") flag.StringVar(&background, "background", "", "Can be one of 'start', 'cancel', 'list' or empty") flag.StringVar(&cfgFile, "cfg", "", "Config file path") flag.StringVar(&command, "command", "", "Command to run") - flag.StringVar(&discovery, "discovery", "", "Server discovery method") flag.StringVar(&jobName, "name", "", "The job name (if run in background)") - flag.StringVar(&serversStr, "servers", "", "Remote servers to connect") - flag.StringVar(&userName, "user", userName, "Your system user name") - flag.StringVar(&privateKeyPathFile, "key", "", "Path to private key") flag.Parse() @@ -64,19 +59,7 @@ func main() { ctx := context.TODO() logger.Start(ctx, logger.Modes{Debug: debugEnable || config.Common.DebugEnable, Quiet: quietEnable}) - command, commandArgs := readCommand(command) - args := clients.Args{ - ConnectionsPerCPU: connectionsPerCPU, - ServersStr: serversStr, - Discovery: discovery, - UserName: userName, - What: command, - Arguments: commandArgs, - TrustAllHosts: trustAllHosts, - Timeout: timeout, - PrivateKeyPathFile: privateKeyPathFile, - } - + args.What, args.Arguments = readCommand(command) client, err := clients.NewRunClient(args, background, jobName) if err != nil { panic(err) |
