From 926c2be4e774deef21bd8c69bf7bb2d9866df4bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Fri, 11 Nov 2022 00:20:35 +0100 Subject: [PATCH 01/15] add federation config properties --- backend/.env.dist | 11 +++++++++-- backend/.env.template | 7 ++++++- backend/src/config/index.ts | 8 +++++++- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/backend/.env.dist b/backend/.env.dist index 3b6fe2ce4..29db81322 100644 --- a/backend/.env.dist +++ b/backend/.env.dist @@ -1,4 +1,4 @@ -CONFIG_VERSION=v11.2022-10-27 +CONFIG_VERSION=v12.2022-11-10 # Server PORT=4000 @@ -63,5 +63,12 @@ EVENT_PROTOCOL_DISABLED=false # DHT # if you set this value, the DHT hyperswarm will start to announce and listen -# on an hash created from this tpoic +# on an hash created from this topic # DHT_TOPIC=GRADIDO_HUB +# Define the following federation properties to individualize this community instance +# for federation per hyperswarm +# FEDERATE_COMMUNITY_NAME=Gradido Community Development +# FEDERATE_COMMUNITY_URL==http://localhost/ +# FEDERATE_COMMUNITY_PORT=4000 +# FEDERATE_COMMUNITY_UUID=14466b15-4631-4b1b-9110-dd6694356d9c +# FEDERATE_KEY_SECRET=a51ef8ac7ef1abf162fb7a65261acd7a diff --git a/backend/.env.template b/backend/.env.template index d009d08ff..69e486515 100644 --- a/backend/.env.template +++ b/backend/.env.template @@ -56,5 +56,10 @@ WEBHOOK_ELOPAGE_SECRET=$WEBHOOK_ELOPAGE_SECRET # EventProtocol EVENT_PROTOCOL_DISABLED=$EVENT_PROTOCOL_DISABLED -# DHT +# DHT/Federation DHT_TOPIC=$DHT_TOPIC +FEDERATE_COMMUNITY_NAME=$FEDERATE_COMMUNITY_NAME +FEDERATE_COMMUNITY_URL=$FEDERATE_COMMUNITY_URL +FEDERATE_COMMUNITY_PORT=$FEDERATE_COMMUNITY_PORT +FEDERATE_COMMUNITY_UUID=$FEDERATE_COMMUNITY_UUID +FEDERATE_KEY_SECRET=$FEDERATE_KEY_SECRET diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index e7139033b..78a3319ed 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -17,7 +17,7 @@ const constants = { LOG_LEVEL: process.env.LOG_LEVEL || 'info', CONFIG_VERSION: { DEFAULT: 'DEFAULT', - EXPECTED: 'v11.2022-10-27', + EXPECTED: 'v12.2022-11-10', CURRENT: '', }, } @@ -118,6 +118,12 @@ if ( const federation = { DHT_TOPIC: process.env.DHT_TOPIC || null, + FEDERATE_COMMUNITY_NAME: process.env.FEDERATE_COMMUNITY_NAME || community.COMMUNITY_NAME, + FEDERATE_COMMUNITY_URL: process.env.FEDERATE_COMMUNITY_URL || community.COMMUNITY_URL, + FEDERATE_COMMUNITY_PORT: process.env.FEDERATE_COMMUNITY_PORT || server.PORT, + FEDERATE_COMMUNITY_UUID: + process.env.FEDERATE_COMMUNITY_UUID || '14466b15-4631-4b1b-9110-dd6694356d9c', + FEDERATE_KEY_SECRET: process.env.FEDERATE_KEY_SECRET || loginServer.LOGIN_SERVER_KEY, } const CONFIG = { From b4fbb09f2657ce5e40d4456eaa35961e9492ab73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Fri, 25 Nov 2022 00:57:48 +0100 Subject: [PATCH 02/15] define the federation config properties --- backend/.env.dist | 14 ++++---------- backend/.env.template | 8 ++------ 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/backend/.env.dist b/backend/.env.dist index 29db81322..d53ebdac8 100644 --- a/backend/.env.dist +++ b/backend/.env.dist @@ -61,14 +61,8 @@ EVENT_PROTOCOL_DISABLED=false # POSSIBLE VALUES: all | trace | debug | info | warn | error | fatal # LOG_LEVEL=info -# DHT -# if you set this value, the DHT hyperswarm will start to announce and listen +# Federation / DHT +# if you set the value of FEDERATE_DHT_TOPIC, the DHT hyperswarm will start to announce and listen # on an hash created from this topic -# DHT_TOPIC=GRADIDO_HUB -# Define the following federation properties to individualize this community instance -# for federation per hyperswarm -# FEDERATE_COMMUNITY_NAME=Gradido Community Development -# FEDERATE_COMMUNITY_URL==http://localhost/ -# FEDERATE_COMMUNITY_PORT=4000 -# FEDERATE_COMMUNITY_UUID=14466b15-4631-4b1b-9110-dd6694356d9c -# FEDERATE_KEY_SECRET=a51ef8ac7ef1abf162fb7a65261acd7a +# FEDERATE_DHT_TOPIC=GRADIDO_HUB +# FEDERATE_DHT_SEED=64ebcb0e3ad547848fef4197c6e2332f diff --git a/backend/.env.template b/backend/.env.template index 69e486515..2aec0483c 100644 --- a/backend/.env.template +++ b/backend/.env.template @@ -57,9 +57,5 @@ WEBHOOK_ELOPAGE_SECRET=$WEBHOOK_ELOPAGE_SECRET EVENT_PROTOCOL_DISABLED=$EVENT_PROTOCOL_DISABLED # DHT/Federation -DHT_TOPIC=$DHT_TOPIC -FEDERATE_COMMUNITY_NAME=$FEDERATE_COMMUNITY_NAME -FEDERATE_COMMUNITY_URL=$FEDERATE_COMMUNITY_URL -FEDERATE_COMMUNITY_PORT=$FEDERATE_COMMUNITY_PORT -FEDERATE_COMMUNITY_UUID=$FEDERATE_COMMUNITY_UUID -FEDERATE_KEY_SECRET=$FEDERATE_KEY_SECRET +FEDERATE_DHT_TOPIC=$FEDERATE_DHT_TOPIC +FEDERATE_DHT_SEED=$FEDERATE_DHT_SEED From cf1c68f290d5c8c67af3f718792edc328826eb85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Fri, 25 Nov 2022 00:58:28 +0100 Subject: [PATCH 03/15] define the federation config properties --- backend/src/config/index.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index 5ce0355e7..9206dcc04 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -117,13 +117,8 @@ if ( } const federation = { - DHT_TOPIC: process.env.DHT_TOPIC || null, - FEDERATE_COMMUNITY_NAME: process.env.FEDERATE_COMMUNITY_NAME || community.COMMUNITY_NAME, - FEDERATE_COMMUNITY_URL: process.env.FEDERATE_COMMUNITY_URL || community.COMMUNITY_URL, - FEDERATE_COMMUNITY_PORT: process.env.FEDERATE_COMMUNITY_PORT || server.PORT, - FEDERATE_COMMUNITY_UUID: - process.env.FEDERATE_COMMUNITY_UUID || '14466b15-4631-4b1b-9110-dd6694356d9c', - FEDERATE_KEY_SECRET: process.env.FEDERATE_KEY_SECRET || loginServer.LOGIN_SERVER_KEY, + FEDERATE_DHT_TOPIC: process.env.FEDERATE_DHT_TOPIC || null, + FEDERATE_DHT_SEED: process.env.FEDERATE_DHT_SEED || null, } const CONFIG = { From 28fa11bcd5b0cd833d9546c63cd801cd8ec7a970 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Fri, 25 Nov 2022 00:59:35 +0100 Subject: [PATCH 04/15] use the new config property to start DHT --- backend/src/index.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/backend/src/index.ts b/backend/src/index.ts index dc1bbb115..69304f84e 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -19,8 +19,10 @@ async function main() { }) // start DHT hyperswarm when DHT_TOPIC is set in .env - if (CONFIG.DHT_TOPIC) { - await startDHT(CONFIG.DHT_TOPIC) // con, + if (CONFIG.FEDERATE_DHT_TOPIC) { + // eslint-disable-next-line no-console + console.log(`Federation/DHT active on ${CONFIG.FEDERATE_DHT_TOPIC}`) + await startDHT(CONFIG.FEDERATE_DHT_TOPIC) // con, } } From 58637366582c95ad1355f1655e89abfeb2a744e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Fri, 25 Nov 2022 01:01:14 +0100 Subject: [PATCH 05/15] create DHT-KeyPair with optional configured Seed --- backend/src/federation/index.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/backend/src/federation/index.ts b/backend/src/federation/index.ts index 2ca58b432..a7a06e42a 100644 --- a/backend/src/federation/index.ts +++ b/backend/src/federation/index.ts @@ -4,11 +4,24 @@ import DHT from '@hyperswarm/dht' // import { Connection } from '@dbTools/typeorm' import { backendLogger as logger } from '@/server/logger' +import CONFIG from '@/config' +// eslint-disable-next-line @typescript-eslint/no-var-requires +const sodium = require('sodium-native') function between(min: number, max: number) { return Math.floor(Math.random() * (max - min + 1) + min) } +const getSeed = (): Buffer | null => { + if (CONFIG.FEDERATE_DHT_SEED) { + const secret = CONFIG.FEDERATE_DHT_SEED + const seed = sodium.sodium_malloc(sodium.crypto_box_SEEDBYTES) + seed.write(secret, 'hex') + return seed + } + return null +} + const POLLTIME = 20000 const SUCCESSTIME = 120000 const ERRORTIME = 240000 @@ -28,7 +41,9 @@ export const startDHT = async ( try { const TOPIC = DHT.hash(Buffer.from(topic)) - const keyPair = DHT.keyPair() + const keyPair = DHT.keyPair(getSeed()) + logger.info(`keyPairDHT: publicKey=${keyPair.publicKey.toString('hex')}`) + logger.info(`keyPairDHT: secretKey=${keyPair.secretKey.toString('hex')}`) const node = new DHT({ keyPair }) From 68586eaae7e04d6f8d0304f049a424ff5521a9f0 Mon Sep 17 00:00:00 2001 From: clauspeterhuebner <86960882+clauspeterhuebner@users.noreply.github.com> Date: Fri, 25 Nov 2022 01:37:36 +0100 Subject: [PATCH 06/15] Update backend/.env.dist Co-authored-by: Ulf Gebhardt --- backend/.env.dist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/.env.dist b/backend/.env.dist index d53ebdac8..94fb47fe8 100644 --- a/backend/.env.dist +++ b/backend/.env.dist @@ -61,7 +61,7 @@ EVENT_PROTOCOL_DISABLED=false # POSSIBLE VALUES: all | trace | debug | info | warn | error | fatal # LOG_LEVEL=info -# Federation / DHT +# Federation # if you set the value of FEDERATE_DHT_TOPIC, the DHT hyperswarm will start to announce and listen # on an hash created from this topic # FEDERATE_DHT_TOPIC=GRADIDO_HUB From ce1b488865b8067bc3da3dbd43bbaeee113c7838 Mon Sep 17 00:00:00 2001 From: clauspeterhuebner <86960882+clauspeterhuebner@users.noreply.github.com> Date: Fri, 25 Nov 2022 01:37:56 +0100 Subject: [PATCH 07/15] Update backend/.env.template Co-authored-by: Ulf Gebhardt --- backend/.env.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/.env.template b/backend/.env.template index 2aec0483c..1b566a05c 100644 --- a/backend/.env.template +++ b/backend/.env.template @@ -56,6 +56,6 @@ WEBHOOK_ELOPAGE_SECRET=$WEBHOOK_ELOPAGE_SECRET # EventProtocol EVENT_PROTOCOL_DISABLED=$EVENT_PROTOCOL_DISABLED -# DHT/Federation +# Federation FEDERATE_DHT_TOPIC=$FEDERATE_DHT_TOPIC FEDERATE_DHT_SEED=$FEDERATE_DHT_SEED From 192ab67817a12f0a765caa48c0e13272b7310b25 Mon Sep 17 00:00:00 2001 From: clauspeterhuebner <86960882+clauspeterhuebner@users.noreply.github.com> Date: Fri, 25 Nov 2022 01:43:59 +0100 Subject: [PATCH 08/15] Update backend/src/index.ts Co-authored-by: Ulf Gebhardt --- backend/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/index.ts b/backend/src/index.ts index 69304f84e..b5ef4d611 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -21,7 +21,7 @@ async function main() { // start DHT hyperswarm when DHT_TOPIC is set in .env if (CONFIG.FEDERATE_DHT_TOPIC) { // eslint-disable-next-line no-console - console.log(`Federation/DHT active on ${CONFIG.FEDERATE_DHT_TOPIC}`) + console.log(`Federation active on ${CONFIG.FEDERATE_DHT_TOPIC}`) await startDHT(CONFIG.FEDERATE_DHT_TOPIC) // con, } } From d021cb29187506f6fba78ee0773eb8c5f2bc54e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Fri, 25 Nov 2022 03:01:23 +0100 Subject: [PATCH 09/15] renamend porperties to FEDERATION_xxx --- backend/.env.dist | 8 ++++---- backend/.env.template | 6 +++--- backend/src/config/index.ts | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/backend/.env.dist b/backend/.env.dist index d53ebdac8..c0a2a6098 100644 --- a/backend/.env.dist +++ b/backend/.env.dist @@ -61,8 +61,8 @@ EVENT_PROTOCOL_DISABLED=false # POSSIBLE VALUES: all | trace | debug | info | warn | error | fatal # LOG_LEVEL=info -# Federation / DHT -# if you set the value of FEDERATE_DHT_TOPIC, the DHT hyperswarm will start to announce and listen +# Federation +# if you set the value of FEDERATION_DHT_TOPIC, the DHT hyperswarm will start to announce and listen # on an hash created from this topic -# FEDERATE_DHT_TOPIC=GRADIDO_HUB -# FEDERATE_DHT_SEED=64ebcb0e3ad547848fef4197c6e2332f +# FEDERATION_DHT_TOPIC=GRADIDO_HUB +# FEDERATION_DHT_SEED=64ebcb0e3ad547848fef4197c6e2332f diff --git a/backend/.env.template b/backend/.env.template index 2aec0483c..1bb2e4155 100644 --- a/backend/.env.template +++ b/backend/.env.template @@ -56,6 +56,6 @@ WEBHOOK_ELOPAGE_SECRET=$WEBHOOK_ELOPAGE_SECRET # EventProtocol EVENT_PROTOCOL_DISABLED=$EVENT_PROTOCOL_DISABLED -# DHT/Federation -FEDERATE_DHT_TOPIC=$FEDERATE_DHT_TOPIC -FEDERATE_DHT_SEED=$FEDERATE_DHT_SEED +# Federation +FEDERATION_DHT_TOPIC=$FEDERATION_DHT_TOPIC +FEDERATION_DHT_SEED=$FEDERATION_DHT_SEED diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index 9206dcc04..0512434f1 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -117,8 +117,8 @@ if ( } const federation = { - FEDERATE_DHT_TOPIC: process.env.FEDERATE_DHT_TOPIC || null, - FEDERATE_DHT_SEED: process.env.FEDERATE_DHT_SEED || null, + FEDERATION_DHT_TOPIC: process.env.FEDERATION_DHT_TOPIC || null, + FEDERATION_DHT_SEED: process.env.FEDERATION_DHT_SEED || null, } const CONFIG = { From 111602c707a0134962e4b7353b93843b3d8197c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Fri, 25 Nov 2022 03:03:17 +0100 Subject: [PATCH 10/15] rework PR comments --- backend/src/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/src/index.ts b/backend/src/index.ts index 69304f84e..35fb191cd 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -19,10 +19,10 @@ async function main() { }) // start DHT hyperswarm when DHT_TOPIC is set in .env - if (CONFIG.FEDERATE_DHT_TOPIC) { + if (CONFIG.FEDERATION_DHT_TOPIC) { // eslint-disable-next-line no-console - console.log(`Federation/DHT active on ${CONFIG.FEDERATE_DHT_TOPIC}`) - await startDHT(CONFIG.FEDERATE_DHT_TOPIC) // con, + console.log(`Federation active on ${CONFIG.FEDERATION_DHT_TOPIC}`) + await startDHT(CONFIG.FEDERATION_DHT_TOPIC) // con, } } From 7a2de6c437b16e35e95cc6c9a4ffa3dc95dd1dd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Fri, 25 Nov 2022 03:03:57 +0100 Subject: [PATCH 11/15] rework PR comments --- backend/src/federation/index.ts | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/backend/src/federation/index.ts b/backend/src/federation/index.ts index a7a06e42a..cbf78bc1c 100644 --- a/backend/src/federation/index.ts +++ b/backend/src/federation/index.ts @@ -5,23 +5,21 @@ import DHT from '@hyperswarm/dht' // import { Connection } from '@dbTools/typeorm' import { backendLogger as logger } from '@/server/logger' import CONFIG from '@/config' -// eslint-disable-next-line @typescript-eslint/no-var-requires -const sodium = require('sodium-native') function between(min: number, max: number) { return Math.floor(Math.random() * (max - min + 1) + min) } const getSeed = (): Buffer | null => { - if (CONFIG.FEDERATE_DHT_SEED) { - const secret = CONFIG.FEDERATE_DHT_SEED - const seed = sodium.sodium_malloc(sodium.crypto_box_SEEDBYTES) - seed.write(secret, 'hex') - return seed + if (CONFIG.FEDERATION_DHT_SEED) { + logger.debug(`with seed='${CONFIG.FEDERATION_DHT_SEED}'`) + return Buffer.alloc(KEY_SECRET_SEEDBYTES, CONFIG.FEDERATION_DHT_SEED) } return null } +const KEY_SECRET_SEEDBYTES = 32 + const POLLTIME = 20000 const SUCCESSTIME = 120000 const ERRORTIME = 240000 @@ -40,10 +38,10 @@ export const startDHT = async ( ): Promise => { try { const TOPIC = DHT.hash(Buffer.from(topic)) - + logger.debug(`getSeed='${getSeed()}'`) const keyPair = DHT.keyPair(getSeed()) logger.info(`keyPairDHT: publicKey=${keyPair.publicKey.toString('hex')}`) - logger.info(`keyPairDHT: secretKey=${keyPair.secretKey.toString('hex')}`) + logger.debug(`keyPairDHT: secretKey=${keyPair.secretKey.toString('hex')}`) const node = new DHT({ keyPair }) From efa46f50f3b27f415440fdec9ff8fdfb820e38db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Fri, 25 Nov 2022 03:09:54 +0100 Subject: [PATCH 12/15] resolve conflicts --- backend/.env.dist | 4 ---- backend/.env.template | 5 ----- backend/src/federation/index.ts | 1 - 3 files changed, 10 deletions(-) diff --git a/backend/.env.dist b/backend/.env.dist index 7cc0e9737..c0a2a6098 100644 --- a/backend/.env.dist +++ b/backend/.env.dist @@ -62,11 +62,7 @@ EVENT_PROTOCOL_DISABLED=false # LOG_LEVEL=info # Federation -<<<<<<< HEAD # if you set the value of FEDERATION_DHT_TOPIC, the DHT hyperswarm will start to announce and listen -======= -# if you set the value of FEDERATE_DHT_TOPIC, the DHT hyperswarm will start to announce and listen ->>>>>>> 192ab67817a12f0a765caa48c0e13272b7310b25 # on an hash created from this topic # FEDERATION_DHT_TOPIC=GRADIDO_HUB # FEDERATION_DHT_SEED=64ebcb0e3ad547848fef4197c6e2332f diff --git a/backend/.env.template b/backend/.env.template index f356082f8..1bb2e4155 100644 --- a/backend/.env.template +++ b/backend/.env.template @@ -57,10 +57,5 @@ WEBHOOK_ELOPAGE_SECRET=$WEBHOOK_ELOPAGE_SECRET EVENT_PROTOCOL_DISABLED=$EVENT_PROTOCOL_DISABLED # Federation -<<<<<<< HEAD FEDERATION_DHT_TOPIC=$FEDERATION_DHT_TOPIC FEDERATION_DHT_SEED=$FEDERATION_DHT_SEED -======= -FEDERATE_DHT_TOPIC=$FEDERATE_DHT_TOPIC -FEDERATE_DHT_SEED=$FEDERATE_DHT_SEED ->>>>>>> 192ab67817a12f0a765caa48c0e13272b7310b25 diff --git a/backend/src/federation/index.ts b/backend/src/federation/index.ts index cbf78bc1c..352724274 100644 --- a/backend/src/federation/index.ts +++ b/backend/src/federation/index.ts @@ -38,7 +38,6 @@ export const startDHT = async ( ): Promise => { try { const TOPIC = DHT.hash(Buffer.from(topic)) - logger.debug(`getSeed='${getSeed()}'`) const keyPair = DHT.keyPair(getSeed()) logger.info(`keyPairDHT: publicKey=${keyPair.publicKey.toString('hex')}`) logger.debug(`keyPairDHT: secretKey=${keyPair.secretKey.toString('hex')}`) From 9395b5a0ba866db84363a8afd375ee9fe827b2ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Fri, 25 Nov 2022 03:11:14 +0100 Subject: [PATCH 13/15] resolve conflicts --- backend/src/index.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/backend/src/index.ts b/backend/src/index.ts index 1be47eec2..35fb191cd 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -21,13 +21,8 @@ async function main() { // start DHT hyperswarm when DHT_TOPIC is set in .env if (CONFIG.FEDERATION_DHT_TOPIC) { // eslint-disable-next-line no-console -<<<<<<< HEAD console.log(`Federation active on ${CONFIG.FEDERATION_DHT_TOPIC}`) await startDHT(CONFIG.FEDERATION_DHT_TOPIC) // con, -======= - console.log(`Federation active on ${CONFIG.FEDERATE_DHT_TOPIC}`) - await startDHT(CONFIG.FEDERATE_DHT_TOPIC) // con, ->>>>>>> 192ab67817a12f0a765caa48c0e13272b7310b25 } } From 89283fa3da03155fed5c8f8b7df8bd4e47ba0c27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Fri, 25 Nov 2022 04:08:01 +0100 Subject: [PATCH 14/15] rework PR comments --- backend/src/federation/index.ts | 10 ++-------- backend/src/index.ts | 6 +++++- deployment/bare_metal/.env.dist | 11 ++++++----- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/backend/src/federation/index.ts b/backend/src/federation/index.ts index 352724274..82b961c63 100644 --- a/backend/src/federation/index.ts +++ b/backend/src/federation/index.ts @@ -10,15 +10,9 @@ function between(min: number, max: number) { return Math.floor(Math.random() * (max - min + 1) + min) } -const getSeed = (): Buffer | null => { - if (CONFIG.FEDERATION_DHT_SEED) { - logger.debug(`with seed='${CONFIG.FEDERATION_DHT_SEED}'`) - return Buffer.alloc(KEY_SECRET_SEEDBYTES, CONFIG.FEDERATION_DHT_SEED) - } - return null -} - const KEY_SECRET_SEEDBYTES = 32 +const getSeed = (): Buffer | null => + CONFIG.FEDERATION_DHT_SEED ? Buffer.alloc(KEY_SECRET_SEEDBYTES, CONFIG.FEDERATION_DHT_SEED) : null const POLLTIME = 20000 const SUCCESSTIME = 120000 diff --git a/backend/src/index.ts b/backend/src/index.ts index 35fb191cd..e63f80827 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -21,7 +21,11 @@ async function main() { // start DHT hyperswarm when DHT_TOPIC is set in .env if (CONFIG.FEDERATION_DHT_TOPIC) { // eslint-disable-next-line no-console - console.log(`Federation active on ${CONFIG.FEDERATION_DHT_TOPIC}`) + console.log( + `starting Federation on ${CONFIG.FEDERATION_DHT_TOPIC} ${ + CONFIG.FEDERATION_DHT_SEED ? 'with seed...' : 'without seed...' + }`, + ) await startDHT(CONFIG.FEDERATION_DHT_TOPIC) // con, } } diff --git a/deployment/bare_metal/.env.dist b/deployment/bare_metal/.env.dist index 1d0e96455..5fb81c26a 100644 --- a/deployment/bare_metal/.env.dist +++ b/deployment/bare_metal/.env.dist @@ -26,7 +26,7 @@ COMMUNITY_REDEEM_CONTRIBUTION_URL=https://stage1.gradido.net/redeem/CL-{code} COMMUNITY_DESCRIPTION="Gradido Development Stage1 Test Community" # backend -BACKEND_CONFIG_VERSION=v11.2022-10-27 +BACKEND_CONFIG_VERSION=v12.2022-11-10 JWT_EXPIRES_IN=10m GDT_API_URL=https://gdt.gradido.net @@ -59,10 +59,11 @@ WEBHOOK_ELOPAGE_SECRET=secret # EventProtocol EVENT_PROTOCOL_DISABLED=false -## DHT -## if you set this value, the DHT hyperswarm will start to announce and listen -## on an hash created from this tpoic -# DHT_TOPIC=GRADIDO_HUB +# Federation +# if you set the value of FEDERATION_DHT_TOPIC, the DHT hyperswarm will start to announce and listen +# on an hash created from this topic +FEDERATION_DHT_TOPIC=GRADIDO_HUB +# FEDERATION_DHT_SEED=64ebcb0e3ad547848fef4197c6e2332f # database DATABASE_CONFIG_VERSION=v1.2022-03-18 From 0d9b759bead5a8cbf12d57abfdc3cea849606ded Mon Sep 17 00:00:00 2001 From: clauspeterhuebner <86960882+clauspeterhuebner@users.noreply.github.com> Date: Mon, 28 Nov 2022 15:09:00 +0100 Subject: [PATCH 15/15] Update deployment/bare_metal/.env.dist set federation diabled as default Co-authored-by: Ulf Gebhardt --- deployment/bare_metal/.env.dist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/bare_metal/.env.dist b/deployment/bare_metal/.env.dist index 5fb81c26a..9c6bfd735 100644 --- a/deployment/bare_metal/.env.dist +++ b/deployment/bare_metal/.env.dist @@ -62,7 +62,7 @@ EVENT_PROTOCOL_DISABLED=false # Federation # if you set the value of FEDERATION_DHT_TOPIC, the DHT hyperswarm will start to announce and listen # on an hash created from this topic -FEDERATION_DHT_TOPIC=GRADIDO_HUB +# FEDERATION_DHT_TOPIC=GRADIDO_HUB # FEDERATION_DHT_SEED=64ebcb0e3ad547848fef4197c6e2332f # database