forked from hicsail/anchor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.js
executable file
·103 lines (90 loc) · 1.93 KB
/
config.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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
'use strict';
const Confidence = require('confidence');
const Dotenv = require('dotenv');
Dotenv.config({ silent: true });
const criteria = {
env: process.env.NODE_ENV
};
const config = {
$meta: 'This file configures the plot device.',
projectName: {
$filter: 'env',
production: process.env.PROJECT_NAME,
test: 'Anchor-Test',
local: process.env.PROJECT_NAME,
$default: 'Anchor'
},
baseUrl: {
$filter: 'env',
production: process.env.BASE_URL,
test: 'localhost:9090',
local: process.env.BASE_URL,
$default: 'http://localhost:9000/'
},
port: {
web: {
$filter: 'env',
test: 9090,
production: process.env.PORT,
local: process.env.PORT,
$default: 9000
}
},
authAttempts: {
forIp: 50,
forIpAndUser: 7
},
authSecret: {
$filter: 'env',
production: process.env.AUTH_SECRET,
local: process.env.AUTH_SECRET,
$default: '!k3yb04rdK4tz~4qu4~k3yb04rdd0gz!'
},
hapiMongoModels: {
mongodb: {
uri: {
$filter: 'env',
production: process.env.MONGODB_URI,
test: 'mongodb://localhost:27017/anchor-test',
local: process.env.MONGODB_URI,
$default: 'mongodb://localhost:27017/anchor'
}
},
autoIndex: true
},
nodemailer: {
host: 'smtp.gmail.com',
port: 465,
secure: true,
auth: {
user: process.env.SMTP_USERNAME,
pass: process.env.SMTP_PASSWORD
}
},
system: {
fromAddress: {
name: 'Anchor',
address: '[email protected]'
},
toAddress: {
name: 'Anchor',
address: '[email protected]'
}
},
passwordComplexity: {
min: 8,
max: 32,
lowerCase: 1,
upperCase: 1,
numeric: 1,
symbol: 1,
requirementCount: 3
}
};
const store = new Confidence.Store(config);
exports.get = function (key) {
return store.get(key, criteria);
};
exports.meta = function (key) {
return store.meta(key, criteria);
};