From b943a8b9b166ee60b8f9d9d8811845a36550d102 Mon Sep 17 00:00:00 2001 From: decentral1se Date: Wed, 30 Mar 2022 11:30:36 +0200 Subject: [PATCH] feat: allow choosing user on remote commands --- cli/app/cmd.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/cli/app/cmd.go b/cli/app/cmd.go index 12295b94..32fc0545 100644 --- a/cli/app/cmd.go +++ b/cli/app/cmd.go @@ -32,6 +32,14 @@ var localCmdFlag = &cli.BoolFlag{ Destination: &localCmd, } +var remoteUser string +var remoteUserFlag = &cli.StringFlag{ + Name: "user, u", + Value: "", + Usage: "User to run command within a service context", + Destination: &remoteUser, +} + var appCmdCommand = cli.Command{ Name: "command", Aliases: []string{"cmd"}, @@ -52,6 +60,7 @@ Example: Flags: []cli.Flag{ internal.DebugFlag, localCmdFlag, + remoteUserFlag, }, BashComplete: autocomplete.AppNameComplete, Before: internal.SubCommandBefore, @@ -200,6 +209,11 @@ func runCmdRemote(app config.App, abraSh, serviceName, cmdName, cmdArgs string) Tty: true, } + if remoteUser != "" { + logrus.Debugf("running command with user %s", remoteUser) + execCreateOpts.User = remoteUser + } + // FIXME: avoid instantiating a new CLI dcli, err := command.NewDockerCli() if err != nil {