2019-02-19 11:34:52 +00:00
|
|
|
import _ from 'lodash'
|
2021-01-04 17:47:59 +00:00
|
|
|
import nconf from 'nconf-lite'
|
2019-02-19 11:34:52 +00:00
|
|
|
import { readFileSync } from 'fs'
|
|
|
|
|
|
|
|
// Helper method for global usage.
|
|
|
|
nconf.inTest = () => nconf.get('NODE_ENV') === 'test'
|
|
|
|
|
|
|
|
// Config follow the following priority check order:
|
|
|
|
// 1. Enviroment variables
|
|
|
|
// 2. package.json
|
|
|
|
// 3. config/config.json
|
|
|
|
// 4. config/config.default.json
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Load enviroment variables as first priority
|
|
|
|
nconf.env({
|
|
|
|
separator: '__',
|
|
|
|
whitelist: [
|
|
|
|
'DATABASE_URL',
|
|
|
|
'NODE_ENV',
|
|
|
|
'server__port',
|
|
|
|
'server__host',
|
|
|
|
'knex__connection__host',
|
|
|
|
'knex__connection__user',
|
|
|
|
'knex__connection__database',
|
|
|
|
'knex__connection__password',
|
2019-09-14 19:03:38 +00:00
|
|
|
'knex__connectionslave__host',
|
|
|
|
'knex__connectionslave__user',
|
|
|
|
'knex__connectionslave__database',
|
|
|
|
'knex__connectionslave__password',
|
|
|
|
'upload__baseurl',
|
|
|
|
'upload__port',
|
|
|
|
'upload__host',
|
|
|
|
'upload__name',
|
|
|
|
'upload__secret',
|
2019-02-19 11:34:52 +00:00
|
|
|
'bunyan__name',
|
|
|
|
'frontend__url',
|
|
|
|
'jwt__secret',
|
|
|
|
'sessionsecret',
|
|
|
|
'bcrypt',
|
|
|
|
'name',
|
|
|
|
'NODE_VERSION',
|
|
|
|
],
|
|
|
|
parseValues: true,
|
|
|
|
})
|
|
|
|
|
|
|
|
|
2022-04-05 16:47:24 +00:00
|
|
|
// Load empty overrides that can be overwritten later
|
|
|
|
nconf.overrides({})
|
|
|
|
|
|
|
|
nconf.defaults({
|
|
|
|
"NODE_ENV": "development",
|
|
|
|
"knex": {
|
|
|
|
"client": "pg",
|
|
|
|
"connection": {
|
|
|
|
"host" : "127.0.0.1",
|
|
|
|
"user" : "postgres",
|
|
|
|
"password" : "postgres",
|
|
|
|
"database" : "nfpmoe"
|
|
|
|
},
|
|
|
|
"connectionslave": null,
|
|
|
|
"migrations": {
|
|
|
|
},
|
|
|
|
"acquireConnectionTimeout": 10000
|
|
|
|
},
|
|
|
|
"frontend": {
|
|
|
|
"url": "http://beta01.nfp.moe"
|
|
|
|
},
|
|
|
|
"jwt": {
|
|
|
|
"secret": "this-is-my-secret",
|
|
|
|
"options": {
|
|
|
|
"expiresIn": 604800
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"sessionsecret": "this-is-session-secret-lol",
|
|
|
|
"bcrypt": 5,
|
|
|
|
"fileSize": 524288000,
|
|
|
|
"upload": {
|
|
|
|
"baseurl": "https://cdn.nfp.is",
|
|
|
|
"port": "2111",
|
|
|
|
"host": "storage01.nfp.is",
|
|
|
|
"name": "nfpmoe-dev",
|
|
|
|
"secret": "nfpmoe-dev"
|
|
|
|
}
|
|
|
|
})
|
2019-02-19 11:34:52 +00:00
|
|
|
|
|
|
|
|
|
|
|
export default nconf
|