0.10.0 • Published 1 year ago

node-vault-client-axios v0.10.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
1 year ago

Node.js Vault Client (node-vault-client-axios)

A Vault Client implemented in pure javascript for HashiCorp Vault. It supports a variety of Auth Backends and performs lease renewal for issued auth token.

This is a fork of node-vault-client.

Install

npm install --save node-vault-client-axios

Example

const VaultClient = require('node-vault-client-axios');

const vaultClient = VaultClient.boot('main', {
    api: { url: 'https://vault.example.com:8200/' },
    auth: { 
        type: 'appRole', // or 'token', 'iam'
        config: { role_id: '637c065f-c644-5e12-d3d1-e9fa4363af61' } 
    },
});

vaultClient.read('secret/tst').then(v => {
    console.log(v);
}).catch(e => console.error(e));

Supported Auth Backends

API

VaultClient

new VaultClient(options)

Client constructor function.

ParamTypeDefaultDescription
optionsObject
options.apiObject
options.api.urlStringthe url of the vault server
options.api.apiVersionStringv1
options.authObject
options.auth.typeString
options.auth.configObjectauth configuration variables
options.loggerObjectfalseLogger that supports "error", "info", "warn", "trace", "debug" methods. Uses console by default. Pass false to disable logging.

vaultClient.fillNodeConfig()

Populates Vault's values to NPM "config" module

Kind: instance method of VaultClient

vaultClient.read(path) ⇒ Promise.<Lease>

Read secret from Vault

Kind: instance method of VaultClient

ParamTypeDescription
pathstringpath to the secret

vaultClient.list(path) ⇒ Promise.<Lease>

Retrieves secrets list

Kind: instance method of VaultClient

ParamTypeDescription
pathstringpath to the secret

vaultClient.write(path, data) ⇒ Promise.<(T|never)>

Writes data to Vault

Kind: instance method of VaultClient

ParamTypeDescription
pathpath used to write data
dataobjectdata to write

VaultClient.boot(name, options) ⇒

Boot an instance of Vault

The instance will be stored in a local hash. Calling Vault.boot multiple times with the same name will return the same instance.

Kind: static method of VaultClient
Returns: Vault

ParamTypeDescription
nameStringVault instance name
optionsObjectoptions for Vault#constructor.

VaultClient.get(name) ⇒

Get an instance of Vault

The instance will be stored in a local hash. Calling Vault.pop multiple times with the same name will return the same instance.

Kind: static method of VaultClient
Returns: Vault

ParamTypeDescription
nameStringVault instance name

VaultClient.clear(name)

Clear named Vault instance

If no name passed all named instances will be cleared.

Kind: static method of VaultClient

ParamTypeDescription
nameStringVault instance name, all instances will be cleared if no name were passed