mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-08 20:28:16 +00:00
Fix: Silent integration errors
This commit is contained in:
@@ -557,6 +557,8 @@ const syncSecretsAWSParameterStore = async ({
|
|||||||
`AWS Parameter Store Error [integration=${integration.id}]: double check AWS account permissions (refer to the Infisical docs)`
|
`AWS Parameter Store Error [integration=${integration.id}]: double check AWS account permissions (refer to the Infisical docs)`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -603,7 +605,9 @@ const syncSecretsAWSSecretManager = async ({
|
|||||||
}) => {
|
}) => {
|
||||||
const metadata = z.record(z.any()).parse(integration.metadata || {});
|
const metadata = z.record(z.any()).parse(integration.metadata || {});
|
||||||
|
|
||||||
if (!accessId) return;
|
if (!accessId) {
|
||||||
|
throw new Error("AWS access ID is required");
|
||||||
|
}
|
||||||
|
|
||||||
const secretsManager = new SecretsManagerClient({
|
const secretsManager = new SecretsManagerClient({
|
||||||
region: integration.region as string,
|
region: integration.region as string,
|
||||||
@@ -722,7 +726,7 @@ const syncSecretsAWSSecretManager = async ({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// case when AWS manager can't find the specified secret
|
// case 1: when AWS manager can't find the specified secret
|
||||||
if (err instanceof ResourceNotFoundException && secretsManager) {
|
if (err instanceof ResourceNotFoundException && secretsManager) {
|
||||||
await secretsManager.send(
|
await secretsManager.send(
|
||||||
new CreateSecretCommand({
|
new CreateSecretCommand({
|
||||||
@@ -734,6 +738,9 @@ const syncSecretsAWSSecretManager = async ({
|
|||||||
: []
|
: []
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
// case 2: something unexpected went wrong, so we'll throw the error to reflect the error in the integration sync status
|
||||||
|
} else {
|
||||||
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -753,14 +760,12 @@ const syncSecretsAWSSecretManager = async ({
|
|||||||
const syncSecretsHeroku = async ({
|
const syncSecretsHeroku = async ({
|
||||||
createManySecretsRawFn,
|
createManySecretsRawFn,
|
||||||
updateManySecretsRawFn,
|
updateManySecretsRawFn,
|
||||||
integrationDAL,
|
|
||||||
integration,
|
integration,
|
||||||
secrets,
|
secrets,
|
||||||
accessToken
|
accessToken
|
||||||
}: {
|
}: {
|
||||||
createManySecretsRawFn: (params: TCreateManySecretsRawFn) => Promise<Array<TSecrets & { _id: string }>>;
|
createManySecretsRawFn: (params: TCreateManySecretsRawFn) => Promise<Array<TSecrets & { _id: string }>>;
|
||||||
updateManySecretsRawFn: (params: TUpdateManySecretsRawFn) => Promise<Array<TSecrets & { _id: string }>>;
|
updateManySecretsRawFn: (params: TUpdateManySecretsRawFn) => Promise<Array<TSecrets & { _id: string }>>;
|
||||||
integrationDAL: Pick<TIntegrationDALFactory, "updateById">;
|
|
||||||
integration: TIntegrations & {
|
integration: TIntegrations & {
|
||||||
projectId: string;
|
projectId: string;
|
||||||
environment: {
|
environment: {
|
||||||
@@ -862,10 +867,6 @@ const syncSecretsHeroku = async ({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
await integrationDAL.updateById(integration.id, {
|
|
||||||
lastUsed: new Date()
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2656,7 +2657,9 @@ const syncSecretsHashiCorpVault = async ({
|
|||||||
accessId: string | null;
|
accessId: string | null;
|
||||||
accessToken: string;
|
accessToken: string;
|
||||||
}) => {
|
}) => {
|
||||||
if (!accessId) return;
|
if (!accessId) {
|
||||||
|
throw new Error("Access ID is required");
|
||||||
|
}
|
||||||
|
|
||||||
interface LoginAppRoleRes {
|
interface LoginAppRoleRes {
|
||||||
auth: {
|
auth: {
|
||||||
@@ -3521,7 +3524,6 @@ export const syncIntegrationSecrets = async ({
|
|||||||
await syncSecretsHeroku({
|
await syncSecretsHeroku({
|
||||||
createManySecretsRawFn,
|
createManySecretsRawFn,
|
||||||
updateManySecretsRawFn,
|
updateManySecretsRawFn,
|
||||||
integrationDAL,
|
|
||||||
integration,
|
integration,
|
||||||
secrets,
|
secrets,
|
||||||
accessToken
|
accessToken
|
||||||
|
|||||||
Reference in New Issue
Block a user