Skip to content

Commit b07580b

Browse files
Merge pull request #280 from wttech/vault-cli
fixed vault-cli status code
2 parents 35f2832 + 5ed306f commit b07580b

File tree

2 files changed

+15
-13
lines changed

2 files changed

+15
-13
lines changed

cmd/aem/vault.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package main
33
import (
44
"github.com/spf13/cobra"
55
"github.com/wttech/aemc/pkg"
6-
"os"
76
)
87

98
func (c *CLI) vaultCmd() *cobra.Command {
@@ -12,8 +11,10 @@ func (c *CLI) vaultCmd() *cobra.Command {
1211
Short: "Executes Vault commands",
1312
Run: func(cmd *cobra.Command, args []string) {
1413
vaultCli := pkg.NewVaultCli(c.aem)
15-
vaultCliArgs := os.Args[1:]
16-
_ = vaultCli.CommandShell(vaultCliArgs)
14+
if err := vaultCli.CommandShell(args); err != nil {
15+
c.Error(err)
16+
return
17+
}
1718
},
1819
Args: cobra.ArbitraryArgs,
1920
FParseErrWhitelist: cobra.FParseErrWhitelist{

pkg/vault_cli.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,13 @@ func (v VaultCli) dir() string {
4040
return filepath.Join(v.aem.baseOpts.ToolDir, "vault-cli")
4141
}
4242

43-
func (v VaultCli) execDir() string {
43+
func (v VaultCli) execFile() string {
4444
vaultDir, _, _ := strings.Cut(filepath.Base(v.DownloadURL), "-bin")
45-
return filepath.Join(v.dir(), vaultDir, "bin")
45+
execDir := filepath.Join(v.dir(), vaultDir, "bin")
46+
if osx.IsWindows() {
47+
return pathx.Canonical(execDir + "/vlt.bat")
48+
}
49+
return pathx.Canonical(execDir + "/vlt")
4650
}
4751

4852
func (v VaultCli) lock() osx.Lock[VaultCliLock] {
@@ -60,12 +64,10 @@ func (v VaultCli) Prepare() error {
6064
return nil
6165
}
6266
log.Infof("preparing new Vault '%s'", v.DownloadURL)
63-
err = v.prepare()
64-
if err != nil {
67+
if err = v.prepare(); err != nil {
6568
return err
6669
}
67-
err = lock.Lock()
68-
if err != nil {
70+
if err = lock.Lock(); err != nil {
6971
return err
7072
}
7173
log.Infof("prepared new Vault '%s'", v.DownloadURL)
@@ -100,11 +102,10 @@ func (v VaultCli) CommandShell(args []string) error {
100102
if err := v.Prepare(); err != nil {
101103
return fmt.Errorf("cannot prepare Vault before running command: %w", err)
102104
}
103-
cmd := execx.CommandShell(args)
104-
cmd.Dir = v.execDir()
105+
vaultCliArgs := append([]string{v.execFile()}, args...)
106+
cmd := execx.CommandShell(vaultCliArgs)
105107
v.aem.CommandOutput(cmd)
106-
err := cmd.Run()
107-
if err != nil {
108+
if err := cmd.Run(); err != nil {
108109
return fmt.Errorf("cannot run Vault command: %w", err)
109110
}
110111
return nil

0 commit comments

Comments
 (0)