From 65976b8d3329745d4e8d5b5ba469449bc6b2fdf2 Mon Sep 17 00:00:00 2001 From: enrique Date: Wed, 2 Apr 2025 12:45:49 +0200 Subject: [PATCH 1/3] feat: load from env --- config/nevermined.js | 8 ++++++-- package.json | 2 +- src/shared/config/config.service.ts | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/config/nevermined.js b/config/nevermined.js index 9b1caa57..a379e2bf 100644 --- a/config/nevermined.js +++ b/config/nevermined.js @@ -19,8 +19,12 @@ const configBase = { configBase.accounts = [] if (process.env.PROVIDER_KEYFILE) { - const str = fs.readFileSync(process.env.PROVIDER_KEYFILE).toString() - configBase.accounts = [ethers.Wallet.fromEncryptedJsonSync(str, process.env.PROVIDER_PASSWORD)] + configBase.accounts = [ + ethers.Wallet.fromEncryptedJsonSync( + process.env.PROVIDER_KEYFILE, + process.env.PROVIDER_PASSWORD, + ), + ] } const config = configBase diff --git a/package.json b/package.json index d38417a6..6d7dfa94 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-ts", - "version": "3.0.20", + "version": "3.0.21", "description": "Nevermined Node", "main": "main.ts", "scripts": { diff --git a/src/shared/config/config.service.ts b/src/shared/config/config.service.ts index c0c1b415..44ee8d2d 100644 --- a/src/shared/config/config.service.ts +++ b/src/shared/config/config.service.ts @@ -154,7 +154,7 @@ export class ConfigService { this.envConfig = this.validateInput(configProfile) this.crypto = { provider_password: this.get('PROVIDER_PASSWORD') || '', - provider_key: readFileSync(this.get('PROVIDER_KEYFILE') || '').toString(), + provider_key: this.get('PROVIDER_KEYFILE') || '', provider_rsa_public: readFileSync(this.get('RSA_PUBKEY_FILE') || '').toString(), provider_rsa_private: readFileSync(this.get('RSA_PRIVKEY_FILE') || '').toString(), } From 4840614822ac23bfcd3e28a527c156ccfe805047 Mon Sep 17 00:00:00 2001 From: enrique Date: Wed, 2 Apr 2025 12:58:20 +0200 Subject: [PATCH 2/3] fix: tests --- .env.sample | 2 +- .github/workflows/testing-integration.yml | 1 + .github/workflows/testing-nightly.yml | 2 +- .github/workflows/testing.yml | 2 ++ src/encrypt/encrypt.controller.spec.ts | 6 +++--- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.env.sample b/.env.sample index 9583b6fd..6f7d260e 100644 --- a/.env.sample +++ b/.env.sample @@ -1,7 +1,7 @@ JWT_SECRET_KEY="secret" NODE_ENV="development" -PROVIDER_KEYFILE=accounts/provider.json +#PROVIDER_KEYFILE=accounts/provider.json RSA_PRIVKEY_FILE=accounts/rsa_priv_key.pem RSA_PUBKEY_FILE=accounts/rsa_pub_key.pem AUTHLIB_INSECURE_TRANSPORT=true diff --git a/.github/workflows/testing-integration.yml b/.github/workflows/testing-integration.yml index b62bc96d..8c43f6ff 100644 --- a/.github/workflows/testing-integration.yml +++ b/.github/workflows/testing-integration.yml @@ -37,6 +37,7 @@ jobs: env: IPFS_PROJECT_ID: ${{ secrets.IPFS_PROJECT_ID }} IPFS_PROJECT_SECRET: ${{ secrets.IPFS_PROJECT_SECRET }} + PROVIDER_KEYFILE: ${{ secrets.PROVIDER_KEYFILE }} run: | yarn setup:dev yarn start & diff --git a/.github/workflows/testing-nightly.yml b/.github/workflows/testing-nightly.yml index ddaf8f44..e13113ff 100644 --- a/.github/workflows/testing-nightly.yml +++ b/.github/workflows/testing-nightly.yml @@ -37,7 +37,7 @@ jobs: ./scripts/wait-nevermined.sh - name: Start node env: - PROVIDER_KEYFILE: accounts/provider.json + PROVIDER_KEYFILE: ${{ secrets.PROVIDER_KEYFILE }} RSA_PRIVKEY_FILE: accounts/rsa_priv_key.pem RSA_PUBKEY_FILE: accounts/rsa_pub_key.pem PROVIDER_BABYJUB_SECRET: ${{ secrets.PROVIDER_BABYJUB_SECRET }} diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 3e4d83b8..a1951d40 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -21,6 +21,8 @@ jobs: - name: Check code formatting run: yarn format:check - name: Run tests + env: + PROVIDER_KEYFILE: ${{ secrets.PROVIDER_KEYFILE }} run: | yarn setup:dev yarn test --detectOpenHandles diff --git a/src/encrypt/encrypt.controller.spec.ts b/src/encrypt/encrypt.controller.spec.ts index 4fb57ca0..c65fd899 100644 --- a/src/encrypt/encrypt.controller.spec.ts +++ b/src/encrypt/encrypt.controller.spec.ts @@ -6,7 +6,7 @@ import { EncryptController } from './encrypt.controller' import request from 'supertest' import { ConfigModule } from '../shared/config/config.module' import { ConfigService } from '../shared/config/config.service' -import { accountFromCredentialsFile, decrypt } from '../common/helpers/encryption.helper' +import { accountFromCredentialsData, decrypt } from '../common/helpers/encryption.helper' /* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-argument */ @@ -47,8 +47,8 @@ describe('Info', () => { expect(await decrypt(config.cryptoConfig(), result, 'PSK-RSA')).toBe('msg') }) - it('load NvmAccount from credentials file', async () => { - const account = await accountFromCredentialsFile( + it('load NvmAccount from credentials data', async () => { + const account = await accountFromCredentialsData( process.env.PROVIDER_KEYFILE as string, process.env.PROVIDER_PASSWORD as string, ) From 4a2f3c91d60c75a4666a9635d2b2ab16f7e5369a Mon Sep 17 00:00:00 2001 From: enrique Date: Wed, 2 Apr 2025 13:14:29 +0200 Subject: [PATCH 3/3] feat: add var --- .github/workflows/testing-integration.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/testing-integration.yml b/.github/workflows/testing-integration.yml index 8c43f6ff..97f02d78 100644 --- a/.github/workflows/testing-integration.yml +++ b/.github/workflows/testing-integration.yml @@ -45,6 +45,8 @@ jobs: # wait for node to start wget --retry-connrefused --tries=20 http://localhost:8030 - name: Run tests + env: + PROVIDER_KEYFILE: ${{ secrets.PROVIDER_KEYFILE }} run: | # HDWalletProvider keeps jest from exiting yarn integration --detectOpenHandles