Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ocbesbn-config

Package Overview
Dependencies
Maintainers
2
Versions
40
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ocbesbn-config

OCBESBN Configuration API connector module

  • 2.3.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
172
increased by65.38%
Maintainers
2
Weekly downloads
 
Created
Source

ocbesbn-config

Coverage Status Build status

This module provides easy access to a consul service registry. It provides automatic key prefixing for key storage isolation and caching for keys and endpoints. For further details, please have a look at the wiki.


Minimum setup

First got to your local code directory and run:

npm install ocbesbn-config

To go with the minimum setup, you need to have a consul instance up and running. Now go to your code file and put in the minimum setup code.

const config = require('ocbesbn-config');

// You might want to pass a configuration object to the init method. A list of parameters and their default values
// can be found at the .DefaultConfig module property.
config.init({}).then(() => config.getProperty('my-key')).then(console.log).catch(console.log);

If everything worked as expected, you will get a bluebird promise as result.


Request multiple keys

In addition to single-key-requests, the config module provides two different methods for multi-key-requests.

  1. Key-prefixing (like paths).
  2. List of keys.
Keys by prefix

Prefixing allows you to recursively fetch consul keys and their corresponding values by simply passing a prefix and the recursive parameter to the getProperty() method of the config module. After all keys have been retrieved successfully, the resulting promise contains an object in which the (full) consul keys represent the actual keys and their values represent the actual values inside consul.

config.init({}).then(() => config.setProperty("path/to/key1", "value1"))
	.then(() => config.setProperty("path/to/key2", "value2"))
	.then(() => config.setProperty("path/to/key3", "value3"))
	.then(() => config.getProperty("path/", true))
	.then(console.log)
	.catch(console.log);

/* Should output:
{ 'path/to/key1': 'value1',
  'path/to/key2': 'value2',
  'path/to/key3': 'value3' }
*/
Keys by list

The config module allows passing an array of keys or prefixes (but not mixed!) to the getProperty() method. After all keys have been retrieved successfully, the resulting promise contains an array of consul values each at the corresponding position of their input keys.

config.init({}).then(() => config.setProperty("key1", "value1"))
	.then(() => config.setProperty("key2", "value2"))
	.then(() => config.setProperty("key3", "value3"))
	.then(() => config.getProperty([ "key1", "key2", "key3" ]))
	.then(console.log)
	.catch(console.log);

/* Should output:
[ 'value1', 'value2', 'value3' ]
*/

Default configuration

The default configuration object provides hints about what the module's standard behavior is like. It is mostly recommended to leave most settings as they are and treat them more as general conventions to a common structure in order to maintain a common setup across different services. For further details, please have a look at the wiki.

{
	host: 'consul',
	port: 8500,
	retryCount : 5,
	retryTimeout : 1000
}

FAQs

Package last updated on 17 Nov 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc