Files
shields/server.js
Paul Melnikow c683baa4fb Disable more default Sentry integrations (#3770)
This one is spewing a bunch of recent http calls into each error log.

I get he benefit of these plugins though I'm curious what resources they might be using. And in this case, don't want the requests to end up e.g. in a GitHub issue.
2019-07-24 20:39:07 -05:00

59 lines
1.6 KiB
JavaScript

'use strict'
/* eslint-disable import/order */
const fs = require('fs')
const path = require('path')
require('dotenv').config()
// Set up Sentry reporting as early in the process as possible.
const config = require('config').util.toObject()
const Sentry = require('@sentry/node')
const disabledIntegrations = ['Console', 'Http']
Sentry.init({
dsn: process.env.SENTRY_DSN || config.private.sentry_dsn,
integrations: integrations => {
const filtered = integrations.filter(
integration => !disabledIntegrations.includes(integration.name)
)
if (filtered.length != integrations.length - disabledIntegrations.length) {
throw Error(
`An error occurred while filtering integrations. The following inetgrations were found: ${integrations.map(
({ name }) => name
)}`
)
}
return filtered
},
})
if (+process.argv[2]) {
config.public.bind.port = +process.argv[2]
}
if (process.argv[3]) {
config.public.bind.address = process.argv[3]
}
console.log('Configuration:')
console.dir(config.public, { depth: null })
const legacySecretsPath = path.join(__dirname, 'private', 'secret.json')
if (fs.existsSync(legacySecretsPath)) {
console.error(
`Legacy secrets file found at ${legacySecretsPath}. It should be deleted and secrets replaced with environment variables or config/local.yml`
)
process.exit(1)
}
const Server = require('./core/server/server')
const server = (module.exports = new Server(config))
;(async () => {
try {
await server.start()
} catch (e) {
console.error(e)
process.exit(1)
}
})()