我正在尝试使用 node-vault 进行一个简单的操作,但它不起作用。这是我的尝试:
配置
var options = {
apiVersion: 'v2', // default
endpoint: 'http://127.0.0.1:8200', // default
};
// get new instance of the client
var vault = require("node-vault")(options);
vault.token = "<<MY TOKEN>>";
用法
vault.write('secret/data/new', {"data": {"foo": "bar"}}).then(
function (value: any) {
console.log(value);
})
.catch((err: any) => {
console.log(err);
});
回复
{ statusCode: 404, body: { errors: [] } }
但是,如果我运行 vault kv put secret/data/new foo=bar
它确实有效并且价值就在那里。
这是怎么回事?
谢谢大家,祝大家新年快乐!
答案 0 :(得分:1)
好的,这就是我所做的。
vault secrets enable -path=testPath kv
中启用秘密引擎配置:
export const VAULT_OPTIONS = {
apiVersion: 'v1',
endpoint: 'http://127.0.0.1:8200',
token: '<<YOUR TOKEN>>'
};
vault = require("node-vault")(VAULT_OPTIONS);
写:
this.vault.write('test/data/mykey', {"data": {"tests": {"test1": "test1-value", "test2": "test2-value"}}}).then(
(result: any) => {
console.log(res.data);
}, (error: any) => {
console.log(error);
});
请注意,path
必须包含 data
,数据也必须由 data
({ data: {key:value}) 包围。