send/server/config.js

61 lines
1.1 KiB
JavaScript

const convict = require('convict');
const conf = convict({
s3_bucket: {
format: String,
default: '',
env: 'S3_BUCKET'
},
redis_host: {
format: String,
default: 'localhost',
env: 'REDIS_HOST'
},
listen_port: {
format: 'port',
default: 1443,
arg: 'port',
env: 'PORT'
},
analytics_id: {
format: String,
default: '',
env: 'GOOGLE_ANALYTICS_ID'
},
sentry_id: {
format: String,
default: '',
env: 'SENTRY_CLIENT'
},
sentry_dsn: {
format: String,
default: '',
env: 'SENTRY_DSN'
},
env: {
format: ['production', 'development', 'test'],
default: 'development',
env: 'NODE_ENV'
},
max_file_size: {
format: Number,
default: 1024 * 1024 * 1024 * 2,
env: 'MAX_FILE_SIZE'
},
expire_seconds: {
format: Number,
default: 86400,
env: 'EXPIRE_SECONDS'
},
l10n_dev: {
format: Boolean,
default: false,
env: 'L10N_DEV'
}
});
// Perform validation
conf.validate({ allowed: 'strict' });
const props = conf.getProperties();
module.exports = props;