From 36a5f728a1031c7aad31c06e75bb27a6b0ed9277 Mon Sep 17 00:00:00 2001 From: Sheen Capadngan Date: Sat, 11 Jan 2025 00:00:17 +0800 Subject: [PATCH] misc: add secret key indicator for failed AWS integration syncs --- .../integration-auth/integration-sync-secret.ts | 5 ++++- backend/src/services/secret/secret-queue.ts | 10 +++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/backend/src/services/integration-auth/integration-sync-secret.ts b/backend/src/services/integration-auth/integration-sync-secret.ts index 1446bb44f..8d9ca0d3a 100644 --- a/backend/src/services/integration-auth/integration-sync-secret.ts +++ b/backend/src/services/integration-auth/integration-sync-secret.ts @@ -1289,7 +1289,10 @@ const syncSecretsAWSSecretManager = async ({ if (metadata.mappingBehavior === IntegrationMappingBehavior.ONE_TO_ONE) { for await (const [key, value] of Object.entries(secrets)) { - await processAwsSecret(key, value.value, value.secretMetadata); + await processAwsSecret(key, value.value, value.secretMetadata).catch((error) => { + error.secretKey = key; + throw error; + }); } } else { await processAwsSecret(integration.app as string, getSecretKeyValuePair(secrets)); diff --git a/backend/src/services/secret/secret-queue.ts b/backend/src/services/secret/secret-queue.ts index 8bb1e03d2..661da2362 100644 --- a/backend/src/services/secret/secret-queue.ts +++ b/backend/src/services/secret/secret-queue.ts @@ -971,6 +971,8 @@ export const secretQueueFactory = ({ }); } + const { secretKey } = (err as { secretKey: string }) || {}; + const message = // eslint-disable-next-line no-nested-ternary (err instanceof AxiosError @@ -979,6 +981,8 @@ export const secretQueueFactory = ({ : err?.message : (err as Error)?.message) || "Unknown error occurred."; + const errorLog = `${secretKey ? `[Secret Key: ${secretKey}] ` : ""}${message}`; + await auditLogService.createAuditLog({ projectId, actor: await $generateActor(actorId, isManual), @@ -989,7 +993,7 @@ export const secretQueueFactory = ({ isSynced: false, lastSyncJobId: job?.id ?? "", lastUsed: new Date(), - syncMessage: message + syncMessage: errorLog } } }); @@ -1001,13 +1005,13 @@ export const secretQueueFactory = ({ await integrationDAL.updateById(integration.id, { lastSyncJobId: job.id, - syncMessage: message, + syncMessage: errorLog, isSynced: false }); integrationsFailedToSync.push({ integrationId: integration.id, - syncMessage: message + syncMessage: errorLog }); } }