Skip to content

Convention based configuration module using YAML for Node apps.

License

Notifications You must be signed in to change notification settings

LOKE/loke-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LOKE Config

Convention based configuration module using YAML for Node apps.

Paths

The configuration exposed will be created from the following paths (settings in paths higher on the list will override those lower on the list):

  • {app_path}/config.yml
  • {app_path}/config/config.yml
  • /private/etc/{app_name}/config.yml
  • /etc/{app_name}/config.yml
  • {app_path}/config/defaults.yml

However, if the process has a --config [filename] argument, then that file will be used instead.

The defaults.yml file is required, and all configuration keys must have a value listed in the defaults.yml.

YAML

Config files are defined using YAML. See http://yaml.org/

How to Use

Example defaults.yml:

server:
  hostname: www.myapp.com
  port: 80
var config = require('loke-config').create('myapp');

var hostname = config.get('server.hostname');
var port = config.get('server.port');

console.log(hostname); // www.myapp.com
console.log(port); // 80

Environment Variables

You can also override variables using environment variables. Specify them in upper case, and replace . with __ (double underscore).

eg:

SERVER__HOSTNAME=www.mynewapp.com npm start

About

Convention based configuration module using YAML for Node apps.

Resources

License

Stars

Watchers

Forks

Packages

No packages published