From 305823db001d7304cee2932eb99b57dfb178c742 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Wed, 11 Jan 2023 09:29:59 +0100 Subject: [PATCH] fix: secrets --- apps/api/src/lib/common.ts | 59 +++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 32 deletions(-) diff --git a/apps/api/src/lib/common.ts b/apps/api/src/lib/common.ts index b39be7c1d..049c24e5f 100644 --- a/apps/api/src/lib/common.ts +++ b/apps/api/src/lib/common.ts @@ -1884,6 +1884,30 @@ export async function pushToRegistry( }); } +function parseSecret(secret, isBuild) { + if (secret.value.includes('$')) { + secret.value = secret.value.replaceAll('$', '$$$$'); + } + if (secret.value.includes('\\n')) { + if (isBuild) { + return `ARG ${secret.name}=${secret.value}`; + } else { + return `${secret.name}=${secret.value}`; + } + } else if (secret.value.includes(' ')) { + if (isBuild) { + return `ARG ${secret.name}='${secret.value}'`; + } else { + return `${secret.name}='${secret.value}'`; + } + } else { + if (isBuild) { + return `ARG ${secret.name}=${secret.value}`; + } else { + return `${secret.name}=${secret.value}`; + } + } +} export function generateSecrets( secrets: Array, pullmergeRequestId: string, @@ -1899,22 +1923,7 @@ export function generateSecrets( return; } const build = isBuild && secret.isBuildSecret; - if (secret.value.includes('$')) { - secret.value = secret.value.replaceAll('$', '$$$$'); - } - if (secret.value.includes(' ') || secret.value.includes('\\n')) { - if (build) { - envs.push(`ARG ${secret.name}='${secret.value}'`); - } else { - envs.push(`${secret.name}='${secret.value}'`); - } - } else { - if (build) { - envs.push(`ARG ${secret.name}=${secret.value}`); - } else { - envs.push(`${secret.name}=${secret.value}`); - } - } + envs.push(parseSecret(secret, build)); }); } if (!pullmergeRequestId && normalSecrets.length > 0) { @@ -1922,25 +1931,11 @@ export function generateSecrets( if (isBuild && !secret.isBuildSecret) { return; } - if (secret.value.includes('$')) { - secret.value = secret.value.replaceAll('$', '$$$$'); - } const build = isBuild && secret.isBuildSecret; - if (secret.value.includes(' ') || secret.value.includes('\\n')) { - if (build) { - envs.push(`ARG ${secret.name}='${secret.value}'`); - } else { - envs.push(`${secret.name}='${secret.value}'`); - } - } else { - if (build) { - envs.push(`ARG ${secret.name}=${secret.value}`); - } else { - envs.push(`${secret.name}=${secret.value}`); - } - } + envs.push(parseSecret(secret, build)); }); } + console.log(envs); const portFound = envs.filter((env) => env.startsWith('PORT')); if (portFound.length === 0 && port && !isBuild) { envs.push(`PORT=${port}`);