From 8c38116bde8b0fd2312d56e9eead46796e1185e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Fri, 16 Sep 2022 16:52:19 +0200 Subject: [PATCH 01/15] add TEST_MODUS-switch and EMAIL_TEST_RECEIVER --- backend/src/config/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index 6a2ebba87..fd3dd1f8e 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -15,6 +15,7 @@ const constants = { LOG4JS_CONFIG: 'log4js-config.json', // default log level on production should be info LOG_LEVEL: process.env.LOG_LEVEL || 'info', + TEST_MODUS: process.env.TEST_MODUS === 'true' || 'false', CONFIG_VERSION: { DEFAULT: 'DEFAULT', EXPECTED: 'v9.2022-07-07', @@ -67,6 +68,7 @@ const loginServer = { const email = { EMAIL: process.env.EMAIL === 'true' || false, + EMAIL_TEST_RECEIVER: process.env.EMAIL_TEST_RECEIVER || 'test_team@gradido.net', EMAIL_USERNAME: process.env.EMAIL_USERNAME || 'gradido_email', EMAIL_SENDER: process.env.EMAIL_SENDER || 'info@gradido.net', EMAIL_PASSWORD: process.env.EMAIL_PASSWORD || 'xxx', From 4f979991955331d12b18512a71f6cff1760315c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Fri, 16 Sep 2022 16:52:54 +0200 Subject: [PATCH 02/15] add prevention to run production in test-mode --- backend/src/server/createServer.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/backend/src/server/createServer.ts b/backend/src/server/createServer.ts index a0b294281..7652729e9 100644 --- a/backend/src/server/createServer.ts +++ b/backend/src/server/createServer.ts @@ -75,6 +75,13 @@ const createServer = async ( logger, }) apollo.applyMiddleware({ app, path: '/' }) + logger.info( + `running in environment PRODUCTION = ${CONFIG.PRODUCTION} with TEST_MODUS = ${CONFIG.TEST_MODUS} ...`, + ) + if (CONFIG.PRODUCTION && CONFIG.TEST_MODUS === 'true') { + logger.error(`### RUNNING ENVIRONMENT Production IN TEST_MODE IS NOT ALLOWED ###`) + throw new Error(`### RUNNING ENVIRONMENT Production IN TEST_MODE IS NOT ALLOWED ###`) + } logger.debug('createServer...successful') return { apollo, app, con } } From f9194beca34c1678b70209e09624ecd324e6fb8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Fri, 16 Sep 2022 16:53:35 +0200 Subject: [PATCH 03/15] change with test-mode = on the email-receiver to EMAIL_TEST_RECEIVER --- backend/src/mailer/sendEMail.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/backend/src/mailer/sendEMail.ts b/backend/src/mailer/sendEMail.ts index 746daa810..02d9a01c1 100644 --- a/backend/src/mailer/sendEMail.ts +++ b/backend/src/mailer/sendEMail.ts @@ -19,6 +19,12 @@ export const sendEMail = async (emailDef: { logger.info(`Emails are disabled via config...`) return false } + if (CONFIG.TEST_MODUS) { + logger.info( + `Testmodus=ON: change receiver from ${emailDef.to} to ${CONFIG.EMAIL_TEST_RECEIVER}`, + ) + emailDef.to = CONFIG.EMAIL_TEST_RECEIVER + } const transporter = createTransport({ host: CONFIG.EMAIL_SMTP_URL, port: Number(CONFIG.EMAIL_SMTP_PORT), From 3afc8c65c36419994eb8cdecc717fddfd15dc3e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Mon, 19 Sep 2022 17:47:46 +0200 Subject: [PATCH 04/15] change in one testcase mail.to to CONFIG.EMAIL_TEST_RECEIVER --- backend/src/mailer/sendEMail.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/mailer/sendEMail.test.ts b/backend/src/mailer/sendEMail.test.ts index 5746f1ead..a6f4bb62a 100644 --- a/backend/src/mailer/sendEMail.test.ts +++ b/backend/src/mailer/sendEMail.test.ts @@ -73,7 +73,7 @@ describe('sendEMail', () => { it('calls sendMail of transporter', () => { expect((createTransport as jest.Mock).mock.results[0].value.sendMail).toBeCalledWith({ from: `Gradido (nicht antworten) <${CONFIG.EMAIL_SENDER}>`, - to: 'receiver@mail.org', + to: `${CONFIG.EMAIL_TEST_RECEIVER}`, cc: 'support@gradido.net', subject: 'Subject', text: 'Text text text', From efb6ad70f65b6b5e00f83d925c6fc18ef86199c5 Mon Sep 17 00:00:00 2001 From: clauspeterhuebner <86960882+clauspeterhuebner@users.noreply.github.com> Date: Tue, 20 Sep 2022 16:08:05 +0200 Subject: [PATCH 05/15] Update backend/src/config/index.ts Co-authored-by: Moriz Wahl --- backend/src/config/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index fd3dd1f8e..c4b5d5d69 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -15,7 +15,7 @@ const constants = { LOG4JS_CONFIG: 'log4js-config.json', // default log level on production should be info LOG_LEVEL: process.env.LOG_LEVEL || 'info', - TEST_MODUS: process.env.TEST_MODUS === 'true' || 'false', + EMAIL_TEST_MODUS: process.env.EMAIL_TEST_MODUS === 'true' || 'false', CONFIG_VERSION: { DEFAULT: 'DEFAULT', EXPECTED: 'v9.2022-07-07', From ae3ef7edda2c811e9d27aea9f6a36abe18e919ed Mon Sep 17 00:00:00 2001 From: clauspeterhuebner <86960882+clauspeterhuebner@users.noreply.github.com> Date: Tue, 20 Sep 2022 16:08:28 +0200 Subject: [PATCH 06/15] Update backend/src/mailer/sendEMail.ts Co-authored-by: Moriz Wahl --- backend/src/mailer/sendEMail.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/mailer/sendEMail.ts b/backend/src/mailer/sendEMail.ts index 02d9a01c1..00282f232 100644 --- a/backend/src/mailer/sendEMail.ts +++ b/backend/src/mailer/sendEMail.ts @@ -19,7 +19,7 @@ export const sendEMail = async (emailDef: { logger.info(`Emails are disabled via config...`) return false } - if (CONFIG.TEST_MODUS) { + if (CONFIG.EMAIL_TEST_MODUS) { logger.info( `Testmodus=ON: change receiver from ${emailDef.to} to ${CONFIG.EMAIL_TEST_RECEIVER}`, ) From 49e0606d169b9657ac767b1b65a47aa3fcf99886 Mon Sep 17 00:00:00 2001 From: clauspeterhuebner <86960882+clauspeterhuebner@users.noreply.github.com> Date: Tue, 20 Sep 2022 16:08:44 +0200 Subject: [PATCH 07/15] Update backend/src/server/createServer.ts Co-authored-by: Moriz Wahl --- backend/src/server/createServer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/server/createServer.ts b/backend/src/server/createServer.ts index 7652729e9..97a8379bf 100644 --- a/backend/src/server/createServer.ts +++ b/backend/src/server/createServer.ts @@ -76,7 +76,7 @@ const createServer = async ( }) apollo.applyMiddleware({ app, path: '/' }) logger.info( - `running in environment PRODUCTION = ${CONFIG.PRODUCTION} with TEST_MODUS = ${CONFIG.TEST_MODUS} ...`, + `running in environment PRODUCTION = ${CONFIG.PRODUCTION} with EMAIL_TEST_MODUS = ${CONFIG.EMAIL_TEST_MODUS} ...`, ) if (CONFIG.PRODUCTION && CONFIG.TEST_MODUS === 'true') { logger.error(`### RUNNING ENVIRONMENT Production IN TEST_MODE IS NOT ALLOWED ###`) From fc706bc030256d09665a9a7184167603981ffa02 Mon Sep 17 00:00:00 2001 From: clauspeterhuebner <86960882+clauspeterhuebner@users.noreply.github.com> Date: Tue, 20 Sep 2022 16:08:56 +0200 Subject: [PATCH 08/15] Update backend/src/server/createServer.ts Co-authored-by: Moriz Wahl --- backend/src/server/createServer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/server/createServer.ts b/backend/src/server/createServer.ts index 97a8379bf..7479595bc 100644 --- a/backend/src/server/createServer.ts +++ b/backend/src/server/createServer.ts @@ -78,7 +78,7 @@ const createServer = async ( logger.info( `running in environment PRODUCTION = ${CONFIG.PRODUCTION} with EMAIL_TEST_MODUS = ${CONFIG.EMAIL_TEST_MODUS} ...`, ) - if (CONFIG.PRODUCTION && CONFIG.TEST_MODUS === 'true') { + if (CONFIG.PRODUCTION && CONFIG.EMAIL_TEST_MODUS === 'true') { logger.error(`### RUNNING ENVIRONMENT Production IN TEST_MODE IS NOT ALLOWED ###`) throw new Error(`### RUNNING ENVIRONMENT Production IN TEST_MODE IS NOT ALLOWED ###`) } From ae01f99c36edb310fb7639a0c53aed053741f830 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Tue, 20 Sep 2022 18:20:42 +0200 Subject: [PATCH 09/15] describe the manual setting of new env variable GRADIDO_ENV_NAME --- deployment/bare_metal/setup.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/deployment/bare_metal/setup.md b/deployment/bare_metal/setup.md index f43a3d655..a88150f95 100644 --- a/deployment/bare_metal/setup.md +++ b/deployment/bare_metal/setup.md @@ -95,5 +95,8 @@ > cp .env.dist .env > nano .env >> Adjust values accordingly +# Define name of gradido environment +> the env variable GRADIDO_ENV_NAME have to be set during system installation manually to "development, stage1, stage2, stage3, production" +> export GRADIDO_ENV_NAME=development # TODO the install.sh is not yet ready to run directly - consider to use it as pattern to do it manually > ./install.sh From 34071fd9b41e206e784b71b0e7799784209fc327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Tue, 20 Sep 2022 18:21:24 +0200 Subject: [PATCH 10/15] use the new env variable GRADIDO_ENV_NAME to init NODE_ENV --- deployment/bare_metal/start.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index 95b89241f..8b0277fa7 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -120,8 +120,8 @@ yarn build if [ "$DEPLOY_SEED_DATA" = "true" ]; then yarn seed fi -# TODO maybe handle this differently? -export NODE_ENV=production +# the env variable GRADIDO_ENV_NAME have to be set during system installation manually (development, stage1, stage2, stage3) if it should differ from production +export NODE_ENV="${GRADIDO_ENV_NAME:=production}" pm2 delete gradido-backend pm2 start --name gradido-backend "yarn --cwd $PROJECT_ROOT/backend start" -l $GRADIDO_LOG_PATH/pm2.backend.$TODAY.log --log-date-format 'YYYY-MM-DD HH:mm:ss.SSS' pm2 save @@ -133,8 +133,8 @@ cd $PROJECT_ROOT/frontend unset NODE_ENV yarn install yarn build -# TODO maybe handle this differently? -export NODE_ENV=production +# the env variable GRADIDO_ENV_NAME have to be set during system installation manually (development, stage1, stage2, stage3) if it should differ from production +export NODE_ENV="${GRADIDO_ENV_NAME:=production}" pm2 delete gradido-frontend pm2 start --name gradido-frontend "yarn --cwd $PROJECT_ROOT/frontend start" -l $GRADIDO_LOG_PATH/pm2.frontend.$TODAY.log --log-date-format 'YYYY-MM-DD HH:mm:ss.SSS' pm2 save @@ -146,8 +146,8 @@ cd $PROJECT_ROOT/admin unset NODE_ENV yarn install yarn build -# TODO maybe handle this differently? -export NODE_ENV=production +# the env variable GRADIDO_ENV_NAME have to be set during system installation manually (development, stage1, stage2, stage3) if it should differ from production +export NODE_ENV="${GRADIDO_ENV_NAME:=production}" pm2 delete gradido-admin pm2 start --name gradido-admin "yarn --cwd $PROJECT_ROOT/admin start" -l $GRADIDO_LOG_PATH/pm2.admin.$TODAY.log --log-date-format 'YYYY-MM-DD HH:mm:ss.SSS' pm2 save From 7f818fa77ea57ae426ae059a209e8289fbc25473 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Tue, 20 Sep 2022 18:26:02 +0200 Subject: [PATCH 11/15] add new const server.ENV_NAME, which will be init by GRADIDO_ENV_NAME in start.sh or by NODE_ENV in .env --- backend/src/config/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index c4b5d5d69..50d68d726 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -29,6 +29,7 @@ const server = { JWT_EXPIRES_IN: process.env.JWT_EXPIRES_IN || '10m', GRAPHIQL: process.env.GRAPHIQL === 'true' || false, GDT_API_URL: process.env.GDT_API_URL || 'https://gdt.gradido.net', + ENV_NAME: process.env.NODE_ENV || 'production', PRODUCTION: process.env.NODE_ENV === 'production' || false, } From 95b4052ed5bc7c7641acf08ba5c4160925ab8ba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Tue, 20 Sep 2022 18:26:56 +0200 Subject: [PATCH 12/15] correct and more detailed logoutput --- backend/src/server/createServer.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/src/server/createServer.ts b/backend/src/server/createServer.ts index 7479595bc..3d89f7737 100644 --- a/backend/src/server/createServer.ts +++ b/backend/src/server/createServer.ts @@ -76,11 +76,11 @@ const createServer = async ( }) apollo.applyMiddleware({ app, path: '/' }) logger.info( - `running in environment PRODUCTION = ${CONFIG.PRODUCTION} with EMAIL_TEST_MODUS = ${CONFIG.EMAIL_TEST_MODUS} ...`, + `running in GRADIDO_ENV_NAME=${CONFIG.ENV_NAME} as PRODUCTION=${CONFIG.PRODUCTION} and EMAIL_TEST_MODUS=${CONFIG.EMAIL_TEST_MODUS} ...`, ) if (CONFIG.PRODUCTION && CONFIG.EMAIL_TEST_MODUS === 'true') { - logger.error(`### RUNNING ENVIRONMENT Production IN TEST_MODE IS NOT ALLOWED ###`) - throw new Error(`### RUNNING ENVIRONMENT Production IN TEST_MODE IS NOT ALLOWED ###`) + logger.error(`### RUNNING ENVIRONMENT Production IN EMAIL_TEST_MODE IS NOT ALLOWED ###`) + throw new Error(`### RUNNING ENVIRONMENT Production IN EMAIL_TEST_MODE IS NOT ALLOWED ###`) } logger.debug('createServer...successful') return { apollo, app, con } From 736d8023bbd57813f5df2b1f15c4b9347a1a8d88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Tue, 20 Sep 2022 19:10:54 +0200 Subject: [PATCH 13/15] add description to create cronjobs for deleting yarn /tmp output --- deployment/bare_metal/install.sh | 4 ++++ deployment/bare_metal/setup.md | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/deployment/bare_metal/install.sh b/deployment/bare_metal/install.sh index 9366cbc75..ddb2706eb 100755 --- a/deployment/bare_metal/install.sh +++ b/deployment/bare_metal/install.sh @@ -131,6 +131,10 @@ envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $PROJECT_ROOT/frontend/.env # Configure admin envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $PROJECT_ROOT/admin/.env.template > $PROJECT_ROOT/admin/.env +# create cronjob to delete yarn output in /tmp +# crontab -e +# hourly job: 0 * * * * find /tmp -name "yarn--*" -cmin +60 -exec rm -r {} \; > /dev/null +# daily job: 0 4 * * * find /tmp -name "yarn--*" -ctime +1 -exec rm -r {} \; > /dev/null # Start gradido # Note: on first startup some errors will occur - nothing serious ./start.sh \ No newline at end of file diff --git a/deployment/bare_metal/setup.md b/deployment/bare_metal/setup.md index a88150f95..2f9a702e3 100644 --- a/deployment/bare_metal/setup.md +++ b/deployment/bare_metal/setup.md @@ -97,6 +97,14 @@ >> Adjust values accordingly # Define name of gradido environment > the env variable GRADIDO_ENV_NAME have to be set during system installation manually to "development, stage1, stage2, stage3, production" -> export GRADIDO_ENV_NAME=development +> export GRADIDO_ENV_NAME=development +# Define cronjob to compensate yarn output in /tmp +> yarn creates output in /tmp directory, which must be deleted regularly and will be done per cronjob +> on stage1 a hourly job is necessary by setting the following job in the crontab for the gradido user +> crontab -e opens the crontab in edit-mode and insert the following entry: +> "0 * * * * find /tmp -name "yarn--*" -cmin +60 -exec rm -r {} \; > /dev/null" +> on stage2 a daily job is necessary by setting the following job in the crontab for the gradido user +> crontab -e opens the crontab in edit-mode and insert the following entry: +> "0 4 * * * find /tmp -name "yarn--*" -ctime +1 -exec rm -r {} \; > /dev/null" # TODO the install.sh is not yet ready to run directly - consider to use it as pattern to do it manually > ./install.sh From d29d9bd2badfa9af4824b730a16a7d9ba284318c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Tue, 20 Sep 2022 19:11:57 +0200 Subject: [PATCH 14/15] add property changes in .env files as mentioned in PR --- backend/.env.dist | 4 +++- backend/.env.template | 3 +++ backend/src/config/index.ts | 4 ++-- deployment/bare_metal/.env.dist | 5 ++++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/backend/.env.dist b/backend/.env.dist index 69b1d6a46..06e0c3a64 100644 --- a/backend/.env.dist +++ b/backend/.env.dist @@ -1,4 +1,4 @@ -CONFIG_VERSION=v9.2022-07-07 +CONFIG_VERSION=v10.2022-09-20 # Server PORT=4000 @@ -37,6 +37,8 @@ LOGIN_SERVER_KEY=a51ef8ac7ef1abf162fb7a65261acd7a # EMail EMAIL=false +EMAIL_TEST_MODUS=false +EMAIL_TEST_RECEIVER=test_team@gradido.net EMAIL_USERNAME=gradido_email EMAIL_SENDER=info@gradido.net EMAIL_PASSWORD=xxx diff --git a/backend/.env.template b/backend/.env.template index beaa256ef..bace78673 100644 --- a/backend/.env.template +++ b/backend/.env.template @@ -5,6 +5,7 @@ JWT_SECRET=$JWT_SECRET JWT_EXPIRES_IN=$JWT_EXPIRES_IN GRAPHIQL=false GDT_API_URL=$GDT_API_URL +ENV_NAME=$ENV_NAME # Database DB_HOST=localhost @@ -36,6 +37,8 @@ LOGIN_SERVER_KEY=a51ef8ac7ef1abf162fb7a65261acd7a # EMail EMAIL=$EMAIL +EMAIL_TEST_MODUS=$EMAIL_TEST_MODUS +EMAIL_TEST_RECEIVER=$EMAIL_TEST_RECEIVER EMAIL_USERNAME=$EMAIL_USERNAME EMAIL_SENDER=$EMAIL_SENDER EMAIL_PASSWORD=$EMAIL_PASSWORD diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index 50d68d726..462620b14 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -15,10 +15,9 @@ const constants = { LOG4JS_CONFIG: 'log4js-config.json', // default log level on production should be info LOG_LEVEL: process.env.LOG_LEVEL || 'info', - EMAIL_TEST_MODUS: process.env.EMAIL_TEST_MODUS === 'true' || 'false', CONFIG_VERSION: { DEFAULT: 'DEFAULT', - EXPECTED: 'v9.2022-07-07', + EXPECTED: 'v10.2022-09-20', CURRENT: '', }, } @@ -69,6 +68,7 @@ const loginServer = { const email = { EMAIL: process.env.EMAIL === 'true' || false, + EMAIL_TEST_MODUS: process.env.EMAIL_TEST_MODUS === 'true' || 'false', EMAIL_TEST_RECEIVER: process.env.EMAIL_TEST_RECEIVER || 'test_team@gradido.net', EMAIL_USERNAME: process.env.EMAIL_USERNAME || 'gradido_email', EMAIL_SENDER: process.env.EMAIL_SENDER || 'info@gradido.net', diff --git a/deployment/bare_metal/.env.dist b/deployment/bare_metal/.env.dist index ebb6717e7..b090908e1 100644 --- a/deployment/bare_metal/.env.dist +++ b/deployment/bare_metal/.env.dist @@ -26,10 +26,11 @@ COMMUNITY_REDEEM_CONTRIBUTION_URL=https://stage1.gradido.net/redeem/CL-{code} COMMUNITY_DESCRIPTION="Gradido Development Stage1 Test Community" # backend -BACKEND_CONFIG_VERSION=v9.2022-07-07 +BACKEND_CONFIG_VERSION=v10.2022-09-20 JWT_EXPIRES_IN=10m GDT_API_URL=https://gdt.gradido.net +ENV_NAME=stage1 TYPEORM_LOGGING_RELATIVE_PATH=../deployment/bare_metal/log/typeorm.backend.log @@ -40,6 +41,8 @@ KLICKTIPP_APIKEY_DE= KLICKTIPP_APIKEY_EN= EMAIL=true +EMAIL_TEST_MODUS=false +EMAIL_TEST_RECEIVER=test_team@gradido.net EMAIL_USERNAME=peter@lustig.de EMAIL_SENDER=peter@lustig.de EMAIL_PASSWORD=1234 From de234cc7df28e4ba6795302b504cbe938fc1885e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Thu, 22 Sep 2022 23:29:51 +0200 Subject: [PATCH 15/15] rework PR remarks --- backend/.env.dist | 2 +- backend/.env.template | 1 - backend/src/config/index.ts | 3 +-- backend/src/server/createServer.ts | 6 +----- deployment/bare_metal/setup.md | 3 --- deployment/bare_metal/start.sh | 12 ++++++------ 6 files changed, 9 insertions(+), 18 deletions(-) diff --git a/backend/.env.dist b/backend/.env.dist index 06e0c3a64..648a2054c 100644 --- a/backend/.env.dist +++ b/backend/.env.dist @@ -38,7 +38,7 @@ LOGIN_SERVER_KEY=a51ef8ac7ef1abf162fb7a65261acd7a # EMail EMAIL=false EMAIL_TEST_MODUS=false -EMAIL_TEST_RECEIVER=test_team@gradido.net +EMAIL_TEST_RECEIVER=stage1@gradido.net EMAIL_USERNAME=gradido_email EMAIL_SENDER=info@gradido.net EMAIL_PASSWORD=xxx diff --git a/backend/.env.template b/backend/.env.template index bace78673..dddf845dc 100644 --- a/backend/.env.template +++ b/backend/.env.template @@ -5,7 +5,6 @@ JWT_SECRET=$JWT_SECRET JWT_EXPIRES_IN=$JWT_EXPIRES_IN GRAPHIQL=false GDT_API_URL=$GDT_API_URL -ENV_NAME=$ENV_NAME # Database DB_HOST=localhost diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index 462620b14..edda4fbbb 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -28,7 +28,6 @@ const server = { JWT_EXPIRES_IN: process.env.JWT_EXPIRES_IN || '10m', GRAPHIQL: process.env.GRAPHIQL === 'true' || false, GDT_API_URL: process.env.GDT_API_URL || 'https://gdt.gradido.net', - ENV_NAME: process.env.NODE_ENV || 'production', PRODUCTION: process.env.NODE_ENV === 'production' || false, } @@ -69,7 +68,7 @@ const loginServer = { const email = { EMAIL: process.env.EMAIL === 'true' || false, EMAIL_TEST_MODUS: process.env.EMAIL_TEST_MODUS === 'true' || 'false', - EMAIL_TEST_RECEIVER: process.env.EMAIL_TEST_RECEIVER || 'test_team@gradido.net', + EMAIL_TEST_RECEIVER: process.env.EMAIL_TEST_RECEIVER || 'stage1@gradido.net', EMAIL_USERNAME: process.env.EMAIL_USERNAME || 'gradido_email', EMAIL_SENDER: process.env.EMAIL_SENDER || 'info@gradido.net', EMAIL_PASSWORD: process.env.EMAIL_PASSWORD || 'xxx', diff --git a/backend/src/server/createServer.ts b/backend/src/server/createServer.ts index 3d89f7737..d1153cdb6 100644 --- a/backend/src/server/createServer.ts +++ b/backend/src/server/createServer.ts @@ -76,12 +76,8 @@ const createServer = async ( }) apollo.applyMiddleware({ app, path: '/' }) logger.info( - `running in GRADIDO_ENV_NAME=${CONFIG.ENV_NAME} as PRODUCTION=${CONFIG.PRODUCTION} and EMAIL_TEST_MODUS=${CONFIG.EMAIL_TEST_MODUS} ...`, + `running with PRODUCTION=${CONFIG.PRODUCTION}, sending EMAIL enabled=${CONFIG.EMAIL} and EMAIL_TEST_MODUS=${CONFIG.EMAIL_TEST_MODUS} ...`, ) - if (CONFIG.PRODUCTION && CONFIG.EMAIL_TEST_MODUS === 'true') { - logger.error(`### RUNNING ENVIRONMENT Production IN EMAIL_TEST_MODE IS NOT ALLOWED ###`) - throw new Error(`### RUNNING ENVIRONMENT Production IN EMAIL_TEST_MODE IS NOT ALLOWED ###`) - } logger.debug('createServer...successful') return { apollo, app, con } } diff --git a/deployment/bare_metal/setup.md b/deployment/bare_metal/setup.md index 2f9a702e3..652a0a5ce 100644 --- a/deployment/bare_metal/setup.md +++ b/deployment/bare_metal/setup.md @@ -95,9 +95,6 @@ > cp .env.dist .env > nano .env >> Adjust values accordingly -# Define name of gradido environment -> the env variable GRADIDO_ENV_NAME have to be set during system installation manually to "development, stage1, stage2, stage3, production" -> export GRADIDO_ENV_NAME=development # Define cronjob to compensate yarn output in /tmp > yarn creates output in /tmp directory, which must be deleted regularly and will be done per cronjob > on stage1 a hourly job is necessary by setting the following job in the crontab for the gradido user diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index 8b0277fa7..95b89241f 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -120,8 +120,8 @@ yarn build if [ "$DEPLOY_SEED_DATA" = "true" ]; then yarn seed fi -# the env variable GRADIDO_ENV_NAME have to be set during system installation manually (development, stage1, stage2, stage3) if it should differ from production -export NODE_ENV="${GRADIDO_ENV_NAME:=production}" +# TODO maybe handle this differently? +export NODE_ENV=production pm2 delete gradido-backend pm2 start --name gradido-backend "yarn --cwd $PROJECT_ROOT/backend start" -l $GRADIDO_LOG_PATH/pm2.backend.$TODAY.log --log-date-format 'YYYY-MM-DD HH:mm:ss.SSS' pm2 save @@ -133,8 +133,8 @@ cd $PROJECT_ROOT/frontend unset NODE_ENV yarn install yarn build -# the env variable GRADIDO_ENV_NAME have to be set during system installation manually (development, stage1, stage2, stage3) if it should differ from production -export NODE_ENV="${GRADIDO_ENV_NAME:=production}" +# TODO maybe handle this differently? +export NODE_ENV=production pm2 delete gradido-frontend pm2 start --name gradido-frontend "yarn --cwd $PROJECT_ROOT/frontend start" -l $GRADIDO_LOG_PATH/pm2.frontend.$TODAY.log --log-date-format 'YYYY-MM-DD HH:mm:ss.SSS' pm2 save @@ -146,8 +146,8 @@ cd $PROJECT_ROOT/admin unset NODE_ENV yarn install yarn build -# the env variable GRADIDO_ENV_NAME have to be set during system installation manually (development, stage1, stage2, stage3) if it should differ from production -export NODE_ENV="${GRADIDO_ENV_NAME:=production}" +# TODO maybe handle this differently? +export NODE_ENV=production pm2 delete gradido-admin pm2 start --name gradido-admin "yarn --cwd $PROJECT_ROOT/admin start" -l $GRADIDO_LOG_PATH/pm2.admin.$TODAY.log --log-date-format 'YYYY-MM-DD HH:mm:ss.SSS' pm2 save