【发布时间】:2018-11-30 02:30:16
【问题描述】:
问题:
我在vault:0.10.2 docker 映像中有三个文件,位于以下位置:
/home/myuser/token_helper:Go 中的令牌助手二进制文件,根据this documentation 实现令牌助手接口
/home/myuser/vault_start:运行 os.exec("vault", "operator", "init") 和 os.exec("vault", "server", "-config=myconfig.hcl") 的 Go 脚本
/home/myuser/.vault:指定令牌助手二进制位置的令牌助手配置文件,我已导出 VAULT_CONFIG_PATH 以指向此路径。该文件读取token_helper = "/home/myuser/token_helper"。
我看到的问题是在运行 vault_start 脚本时,我收到以下错误:
failed to get token helper: error expanding config path "": exec: "getent": executable file not found in $PATH
目前已完成调试:
这个错误似乎不正确。 which getent 返回/usr/bin/getent,图像$PATH 包含它,证明两者都存在。另外,配置路径不是"",而是设置为/home/myuser/.vault,但Vault显然检测为空。
我已将该错误输出跟踪到 Vault 的 command 目录中的 this file:。根据该代码块,只有在未设置 $HOME 时才会出错,但我已经确认在 shell 中设置了 $HOME。
此外,我已经指定了 Vault 要求的所有内容,以便根据 this document 实现令牌助手,但它似乎没有检测到运行它的配置文件。这似乎是 Vault 的错误,还是我遗漏了什么?
【问题讨论】:
标签: go devops alpine hashicorp-vault