config = {} config.unittest = process.argv.indexOf('--unittest') > -1 config.port = process.env.COCO_PORT or process.env.COCO_NODE_PORT or 3000 config.ssl_port = process.env.COCO_SSL_PORT or process.env.COCO_SSL_NODE_PORT or 3443 config.cloudflare = token: process.env.COCO_CLOUDFLARE_API_KEY or '' config.mongo = port: process.env.COCO_MONGO_PORT or 27017 host: process.env.COCO_MONGO_HOST or 'localhost' db: process.env.COCO_MONGO_DATABASE_NAME or 'coco' mongoose_replica_string: process.env.COCO_MONGO_MONGOOSE_REPLICA_STRING or '' if config.unittest config.port += 1 config.ssl_port += 1 config.mongo.host = 'localhost' else config.mongo.username = process.env.COCO_MONGO_USERNAME or '' config.mongo.password = process.env.COCO_MONGO_PASSWORD or '' config.mail = service: process.env.COCO_MAIL_SERVICE_NAME or 'Zoho' username: process.env.COCO_MAIL_SERVICE_USERNAME or '' password: process.env.COCO_MAIL_SERVICE_PASSWORD or '' mailchimpAPIKey: process.env.COCO_MAILCHIMP_API_KEY or '' mailchimpWebhook: process.env.COCO_MAILCHIMP_WEBHOOK or '/mail/webhook' sendwithusAPIKey: process.env.COCO_SENDWITHUS_API_KEY or '' stackleadAPIKey: process.env.COCO_STACKLEAD_API_KEY or '' cronHandlerPublicIP: process.env.COCO_CRON_PUBLIC_IP or '' cronHandlerPrivateIP: process.env.COCO_CRON_PRIVATE_IP or '' config.queue = accessKeyId: process.env.COCO_AWS_ACCESS_KEY_ID or '' secretAccessKey: process.env.COCO_AWS_SECRET_ACCESS_KEY or '' region: 'us-east-1' simulationQueueName: 'simulationQueue' config.mongoQueue = queueDatabaseName: 'coco_queue' config.salt = process.env.COCO_SALT or 'pepper' config.cookie_secret = process.env.COCO_COOKIE_SECRET or 'chips ahoy' config.isProduction = config.mongo.host isnt 'localhost' if not config.unittest and not config.isProduction # change artificially slow down non-static requests for testing config.slow_down = false module.exports = config