有没有办法将HashiCorp Vault作为Windows服务运行?

时间:2017-03-22 06:20:22

标签: batch-file service windows-services wrapper hashicorp-vault

我目前在我的机器上设置了Vault服务器。但是,我想在我的机器重新启动后进行自动启动。从本质上讲,我希望它能够自动运行Vault服务器启动脚本,例如:

python setup.py install

并使用3个密钥开启保险库。 我以前使用Windows Service Wrapper(winsv)将Spring Boot Applications安装为Windows服务。是否可以使用winsv来运行保险库?或者如果winsv可以用来执行2个bat文件(一个包含vault服务器而另一个用于vault unseal)? 我使用的是Windows 10.
感谢您的帮助,谢谢!

2 个答案:

答案 0 :(得分:3)

如果将来有人试图这样做。解决方案是让服务启动Vault服务器。该服务使用ProcessBuilder运行包含以下内容的bat脚本:

启动/ b保险库服务器-config" C:\ vault_0.6.2 \ config.hcl"

然后它使用另一个运行第二个bat脚本的ProcessBuilder,其中包含:           vault unseal%1

,其中%1是服务通过的参数。

答案 1 :(得分:1)

除了服务之外,您还可以使用系统帐户创建在启动时运行的计划任务。

#Start Vault with scheduledtask (powershell)     
$action  = New-ScheduledTaskAction -Execute "$vaultpath\vault.exe" -Argument "server -config=`"$vaultpath\config.hcl`"" 

$trigger = New-ScheduledTaskTrigger -AtStartup  

try{

    $createTask = Register-ScheduledTask -Action $action -Trigger $trigger -TaskName   "Hashicorp_Vault" -Description "Run Hashicorp Vault" -User system -ErrorAction stop

    if($createTask){
        remove-variabel -name createTask
    }

}Catch{

    write-host "[Vault] : The Vault task already exists" -for green

}

https://d2c-it.nl/2019/03/27/hashicorp-vault-on-windows-with-powershell/