Skip to content
A config-chain wrapper that checks common cloud configs, providing autoconfiguration for several cloud hosting environments
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.travis.yml
LICENSE
README.md
index.js
package.json

README.md

#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
You can’t perform that action at this time.