Merge pull request #3005 from Infisical/parameter-store-error-message-improvement

Improvement: Add Secret Key to AWS Parameter Store Integreation Sync Error
This commit is contained in:
Scott Wilson
2025-01-17 11:56:31 -08:00
committed by GitHub
@@ -932,15 +932,22 @@ const syncSecretsAWSParameterStore = async ({
logger.info( logger.info(
`getIntegrationSecrets: create secret in AWS SSM for [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}]` `getIntegrationSecrets: create secret in AWS SSM for [projectId=${projectId}] [environment=${integration.environment.slug}] [secretPath=${integration.secretPath}]`
); );
await ssm
.putParameter({ try {
Name: `${integration.path}${key}`, await ssm
Type: "SecureString", .putParameter({
Value: secrets[key].value, Name: `${integration.path}${key}`,
...(metadata.kmsKeyId && { KeyId: metadata.kmsKeyId }), Type: "SecureString",
Overwrite: true Value: secrets[key].value,
}) ...(metadata.kmsKeyId && { KeyId: metadata.kmsKeyId }),
.promise(); Overwrite: true
})
.promise();
} catch (error) {
(error as { secretKey: string }).secretKey = key;
throw error;
}
if (metadata.secretAWSTag?.length) { if (metadata.secretAWSTag?.length) {
try { try {
await ssm await ssm
@@ -987,15 +994,20 @@ const syncSecretsAWSParameterStore = async ({
// we ensure that the KMS key configured in the integration is applied for ALL parameters on AWS // we ensure that the KMS key configured in the integration is applied for ALL parameters on AWS
if (secrets[key].value && (shouldUpdateKms || awsParameterStoreSecretsObj[key].Value !== secrets[key].value)) { if (secrets[key].value && (shouldUpdateKms || awsParameterStoreSecretsObj[key].Value !== secrets[key].value)) {
await ssm try {
.putParameter({ await ssm
Name: `${integration.path}${key}`, .putParameter({
Type: "SecureString", Name: `${integration.path}${key}`,
Value: secrets[key].value, Type: "SecureString",
Overwrite: true, Value: secrets[key].value,
...(metadata.kmsKeyId && { KeyId: metadata.kmsKeyId }) Overwrite: true,
}) ...(metadata.kmsKeyId && { KeyId: metadata.kmsKeyId })
.promise(); })
.promise();
} catch (error) {
(error as { secretKey: string }).secretKey = key;
throw error;
}
} }
if (awsParameterStoreSecretsObj[key].Name) { if (awsParameterStoreSecretsObj[key].Name) {