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,6 +193,7 @@ export const secretV2BridgeServiceFactory = ({
}) })
); );
if (inputSecret.type === SecretType.Shared) {
await snapshotService.performSnapshot(folderId); await snapshotService.performSnapshot(folderId);
await secretQueueService.syncSecrets({ await secretQueueService.syncSecrets({
secretPath, secretPath,
@@ -201,6 +202,7 @@ export const secretV2BridgeServiceFactory = ({
projectId, projectId,
environmentSlug: folder.environment.slug 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
}); });
if (inputSecret.type === SecretType.Shared) {
await snapshotService.performSnapshot(folderId); await snapshotService.performSnapshot(folderId);
await secretQueueService.syncSecrets({ await secretQueueService.syncSecrets({
actor,
actorId,
secretPath, secretPath,
actorId,
actor,
projectId, projectId,
environmentSlug: folder.environment.slug 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 = ({
}) })
); );
if (inputSecret.type === SecretType.Shared) {
await snapshotService.performSnapshot(folderId); await snapshotService.performSnapshot(folderId);
await secretQueueService.syncSecrets({ await secretQueueService.syncSecrets({
actor,
actorId,
secretPath, secretPath,
actorId,
actor,
projectId, projectId,
environmentSlug: folder.environment.slug environmentSlug: folder.environment.slug
}); });
}
const { decryptor: secretManagerDecryptor } = await kmsService.createCipherPairWithDataKey({ const { decryptor: secretManagerDecryptor } = await kmsService.createCipherPairWithDataKey({
type: KmsDataKey.SecretManager, type: KmsDataKey.SecretManager,
+11 -5
View File
@@ -264,6 +264,7 @@ export const secretServiceFactory = ({
}) })
); );
if (inputSecret.type === SecretType.Shared) {
await snapshotService.performSnapshot(folderId); await snapshotService.performSnapshot(folderId);
await secretQueueService.syncSecrets({ await secretQueueService.syncSecrets({
secretPath: path, secretPath: path,
@@ -272,6 +273,7 @@ export const secretServiceFactory = ({
projectId, projectId,
environmentSlug: folder.environment.slug 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 = ({
}) })
); );
if (inputSecret.type === SecretType.Shared) {
await snapshotService.performSnapshot(folderId); await snapshotService.performSnapshot(folderId);
await secretQueueService.syncSecrets({ await secretQueueService.syncSecrets({
actor,
actorId,
secretPath: path, secretPath: path,
actorId,
actor,
projectId, projectId,
environmentSlug: folder.environment.slug 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 = ({
}) })
); );
if (inputSecret.type === SecretType.Shared) {
await snapshotService.performSnapshot(folderId); await snapshotService.performSnapshot(folderId);
await secretQueueService.syncSecrets({ await secretQueueService.syncSecrets({
actor,
actorId,
secretPath: path, secretPath: path,
actorId,
actor,
projectId, projectId,
environmentSlug: folder.environment.slug 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 };
}; };