Я пытаюсь запустить службу Vault в моем приложении NodeJS. Использование CLI для использования Vault - это нормально, но мне нужно, чтобы он работал автоматически при запуске приложения. Я пробую это
async started(ctx) {
var options = {
apiVersion: 'v1', // default
endpoint: 'http://127.0.0.1:8500', // default
};
// get new instance of the client
var vault = require("node-vault")(options);
// init vault server
vault.init({ secret_shares: 1, secret_threshold: 1 })
.then( (result) => {
var keys = result.keys;
// set token for all following requests
vault.token = result.root_token;
// unseal vault server
return vault.unseal({ secret_shares: 1, key: keys[0] })
})
.catch(console.error);
// see if it is ok
vault.status()
.then (res => {
console.log('STATuuuuuuuuuuusS', res);
})
.catch((err) => {
console.log("errrrrrreur status");
console.error(err.message);
});
Но у меня такая ошибка:
RequestError: Error: connect ECONNREFUSED 127.0.0.1:8500
[...]
cause: Error: connect ECONNREFUSED 127.0.0.1:8500
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) {
errno: 'ECONNREFUSED',
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 8500
},
Если я запустил это раньше, это сработало vault server -config=config.hcl
Даже когда я его убиваю, кажется, что он работает без перезагрузки. Мне здесь что-то не хватает, конечно :) Мне интересно, должно ли node-vault запускать сервер Vault? Если нет, мне интересно, как запустить сервер Vault из приложения, а не из интерфейса командной строки?
Если вы знаете, как это сделать, или у вас есть подсказки, я все уши.
Николас