config-multipaas

0.2.3 • Public • Published

config-multipaas npm version Build Status

CONFIG-CHAIN W/ CLOUD-ENV DEFAULTS!

!!AUTOCONFIGURE JS CODE FOR USE ON ANY PLATFORM NODE!!

MultiPaaS

Config-multiPaaS is a config-chain wrapper that includes autoconfiguration support for all major cloud hosting platforms and deployment targets:

It works by checking the system environment for known configuration strings, normalizing the results into a consistent list.

npm stats

Dependency Check monthly downloads license

Setup

Configuration objects generated by config-multipaas are valid instances of config-chain, making it easy to extend, or to use as drop-in replacement:

  //npm install --save config-multipaas
  var cc = require('config-multipaas')
 
  // Merge multiple layers of configuration down into a single set:
  var config_overrides = { foo: "bar" } // override values should be provided first
  var config = cc(config_overrides)     // cloud configs will be automatically resolved
                 .add({ PORT: 8000 })   // low-priority defaults should be appended last

The above example will produce a default PORT value of 8000 when autoconfiguration strings are unavailable - as in local development environments. On all platforms, foo will be resolved as "bar".

See the config-chain README for advanced usage notes, and the below list of configuration strings for more information about cloud-provided configs.

Listen up

Make sure to pass config.get('PORT') and config.get('IP') to your app's listen function:

app.listen(config.get('PORT'), config.get('IP'), function () {
  console.log("Listening on "+config.get('IP')+", port "+config.get('PORT'))
});

If host-provided configs are not found, local development defaults are returned - allowing you to configure once, and run anywhere.

Configuration Strings

Consistent, vendor-neutral, server configuration strings provoded by cloud-env:

config.get(KEYNAME) DEFAULT process.env.SOURCE_VARS
IP 0.0.0.0 OPENSHIFT_NODEJS_IP, BIND_IP
PORT 8080 OPENSHIFT_NODEJS_PORT, PORT
HOSTNAME localhost OPENSHIFT_APP_DNS, HOSTNAME
APP_NAME APP_NAME OPENSHIFT_APP_NAME, APP_NAME
MONGODB_DB_URL mongodb://127.0.0.1:27017 OPENSHIFT_MONGODB_DB_URL, MONGODB_DB_URL
POSTGRESQL_DB_URL postgresql://127.0.0.1:5432 OPENSHIFT_POSTGRESQL_DB_URL, POSTGRESQL_DB_URL
MYSQL_DB_URL mysql://127.0.0.1:3306 OPENSHIFT_MYSQL_DB_URL, MYSQL_DB_URL

Dependencies (2)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i config-multipaas

    Weekly Downloads

    33

    Version

    0.2.3

    License

    MIT

    Unpacked Size

    11.4 kB

    Total Files

    6

    Last publish

    Collaborators

    • ryanj