1.0.0 • Published 9 months ago

node-vault-client v1.0.0

Weekly downloads
2,063
License
Apache-2.0
Repository
github
Last release
9 months ago

Node.js Vault Client

Build Status npm npm

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

Install

npm install --save node-vault-client

Example

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

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
1.0.0

9 months ago

0.6.1

2 years ago

0.6.0

2 years ago

0.5.7

2 years ago

0.5.6

4 years ago

0.5.5

4 years ago

0.5.2

4 years ago

0.5.1

4 years ago

0.5.0

4 years ago

0.4.0

5 years ago

0.3.3

6 years ago

0.3.2

6 years ago

0.3.1

7 years ago

0.3.0

7 years ago

0.2.0

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago