SIGN IN SIGN UP
Unitech / pm2 UNCLAIMED

Node.js Production Process Manager with a built-in Load Balancer.

43009 0 2 JavaScript
2016-12-04 19:23:18 +01:00
/**
* Copyright 2013-2022 the PM2 project authors. All rights reserved.
2016-12-04 19:23:18 +01:00
* Use of this source code is governed by a license that
* can be found in the LICENSE file.
*/
2016-06-13 01:29:41 +02:00
var debug = require('debug')('pm2:conf');
var p = require('path');
var util = require('util');
var chalk = require('ansis');
2013-05-23 18:47:44 +08:00
2014-11-07 01:43:17 +01:00
/**
2016-06-05 12:39:04 +02:00
* Get PM2 path structure
2014-11-07 01:43:17 +01:00
*/
2016-06-08 19:21:37 +02:00
var path_structure = require('./paths.js')(process.env.OVER_HOME);
2014-10-15 11:22:39 +02:00
/**
* Constants variables used by PM2
*/
var csts = {
2016-06-05 12:39:04 +02:00
PREFIX_MSG : chalk.green('[PM2] '),
PREFIX_MSG_INFO : chalk.cyan('[PM2][INFO] '),
2016-06-05 12:39:04 +02:00
PREFIX_MSG_ERR : chalk.red('[PM2][ERROR] '),
2016-12-04 19:23:18 +01:00
PREFIX_MSG_MOD : chalk.bold.green('[PM2][Module] '),
2016-06-05 12:39:04 +02:00
PREFIX_MSG_MOD_ERR : chalk.red('[PM2][Module][ERROR] '),
PREFIX_MSG_WARNING : chalk.yellow('[PM2][WARN] '),
PREFIX_MSG_SUCCESS : chalk.cyan('[PM2] '),
2019-01-06 17:46:52 +01:00
PM2_IO_MSG : chalk.cyan('[PM2 I/O]'),
PM2_IO_MSG_ERR : chalk.red('[PM2 I/O]'),
2016-06-05 12:39:04 +02:00
TEMPLATE_FOLDER : p.join(__dirname, 'lib/templates'),
APP_CONF_DEFAULT_FILE : 'ecosystem.config.js',
2016-06-05 12:39:04 +02:00
APP_CONF_TPL : 'ecosystem.tpl',
2017-01-29 13:33:26 +01:00
APP_CONF_TPL_SIMPLE : 'ecosystem-simple.tpl',
2016-06-05 12:39:04 +02:00
SAMPLE_CONF_FILE : 'sample-conf.js',
LOGROTATE_SCRIPT : 'logrotate.d/pm2',
DOCKERFILE_NODEJS : 'Dockerfiles/Dockerfile-nodejs.tpl',
DOCKERFILE_JAVA : 'Dockerfiles/Dockerfile-java.tpl',
DOCKERFILE_RUBY : 'Dockerfiles/Dockerfile-ruby.tpl',
2016-06-05 12:39:04 +02:00
SUCCESS_EXIT : 0,
ERROR_EXIT : 1,
CODE_UNCAUGHTEXCEPTION : 1,
2016-06-05 12:39:04 +02:00
2024-11-12 13:54:46 +00:00
IS_BUN : typeof Bun !== 'undefined',
IS_WINDOWS : (process.platform === 'win32' || process.platform === 'win64' || /^(msys|cygwin)$/.test(process.env.OSTYPE)),
2016-06-05 12:39:04 +02:00
ONLINE_STATUS : 'online',
STOPPED_STATUS : 'stopped',
STOPPING_STATUS : 'stopping',
WAITING_RESTART : 'waiting restart',
2016-06-05 12:39:04 +02:00
LAUNCHING_STATUS : 'launching',
ERRORED_STATUS : 'errored',
ONE_LAUNCH_STATUS : 'one-launch-status',
CLUSTER_MODE_ID : 'cluster_mode',
FORK_MODE_ID : 'fork_mode',
ENABLE_GIT_PARSING : false,
LOW_MEMORY_ENVIRONMENT : process.env.PM2_OPTIMIZE_MEMORY || false,
2019-04-19 11:44:48 +02:00
MACHINE_NAME : process.env.INSTANCE_NAME || process.env.MACHINE_NAME || process.env.PM2_MACHINE_NAME,
SECRET_KEY : process.env.KEYMETRICS_SECRET || process.env.PM2_SECRET_KEY || process.env.SECRET_KEY,
PUBLIC_KEY : process.env.KEYMETRICS_PUBLIC || process.env.PM2_PUBLIC_KEY || process.env.PUBLIC_KEY,
2019-04-19 11:44:48 +02:00
KEYMETRICS_ROOT_URL : process.env.KEYMETRICS_NODE || process.env.PM2_APM_ADDRESS || process.env.ROOT_URL || process.env.INFO_NODE || 'root.keymetrics.io',
2018-07-13 18:41:18 +02:00
PM2_BANNER : '../lib/motd',
PM2_UPDATE : '../lib/API/pm2-plus/pres/motd.update',
2016-06-05 12:39:04 +02:00
DEFAULT_MODULE_JSON : 'package.json',
MODULE_BASEFOLDER: 'module',
MODULE_CONF_PREFIX: 'module-db-v2',
MODULE_CONF_PREFIX_TAR: 'tar-modules',
EXP_BACKOFF_RESET_TIMER : parseInt(process.env.EXP_BACKOFF_RESET_TIMER) || 30000,
2016-06-05 12:39:04 +02:00
REMOTE_PORT_TCP : isNaN(parseInt(process.env.KEYMETRICS_PUSH_PORT)) ? 80 : parseInt(process.env.KEYMETRICS_PUSH_PORT),
REMOTE_PORT : 41624,
REMOTE_HOST : 's1.keymetrics.io',
SEND_INTERVAL : 1000,
2017-06-27 23:53:52 +02:00
RELOAD_LOCK_TIMEOUT : parseInt(process.env.PM2_RELOAD_LOCK_TIMEOUT) || 30000,
2016-06-05 12:39:04 +02:00
GRACEFUL_TIMEOUT : parseInt(process.env.PM2_GRACEFUL_TIMEOUT) || 8000,
GRACEFUL_LISTEN_TIMEOUT : parseInt(process.env.PM2_GRACEFUL_LISTEN_TIMEOUT) || 3000,
LOGS_BUFFER_SIZE : 8,
CONTEXT_ON_ERROR : 2,
AGGREGATION_DURATION : process.env.PM2_DEBUG || process.env.NODE_ENV === 'local_test' || process.env.NODE_ENV === 'development' ? 3000 : 5 * 60000,
TRACE_FLUSH_INTERVAL : process.env.PM2_DEBUG || process.env.NODE_ENV === 'local_test' ? 1000 : 60000,
2016-06-05 12:39:04 +02:00
2016-06-13 01:29:41 +02:00
// Concurrent actions when doing start/restart/reload
2017-04-27 00:42:05 +02:00
CONCURRENT_ACTIONS : (function() {
2018-05-17 23:34:48 +02:00
var concurrent_actions = parseInt(process.env.PM2_CONCURRENT_ACTIONS) || 2;
2016-06-20 23:35:55 +02:00
debug('Using %d parallelism (CONCURRENT_ACTIONS)', concurrent_actions);
return concurrent_actions;
2017-04-27 00:42:05 +02:00
})(),
2016-06-05 12:39:04 +02:00
DEBUG : process.env.PM2_DEBUG || false,
WEB_IPADDR : process.env.PM2_API_IPADDR || '0.0.0.0',
WEB_PORT : parseInt(process.env.PM2_API_PORT) || 9615,
WEB_STRIP_ENV_VARS : process.env.PM2_WEB_STRIP_ENV_VARS || false,
2016-06-05 12:39:04 +02:00
MODIFY_REQUIRE : process.env.PM2_MODIFY_REQUIRE || false,
WORKER_INTERVAL : process.env.PM2_WORKER_INTERVAL || 30000,
KILL_TIMEOUT : process.env.PM2_KILL_TIMEOUT || 1600,
KILL_SIGNAL : process.env.PM2_KILL_SIGNAL || 'SIGINT',
KILL_USE_MESSAGE : process.env.PM2_KILL_USE_MESSAGE || false,
PM2_PROGRAMMATIC : typeof(process.env.pm_id) !== 'undefined' || process.env.PM2_PROGRAMMATIC,
PM2_LOG_DATE_FORMAT : process.env.PM2_LOG_DATE_FORMAT !== undefined ? process.env.PM2_LOG_DATE_FORMAT : 'YYYY-MM-DDTHH:mm:ss'
2014-10-15 11:22:39 +02:00
2016-06-05 12:39:04 +02:00
};
2014-10-15 11:22:39 +02:00
module.exports = Object.assign(csts, path_structure);