/
settings.js
67 lines (59 loc) · 1.68 KB
/
settings.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
var convict = require('convict');
var conf = convict({
env: {
doc: "The applicaton environment.",
format: ["production", "development", "staging", "test"],
default: "development",
env: "NODE_ENV"
},
ip: {
doc: "The IP address to bind.",
format: "ipaddress",
default: "127.0.0.1",
env: "IP_ADDRESS",
},
port: {
doc: "The port to bind.",
format: "port",
default: 4000,
env: "PORT"
},
mongo: {
doc: "Mongo connection url",
default: 'mongodb://localhost/todo',
env: "MONGO_URL",
debug: false
},
auth: {
password_salt: "Dz63N98f1BzJdpLjk9LVtCWkQS5M96mBCBIQuwfZ8lzw85ogiH8kDZNdkQkxC0kwUzC06yGRN5jGXgvDbaVMyaHcVUN1WYmI5CeJ",
token: {
maxAge: 60*60*1000*24*30,
salt: "alsdflajsdlf"
}
},
redis: {
url: "redis://localhost:6379",
options: {
host: "",
port: "",
pass: ""
},
debug: false,
prefix: "todo:",
env: "REDISTOGO_URL"
},
})
var env = conf.get('env');
console.log("port before loading env specifics %s, env port %s", conf.get('port'),process.env.PORT);
conf.loadFile (__dirname + '/'+ env + '_config.json');
conf.validate();
var saveRedisDetails = function () {
console.log("calling redis details");
var redis_url = require("url").parse(conf.get('redis.url'));
conf.set('redis.options.host', redis_url.hostname);
conf.set('redis.options.port', redis_url.port);
if(redis_url.auth) {
conf.set('redis.options.pass', redis_url.auth.split(":")[1]);
}
}();
module.exports = conf;