-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathsettings.js
43 lines (40 loc) · 1.43 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
/* eslint-disable no-console */
const yamlJs = require('yamljs');
const { merge } = require('lodash');
const constants = require('../constants');
const {
env, envArray, envBool, envInt,
} = require('./utils');
let settings = {
path: env('METRICS_PATH', '/metrics'),
metricName: env('METRIC_NAME', 'puppeteer_assets'),
enableOnDemandQuery: envBool('METRICS_ON_DEMAND_QUERY', false),
onDemandQueryCacheTTL: envInt('METRICS_ON_DEMAND_QUERY_CACHE_TTL', 300),
labels: envArray('METRICS_LABELS', []),
interval: envInt('METRICS_INTERVAL', 60 * 60 * 1000),
defaults: {
metrics: {
file: envBool('METRICS_FILE_ENABLED', true),
count: envBool('METRICS_COUNT_ENABLED', true),
size: envBool('METRICS_SIZE_ENABLED', true),
gzip: envBool('METRICS_GZIP_ENABLED', true),
countByMimeType: envBool('METRICS_COUNT_BY_MIMETYPE_ENABLED', true),
sizeByMimeType: envBool('METRICS_SIZE_BY_MIMETYPE_ENABLED', true),
gzipByMimeType: envBool('METRICS_GZIP_BY_MIMETYPE_ENABLED', true),
},
mimeTypes: envArray('METRICS_MIMETYPES', constants.defaultMimeTypes),
},
configurations: [],
};
try {
settings = merge(
{},
settings,
yamlJs.load(env('CONFIG_PATH') || `${__dirname}/../config.yml`) || {},
);
console.info('> Using configuration file...');
} catch (e) {
settings.enableOnDemandQuery = true;
console.info('> No configuration file. On demand query enabled.');
}
module.exports = settings;