From c7e279d0eedde77290b4177fea00b5e5af56ab83 Mon Sep 17 00:00:00 2001 From: Hoan Luu Huu <110280845+xquanluu@users.noreply.github.com> Date: Wed, 28 May 2025 19:04:15 +0700 Subject: [PATCH] support S3 compatible region (#453) * support S3 compatible region * wip --- lib/record/utils.js | 2 +- lib/routes/api/accounts.js | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/record/utils.js b/lib/record/utils.js index d147323..7e44b29 100644 --- a/lib/record/utils.js +++ b/lib/record/utils.js @@ -26,7 +26,7 @@ const getUploader = (key, metadata, bucket_credential, logger) => { accessKeyId: bucket_credential.access_key_id, secretAccessKey: bucket_credential.secret_access_key, }, - region: 'us-east-1', + region: bucket_credential.region || 'us-east-1', forcePathStyle: true }; return new S3MultipartUploadStream(logger, uploaderOpts); diff --git a/lib/routes/api/accounts.js b/lib/routes/api/accounts.js index c9a4682..60dc283 100644 --- a/lib/routes/api/accounts.js +++ b/lib/routes/api/accounts.js @@ -677,12 +677,12 @@ function encryptBucketCredential(obj, storedCredentials = {}) { name, access_key_id, tags, - endpoint + endpoint, } = obj.bucket_credential; let { secret_access_key, service_key, - connection_string + connection_string, } = obj.bucket_credential; switch (vendor) { @@ -707,7 +707,9 @@ function encryptBucketCredential(obj, storedCredentials = {}) { secret_access_key = storedCredentials.secret_access_key; } const s3Data = JSON.stringify({vendor, endpoint, name, access_key_id, - secret_access_key, tags}); + secret_access_key, tags, + ...(region && {region}) + }); obj.bucket_credential = encrypt(s3Data); break; case 'google':