diff --git a/backend/src/integrations/sync.ts b/backend/src/integrations/sync.ts index 48305c759..6f2d8a818 100644 --- a/backend/src/integrations/sync.ts +++ b/backend/src/integrations/sync.ts @@ -61,15 +61,13 @@ const syncSecrets = async ({ integrationAuth, secrets, accessId, - accessToken, - secretGroupID + accessToken }: { integration: IIntegration; integrationAuth: IIntegrationAuth; secrets: any; accessId: string | null; accessToken: string; - secretGroupID?: string; }) => { switch (integration.integration) { case INTEGRATION_AZURE_KEY_VAULT: @@ -210,8 +208,7 @@ const syncSecrets = async ({ await syncSecretsNorthflank({ integration, secrets, - accessToken, - secretGroupID + accessToken }); break; } @@ -1957,13 +1954,11 @@ const syncSecretsCloudflarePages = async ({ const syncSecretsNorthflank = async ({ integration, secrets, - accessToken, - secretGroupID + accessToken }: { integration: IIntegration; secrets: any; accessToken: string; - secretGroupID?: string; }) => { const modifiedFormatForSecretInjection = { @@ -1973,7 +1968,7 @@ const syncSecretsNorthflank = async ({ } await standardRequest.post( - `${INTEGRATION_NORTHFLANK_API_URL}/v1/projects/${integration.appId}/secrets/${secretGroupID}`, + `${INTEGRATION_NORTHFLANK_API_URL}/v1/projects/${integration.appId}/secrets/${integration.secretGroup}`, modifiedFormatForSecretInjection, { headers: { diff --git a/backend/src/models/integration.ts b/backend/src/models/integration.ts index d5cbe01af..a11fe688c 100644 --- a/backend/src/models/integration.ts +++ b/backend/src/models/integration.ts @@ -37,6 +37,7 @@ export interface IIntegration { path: string; region: string; secretPath: string; + secretGroup: string; integration: | "azure-key-vault" | "aws-parameter-store" @@ -160,6 +161,10 @@ const integrationSchema = new Schema( required: true, default: "/", }, + secretGroup: { + type: String, + default: null, + }, }, { timestamps: true, diff --git a/frontend/src/pages/api/integrations/createIntegration.ts b/frontend/src/pages/api/integrations/createIntegration.ts index a7bca1118..78e463f49 100644 --- a/frontend/src/pages/api/integrations/createIntegration.ts +++ b/frontend/src/pages/api/integrations/createIntegration.ts @@ -4,6 +4,7 @@ interface Props { integrationAuthId: string; isActive: boolean; secretPath: string; + secretGroup: string; app: string | null; appId: string | null; sourceEnvironment: string; @@ -34,7 +35,8 @@ const createIntegration = ({ owner, path, region, - secretPath + secretPath, + secretGroup }: Props) => SecurityClient.fetchCall("/api/v1/integration", { method: "POST", @@ -54,7 +56,8 @@ const createIntegration = ({ owner, path, region, - secretPath + secretPath, + secretGroup }) }).then(async (res) => { if (res && res.status === 200) { diff --git a/frontend/src/pages/integrations/northflank/create.tsx b/frontend/src/pages/integrations/northflank/create.tsx index e8fd69e7a..d6c0d8905 100644 --- a/frontend/src/pages/integrations/northflank/create.tsx +++ b/frontend/src/pages/integrations/northflank/create.tsx @@ -86,7 +86,8 @@ export default function NorthflankCreateIntegrationPage() { owner: null, path: null, region: null, - secretPath + secretPath, + secretGroup: targetSecretGroup }); setIsLoading(false);