feat(integrations): aws secrets manager prefix support

This commit is contained in:
Daniel Hougaard
2024-09-16 15:36:41 +04:00
parent 1ecce285f0
commit 8a33f1a591
2 changed files with 34 additions and 4 deletions
@@ -1006,12 +1006,28 @@ const syncSecretsAWSSecretManager = async ({
}
};
let secretsToProcess: Record<string, { value: string; comment?: string }> = {};
if (metadata && metadata.secretPrefix) {
const { secretPrefix } = metadata;
// Update each secret to have the secret prefix
Object.keys(secrets).forEach((key) => {
if (key.startsWith(secretPrefix)) {
secretsToProcess[key] = secrets[key];
} else {
secretsToProcess[`${secretPrefix}${key}`] = secrets[key];
}
});
} else {
secretsToProcess = secrets;
}
if (metadata.mappingBehavior === IntegrationMappingBehavior.ONE_TO_ONE) {
for await (const [key, value] of Object.entries(secrets)) {
for await (const [key, value] of Object.entries(secretsToProcess)) {
await processAwsSecret(key, value.value);
}
} else {
await processAwsSecret(integration.app as string, getSecretKeyValuePair(secrets));
await processAwsSecret(integration.app as string, getSecretKeyValuePair(secretsToProcess));
}
};