Revise Northflank integration

This commit is contained in:
Tuan Dang
2023-07-27 14:52:52 +07:00
parent bc9d6253be
commit 980a578bd5
12 changed files with 232 additions and 117 deletions
+3 -28
View File
@@ -877,7 +877,8 @@ const getAppsBitBucket = async ({
});
return apps;
}
/* Return list of projects for Northflank integration
/** Return list of projects for Northflank integration
* @param {Object} obj
* @param {String} obj.accessToken - access token for Northflank API
* @returns {Object[]} apps - names of Northflank apps
@@ -903,36 +904,10 @@ const getAppsNorthflank = async ({ accessToken }: { accessToken: string }) => {
const apps = projects.map((a: any) => {
return {
name: a.name,
appId: a.id,
secretGroups: []
appId: a.id
};
});
for (let i = 0; i < apps.length; i++) {
const appName = apps[i].name;
const {
data: {
data: {
secrets
}
}
} = await standardRequest.get(
`${INTEGRATION_NORTHFLANK_API_URL}/v1/projects/${appName}/secrets`,
{
headers: {
Authorization: `Bearer ${accessToken}`,
"Accept-Encoding": "application/json",
},
}
);
const secretGroups = secrets.map((a: any) => {
return a.id
});
apps[i].secretGroups = secretGroups
}
return apps;
};
+8 -11
View File
@@ -2375,7 +2375,7 @@ const syncSecretsCloud66 = async ({
}
};
/* Sync/push [secrets] to Northflank
/** Sync/push [secrets] to Northflank
* @param {Object} obj
* @param {IIntegration} obj.integration - integration details
* @param {Object} obj.secrets - secrets to push to integration (object where keys are secret keys and values are secret values)
@@ -2390,16 +2390,13 @@ const syncSecretsNorthflank = async ({
secrets: any;
accessToken: string;
}) => {
const modifiedFormatForSecretInjection = {
secrets: {
variables: secrets
}
}
await standardRequest.post(
`${INTEGRATION_NORTHFLANK_API_URL}/v1/projects/${integration.appId}/secrets/${integration.secretGroup}`,
modifiedFormatForSecretInjection,
await standardRequest.patch(
`${INTEGRATION_NORTHFLANK_API_URL}/v1/projects/${integration.appId}/secrets/${integration.targetServiceId}`,
{
secrets: {
variables: secrets
}
},
{
headers: {
Authorization: `Bearer ${accessToken}`,