overleaf/services/project-history/config/settings.defaults.cjs
David b59326e96f Merge pull request #16873 from overleaf/dp-mongo-command-monitoring
Use mongo command monitoring to add timing metrics

GitOrigin-RevId: e7e5dd5cca1ba3802c02198ccf81058d4da3f1e7
2024-02-23 09:02:55 +00:00

105 lines
2.8 KiB
JavaScript

module.exports = {
mongo: {
url:
process.env.MONGO_CONNECTION_STRING ||
`mongodb://${process.env.MONGO_HOST || 'localhost'}/sharelatex`,
options: {
monitorCommands: true,
},
},
internal: {
history: {
port: 3054,
host: process.env.LISTEN_ADDRESS || 'localhost',
},
},
apis: {
documentupdater: {
url: `http://${process.env.DOCUPDATER_HOST || 'localhost'}:3003`,
},
docstore: {
url: `http://${process.env.DOCSTORE_HOST || 'localhost'}:3016`,
},
filestore: {
url: `http://${process.env.FILESTORE_HOST || 'localhost'}:3009`,
},
history_v1: {
requestTimeout: parseInt(process.env.V1_REQUEST_TIMEOUT || '300000', 10),
},
web: {
url: `http://${
process.env.WEB_API_HOST || process.env.WEB_HOST || 'localhost'
}:${process.env.WEB_PORT || 3000}`,
user: process.env.WEB_API_USER || 'overleaf',
pass: process.env.WEB_API_PASSWORD || 'password',
historyIdCacheSize: parseInt(
process.env.HISTORY_ID_CACHE_SIZE || '10000',
10
),
},
},
redis: {
lock: {
host: process.env.REDIS_HOST || 'localhost',
password: process.env.REDIS_PASSWORD,
port: process.env.REDIS_PORT || 6379,
key_schema: {
projectHistoryLock({ project_id: projectId }) {
return `ProjectHistoryLock:{${projectId}}`
},
},
},
project_history: {
host:
process.env.HISTORY_REDIS_HOST || process.env.REDIS_HOST || 'localhost',
port: process.env.HISTORY_REDIS_PORT || process.env.REDIS_PORT || 6379,
password:
process.env.HISTORY_REDIS_PASSWORD || process.env.REDIS_PASSWORD,
key_schema: {
projectHistoryOps({ project_id: projectId }) {
return `ProjectHistory:Ops:{${projectId}}`
},
projectHistoryFirstOpTimestamp({ project_id: projectId }) {
return `ProjectHistory:FirstOpTimestamp:{${projectId}}`
},
projectHistoryCachedHistoryId({ project_id: projectId }) {
return `ProjectHistory:CachedHistoryId:{${projectId}}`
},
},
},
},
history: {
healthCheck: {
project_id: process.env.HEALTH_CHECK_PROJECT_ID || '',
},
},
overleaf: {
history: {
host:
process.env.V1_HISTORY_FULL_HOST ||
`http://${
process.env.V1_HISTORY_HOST ||
process.env.HISTORY_V1_HOST ||
'localhost'
}:3100/api`,
user: process.env.V1_HISTORY_USER || 'staging',
pass: process.env.V1_HISTORY_PASSWORD || 'password',
sync: {
retries_max: 30,
interval: 2,
},
},
},
path: {
uploadFolder: process.env.UPLOAD_FOLDER || '/tmp/',
},
sentry: {
dsn: process.env.SENTRY_DSN,
},
maxFileSizeInBytes: 100 * 1024 * 1024, // 100 megabytes
}