cnn-config-client

0.1.8 • Public • Published

CNN Server Configuration Client

A module that gets data from a config server and set environment variables.

build node npm npm-downloads dependency-status

Contents

Documentation

  • ESDoc documentation can be generated. See below for details.

Local development

Requirements

nvm - a reasonably current version

nvm will be used to manage the node versions installed on your localhost.

node - The version specified by .nvmrc and package.json

You should install this with nvm. Make sure you are in the root of the project directory and do the following. There is a .nvmrc file that tells nvm what version to install and use. The first nvm install command is only needed the first time you try to use a version that has not been installed on your system yet.

$ nvm install
 
$ node --version
v5.5.0

Local install

Clone this repository, install the above requirements, then:

cd cnn-config-client
$ nvm use
$ npm install

How to test

Run the following.

$ npm test

Environment variables

  • CONFIG_HOST - REQUIRED - The configuration host that the client should interface with for the config values.

Exported methods

register(options)
update(options)
getConfig(options, callback)

Example 1: Config update

const client = require('../index.js'),
    config = {
        product: 'test',
        environment: 'test',
        token: '35e6c81b5a764404eac05f0c556d7cb3f4549c00',
        data: {
            timeout: 9
        }
    };

client.update(config);
UPDATE RESPONSE: {"product":"test","environment":"test","data":{"timeout":9},"message":"Config updated"}

Example 2: Set the environment

const client = require('../index.js'),
    config = {
        product: 'test',
        environment: 'test',
        token: '35e6c81b5a764404eac05f0c556d7cb3f4549c00'
    };

client.getConfig(config, function (error, data) {
    if (error) {
        console.log(error);
    } else {
        console.log('data: %j', data);
        console.log('Environment variables have been set');   
    }
});
set process.env.TIMEOUT = 9
Environment variables have been set

Generate Local Docs

$ npm run generate-docs
$ open docs/index.html

Contributing

If you would like to contribute, just fork and submit a pull request. Please review the contributing guidelines first.

Project Owner

A.D. Slaton ad.slaton@turner.com (@adslaton) is the current Project Owner of this repository. The project owner is responsible for the implementation of this project.

Current Project Team Members

This is a list of people directly responsible for the implementation of this project. For more information about the governance of this project, see GOVERNANCE.md.

Collaborators follow the COLLABORATOR_GUIDE.md in maintaining this project.

Package Sidebar

Install

npm i cnn-config-client

Weekly Downloads

6

Version

0.1.8

License

MIT

Last publish

Collaborators

  • adslaton
  • alexsover
  • britneydossett
  • cnnlabs
  • codeclout
  • drenter
  • jamsyoung
  • khowen