cloud settings
This commit is contained in:
parent
6a37e8d1f0
commit
d2f0d9767b
3 changed files with 44 additions and 14 deletions
|
|
@ -16,7 +16,9 @@ const config = {
|
|||
user: process.env.DB_USER || 'postgres',
|
||||
password: process.env.DB_PASSWORD || 'postgres',
|
||||
database: process.env.DB_NAME || 'ecommerce',
|
||||
port: process.env.DB_PORT || 5432
|
||||
port: process.env.DB_PORT || 5432,
|
||||
readHost: process.env.DB_READ_HOST || process.env.DB_HOST || 'db',
|
||||
maxConnections: parseInt(process.env.DB_MAX_CONNECTIONS || '20'),
|
||||
},
|
||||
|
||||
// Email configuration
|
||||
|
|
@ -72,7 +74,10 @@ const config = {
|
|||
awsRegion: process.env.AWS_REGION || '',
|
||||
awsS3Bucket: process.env.S3_BUCKET || '',
|
||||
cdnDomain: process.env.CDN_DOMAIN || '',
|
||||
awsqueueurl: process.env.SQS_QUEUE_URL || '',
|
||||
awsQueueUrl: process.env.SQS_QUEUE_URL || '',
|
||||
sessionSecret: process.env.SESSION_SECRET || '',
|
||||
redisPort: process.env.REDIS_PORT || '',
|
||||
redisPassword: process.env.REDIS_PASSWORD || ''
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -167,8 +172,12 @@ config.updateFromDatabase = (settings) => {
|
|||
const awsS3Bucket = siteSettings.find(s => s.key === 'site_aws_s3_bucket');
|
||||
const cdnDomain = siteSettings.find(s => s.key === 'site_cdn_domain');
|
||||
const deployment = siteSettings.find(s => s.key === 'site_deployment');
|
||||
const awsqueueurl = siteSettings.find(s => s.key === 'site_aws_queue_url');
|
||||
|
||||
const awsQueueUrl = siteSettings.find(s => s.key === 'site_aws_queue_url');
|
||||
const readHost = siteSettings.find(s => s.key === 'site_read_host');
|
||||
const maxConnections = siteSettings.find(s => s.key === 'site_db_max_connections');
|
||||
const sessionSecret = siteSettings.find(s => s.key === 'site_session_secret');
|
||||
const redisPort = siteSettings.find(s => s.key === 'site_redis_port');
|
||||
const redisPassword = siteSettings.find(s => s.key === 'site_redis_password');
|
||||
|
||||
if (redisHost && redisHost.value) config.site.redisHost = redisHost.value;
|
||||
if (redisTLS && redisTLS.value) config.site.redisTLS = redisHost.value;
|
||||
|
|
@ -176,7 +185,12 @@ config.updateFromDatabase = (settings) => {
|
|||
if (awsS3Bucket && awsS3Bucket.value) config.site.awsS3Bucket = awsS3Bucket.value;
|
||||
if (cdnDomain && cdnDomain.value) config.site.cdnDomain = cdnDomain.value;
|
||||
if (deployment && deployment.value) config.site.deployment = deployment.value;
|
||||
if (awsqueueurl && awsqueueurl.value) config.site.awsqueueurl = awsqueueurl.value;
|
||||
if (awsQueueUrl && awsQueueUrl.value) config.site.awsQueueUrl = awsQueueUrl.value;
|
||||
if (readHost && readHost.value) config.db.readHost = readHost.value;
|
||||
if (maxConnections && maxConnections.value) config.db.maxConnections = maxConnections.value;
|
||||
if (sessionSecret && sessionSecret.value) config.site.sessionSecret = sessionSecret.value;
|
||||
if (redisPort && redisPort.value) config.site.redisPort = redisPort.value;
|
||||
if (redisPassword && redisPassword.value) config.site.redisPassword = redisPassword.value;
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -224,9 +224,11 @@ module.exports = (pool, query, authMiddleware) => {
|
|||
} else if (category === 'database') {
|
||||
if (key === 'db_host') config.db.host = value;
|
||||
if (key === 'db_user') config.db.user = value;
|
||||
if (key === 'site_read_host') config.db.readHost = value;
|
||||
if (key === 'db_password') config.db.password = value;
|
||||
if (key === 'db_name') config.db.database = value;
|
||||
if (key === 'db_port') config.db.port = parseInt(value, 10);
|
||||
if (key === 'site_db_max_connections') config.db.maxConnections = parseInt(value, 10);
|
||||
} else if (category === 'email') {
|
||||
if (key === 'smtp_host') config.email.host = value;
|
||||
if (key === 'smtp_port') config.email.port = parseInt(value, 10);
|
||||
|
|
@ -266,7 +268,11 @@ module.exports = (pool, query, authMiddleware) => {
|
|||
if (key === 'site_aws_region') config.site.awsRegion = value;
|
||||
if (key === 'site_aws_s3_bucket') config.site.awsS3Bucket = value;
|
||||
if (key === 'site_cdn_domain') config.site.cdnDomain = value;
|
||||
if (key === 'site_aws_queue_url') config.site.awsqueueurl = value;
|
||||
if (key === 'site_aws_queue_url') config.site.awsQueueUrl = value;
|
||||
if (key === 'site_session_secret') config.site.sessionSecret = value;
|
||||
if (key === 'site_redis_port') config.site.redisPort = value;
|
||||
if (key === 'site_redis_password') config.site.redisPassword = value;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -288,15 +294,27 @@ module.exports = (pool, query, authMiddleware) => {
|
|||
envContent += '# Server configuration\n';
|
||||
envContent += `PORT=${config.port}\n`;
|
||||
envContent += `NODE_ENV=${config.nodeEnv}\n`;
|
||||
envContent += `ENVIRONMENT=${config.environment}\n\n`;
|
||||
envContent += `ENVIRONMENT=${config.environment}\n`;
|
||||
envContent += `DEPLOYMENT_MODE=${config.site.deployment}\n`;
|
||||
envContent += `REDIS_HOST=${config.site.redisHost}\n`;
|
||||
envContent += `REDIS_TLS=${config.site.redisTLS}\n`;
|
||||
envContent += `REDIS_PORT=${config.site.redisPort}\n`;
|
||||
envContent += `REDIS_PASSWORD=${config.site.redisPassword}\n`;
|
||||
envContent += `AWS_REGION=${config.site.awsRegion}\n`;
|
||||
envContent += `S3_BUCKET=${config.site.awsS3Bucket}\n`;
|
||||
envContent += `CDN_DOMAIN=${config.site.cdnDomain}\n`;
|
||||
envContent += `SQS_QUEUE_URL=${config.site.awsQueueUrl}\n`;
|
||||
envContent += `SESSION_SECRET=${config.site.sessionSecret}\n\n`;
|
||||
|
||||
// Database configuration
|
||||
envContent += '# Database configuration\n';
|
||||
envContent += `DB_HOST=${config.db.host}\n`;
|
||||
envContent += `DB_READ_HOST=${config.db.readHost}\n`;
|
||||
envContent += `DB_USER=${config.db.user}\n`;
|
||||
envContent += `DB_PASSWORD=${config.db.password}\n`;
|
||||
envContent += `DB_NAME=${config.db.database}\n`;
|
||||
envContent += `DB_PORT=${config.db.port}\n`;
|
||||
envContent += `DB_MAX_CONNECTIONS=${config.db.maxConnections}\n`;
|
||||
envContent += `POSTGRES_USER=${config.db.user}\n`;
|
||||
envContent += `POSTGRES_PASSWORD=${config.db.password}\n`;
|
||||
envContent += `POSTGRES_DB=${config.db.database}\n\n`;
|
||||
|
|
@ -347,13 +365,6 @@ module.exports = (pool, query, authMiddleware) => {
|
|||
envContent += `API_PROD_URL=${config.site.apiDomain === 'localhost:4000' ? '' : config.site.apiDomain}\n`;
|
||||
}
|
||||
envContent += `SITE_ANALYTIC_API=${config.site.analyticApiKey}\n`;
|
||||
envContent += `DEPLOYMENT_MODE=${config.site.deployment}\n`;
|
||||
envContent += `REDIS_HOST=${config.site.redisHost}\n`;
|
||||
envContent += `REDIS_TLS=${config.site.redisTLS}\n`;
|
||||
envContent += `AWS_REGION=${config.site.awsRegion}\n`;
|
||||
envContent += `S3_BUCKET=${config.site.awsS3Bucket}\n`;
|
||||
envContent += `CDN_DOMAIN=${config.site.cdnDomain}\n`;
|
||||
envContent += `SQS_QUEUE_URL=${config.site.awsqueueurl}\n`;
|
||||
|
||||
// Write to .env file
|
||||
const envPath = path.join(__dirname, '../../.env');
|
||||
|
|
|
|||
|
|
@ -39,6 +39,11 @@ VALUES
|
|||
('site_aws_s3_bucket', NULL, 'site'),
|
||||
('site_cdn_domain', NULL, 'site'),
|
||||
('site_aws_queue_url', NULL, 'site'),
|
||||
('site_read_host', NULL, 'site'),
|
||||
('site_db_max_connections', NULL, 'site'),
|
||||
('site_session_secret', NULL, 'site'),
|
||||
('site_redis_port', NULL, 'site'),
|
||||
('site_redis_password', NULL, 'site'),
|
||||
|
||||
-- Payment Settings
|
||||
('currency', 'CAD', 'payment'),
|
||||
|
|
|
|||
Loading…
Reference in a new issue