Merge pull request #2574 from akhilmhdh/feat/sync-on-shared-sec

feat: only do sync secret and snapshot if its shared secret change
This commit is contained in:
Akhil Mohan
2024-10-15 18:25:20 +05:30
committed by GitHub
2 changed files with 62 additions and 49 deletions
@@ -193,14 +193,16 @@ export const secretV2BridgeServiceFactory = ({
}) })
); );
await snapshotService.performSnapshot(folderId); if (inputSecret.type === SecretType.Shared) {
await secretQueueService.syncSecrets({ await snapshotService.performSnapshot(folderId);
secretPath, await secretQueueService.syncSecrets({
actorId, secretPath,
actor, actorId,
projectId, actor,
environmentSlug: folder.environment.slug projectId,
}); environmentSlug: folder.environment.slug
});
}
return reshapeBridgeSecret(projectId, environment, secretPath, { return reshapeBridgeSecret(projectId, environment, secretPath, {
...secret[0], ...secret[0],
@@ -349,14 +351,17 @@ export const secretV2BridgeServiceFactory = ({
projectId projectId
}); });
await snapshotService.performSnapshot(folderId); if (inputSecret.type === SecretType.Shared) {
await secretQueueService.syncSecrets({ await snapshotService.performSnapshot(folderId);
actor, await secretQueueService.syncSecrets({
actorId, secretPath,
secretPath, actorId,
projectId, actor,
environmentSlug: folder.environment.slug projectId,
}); environmentSlug: folder.environment.slug
});
}
return reshapeBridgeSecret(projectId, environment, secretPath, { return reshapeBridgeSecret(projectId, environment, secretPath, {
...updatedSecret[0], ...updatedSecret[0],
value: inputSecret.secretValue || "", value: inputSecret.secretValue || "",
@@ -427,14 +432,16 @@ export const secretV2BridgeServiceFactory = ({
}) })
); );
await snapshotService.performSnapshot(folderId); if (inputSecret.type === SecretType.Shared) {
await secretQueueService.syncSecrets({ await snapshotService.performSnapshot(folderId);
actor, await secretQueueService.syncSecrets({
actorId, secretPath,
secretPath, actorId,
projectId, actor,
environmentSlug: folder.environment.slug projectId,
}); environmentSlug: folder.environment.slug
});
}
const { decryptor: secretManagerDecryptor } = await kmsService.createCipherPairWithDataKey({ const { decryptor: secretManagerDecryptor } = await kmsService.createCipherPairWithDataKey({
type: KmsDataKey.SecretManager, type: KmsDataKey.SecretManager,
+31 -25
View File
@@ -264,14 +264,16 @@ export const secretServiceFactory = ({
}) })
); );
await snapshotService.performSnapshot(folderId); if (inputSecret.type === SecretType.Shared) {
await secretQueueService.syncSecrets({ await snapshotService.performSnapshot(folderId);
secretPath: path, await secretQueueService.syncSecrets({
actorId, secretPath: path,
actor, actorId,
projectId, actor,
environmentSlug: folder.environment.slug projectId,
}); environmentSlug: folder.environment.slug
});
}
return { ...secret[0], environment, workspace: projectId, tags, secretPath: path }; return { ...secret[0], environment, workspace: projectId, tags, secretPath: path };
}; };
@@ -399,14 +401,16 @@ export const secretServiceFactory = ({
}) })
); );
await snapshotService.performSnapshot(folderId); if (inputSecret.type === SecretType.Shared) {
await secretQueueService.syncSecrets({ await snapshotService.performSnapshot(folderId);
actor, await secretQueueService.syncSecrets({
actorId, secretPath: path,
secretPath: path, actorId,
projectId, actor,
environmentSlug: folder.environment.slug projectId,
}); environmentSlug: folder.environment.slug
});
}
return { ...updatedSecret[0], workspace: projectId, environment, secretPath: path }; return { ...updatedSecret[0], workspace: projectId, environment, secretPath: path };
}; };
@@ -474,15 +478,17 @@ export const secretServiceFactory = ({
}) })
); );
await snapshotService.performSnapshot(folderId); if (inputSecret.type === SecretType.Shared) {
await secretQueueService.syncSecrets({ await snapshotService.performSnapshot(folderId);
actor, await secretQueueService.syncSecrets({
actorId, secretPath: path,
secretPath: path, actorId,
projectId, actor,
environmentSlug: folder.environment.slug projectId,
}); environmentSlug: folder.environment.slug
// TODO(akhilmhdh-pg): license check, posthog service and snapshot });
}
return { ...deletedSecret[0], _id: deletedSecret[0].id, workspace: projectId, environment, secretPath: path }; return { ...deletedSecret[0], _id: deletedSecret[0].id, workspace: projectId, environment, secretPath: path };
}; };