@@ -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
4852func (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