From fa3f8af595385b1cd12b0aa330ad7301301d1eee Mon Sep 17 00:00:00 2001 From: javiersuweijie Date: Mon, 12 Aug 2024 12:26:26 +0800 Subject: [PATCH] chore: use default creds for dynamo --- eth/.env_example | 1 + eth/docker-compose.yml | 1 + eth/src/DynamoDB.ts | 12 +++++++++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/eth/.env_example b/eth/.env_example index 18835fa..8d69882 100644 --- a/eth/.env_example +++ b/eth/.env_example @@ -20,6 +20,7 @@ SLACK_NOTI_NETWORK="TESTNET" SLACK_NOTI_ETH_ASSET="ETH" SLACK_WEB_HOOK="" +USE_DEFAULT_CRED_PROVIDER=true DYNAMO_ACCESS_KEY_ID="" DYNAMO_SECRET_ACCESS_KEY="" DYNAMO_REGION="" diff --git a/eth/docker-compose.yml b/eth/docker-compose.yml index 5845c55..3209413 100644 --- a/eth/docker-compose.yml +++ b/eth/docker-compose.yml @@ -15,6 +15,7 @@ services: - dynamodb-local container_name: shuttle-eth environment: + USE_DEFAULT_CRED_PROVIDER: false DYNAMO_ACCESS_KEY_ID: 'DUMMYIDEXAMPLE' DYNAMO_SECRET_ACCESS_KEY: 'DUMMYEXAMPLEKEY' DYNAMO_ENDPOINT: 'http://dynamodb-local:8000' diff --git a/eth/src/DynamoDB.ts b/eth/src/DynamoDB.ts index 6a62b52..6fdef6d 100644 --- a/eth/src/DynamoDB.ts +++ b/eth/src/DynamoDB.ts @@ -40,7 +40,17 @@ export class DynamoDB { client: DynamoDBClient; constructor() { - this.client = new DynamoDBClient({ + this.client = this.createDynamoDBClient(); + } + + createDynamoDBClient(): DynamoDBClient { + // we don't need to set any of this for an aws service it has a region and a role already + // the aws sdk already knows to look for the default env vars + if (process.env.USE_DEFAULT_CRED_PROVIDER === 'true') { + return new DynamoDBClient({ region: process.env.AWS_REGION }); + } + return new DynamoDBClient({ + endpoint: process.env.DYNAMO_ENDPOINT, region: DYNAMO_REGION, credentials: { accessKeyId: DYNAMO_ACCESS_KEY_ID,