diff --git a/apps/api/package.json b/apps/api/package.json index 5c4f7e1d7..59d0c1855 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -39,7 +39,6 @@ "dayjs": "1.11.6", "dockerode": "3.3.4", "dotenv-extended": "2.9.0", - "escape-string-regexp": "5.0.0", "execa": "6.1.0", "fastify": "4.10.2", "fastify-plugin": "4.3.0", diff --git a/apps/api/src/jobs/deployApplication.ts b/apps/api/src/jobs/deployApplication.ts index 9d0cb98cc..c43b63bec 100644 --- a/apps/api/src/jobs/deployApplication.ts +++ b/apps/api/src/jobs/deployApplication.ts @@ -56,7 +56,6 @@ import * as buildpacks from '../lib/buildPacks'; for (const queueBuild of queuedBuilds) { actions.push(async () => { - const { default: escapeStringRegexp } = await import('escape-string-regexp'); let application = await prisma.application.findUnique({ where: { id: queueBuild.applicationId }, include: { @@ -141,7 +140,7 @@ import * as buildpacks from '../lib/buildPacks'; } catch (error) { // } - const envs = [`PORT=${port}`]; + const envs = [`PORT='${port}'`]; if (secrets.length > 0) { secrets.forEach((secret) => { if (pullmergeRequestId) { @@ -149,25 +148,13 @@ import * as buildpacks from '../lib/buildPacks'; (s) => s.name === secret.name && s.isPRMRSecret ); if (isSecretFound.length > 0) { - envs.push( - `${secret.name}="${escapeStringRegexp( - isSecretFound[0].value.replace(/[\\$'"]/g, '\\$&') - )}"` - ); + envs.push(`${secret.name}='${isSecretFound[0].value}'`); } else { - envs.push( - `${secret.name}="${escapeStringRegexp( - secret.value.replace(/[\\$'"]/g, '\\$&') - )}"` - ); + envs.push(`${secret.name}='${secret.value}'`); } } else { if (!secret.isPRMRSecret) { - envs.push( - `${secret.name}="${escapeStringRegexp( - secret.value.replace(/[\\$'"]/g, '\\$&') - )}"` - ); + envs.push(`${secret.name}='${secret.value}'`); } } }); @@ -544,7 +531,6 @@ import * as buildpacks from '../lib/buildPacks'; applicationId, baseImage ); - console.log({ secrets }); const labels = makeLabelForStandaloneApplication({ applicationId, fqdn, @@ -711,7 +697,7 @@ import * as buildpacks from '../lib/buildPacks'; } catch (error) { // } - const envs = [`PORT=${port}`]; + const envs = [`PORT='${port}'`]; if (secrets.length > 0) { secrets.forEach((secret) => { if (pullmergeRequestId) { @@ -719,18 +705,18 @@ import * as buildpacks from '../lib/buildPacks'; (s) => s.name === secret.name && s.isPRMRSecret ); if (isSecretFound.length > 0) { - envs.push(`${secret.name}=${isSecretFound[0].value}`); + envs.push(`${secret.name}='${isSecretFound[0].value}'`); } else { - envs.push(`${secret.name}=${secret.value}`); + envs.push(`${secret.name}='${secret.value}'`); } } else { if (!secret.isPRMRSecret) { - envs.push(`${secret.name}=${secret.value}`); + envs.push(`${secret.name}='${secret.value}'`); } } }); } - console.log({ envs }); + console.log('hello'); await fs.writeFile(`${workdir}/.env`, envs.join('\n')); if (dockerRegistry) { const { url, username, password } = dockerRegistry; diff --git a/apps/api/src/lib/buildPacks/common.ts b/apps/api/src/lib/buildPacks/common.ts index eb8b473bc..3eabbdcc2 100644 --- a/apps/api/src/lib/buildPacks/common.ts +++ b/apps/api/src/lib/buildPacks/common.ts @@ -1,17 +1,6 @@ -import { - base64Encode, - decrypt, - encrypt, - executeCommand, - generateTimestamp, - getDomain, - isARM, - isDev, - prisma, - version -} from '../common'; +import { base64Encode, decrypt, encrypt, executeCommand, generateTimestamp, getDomain, isARM, isDev, prisma, version } from "../common"; import { promises as fs } from 'fs'; -import { day } from '../dayjs'; +import { day } from "../dayjs"; const staticApps = ['static', 'react', 'vuejs', 'svelte', 'gatsby', 'astro', 'eleventy']; const nodeBased = [ @@ -28,10 +17,7 @@ const nodeBased = [ 'nextjs' ]; -export function setDefaultBaseImage( - buildPack: string | null, - deploymentType: string | null = null -) { +export function setDefaultBaseImage(buildPack: string | null, deploymentType: string | null = null) { const nodeVersions = [ { value: 'node:lts', @@ -330,8 +316,8 @@ export function setDefaultBaseImage( { value: 'heroku/builder-classic:22', label: 'heroku/builder-classic:22' - } - ]; + }, + ] let payload: any = { baseImage: null, baseBuildImage: null, @@ -341,9 +327,7 @@ export function setDefaultBaseImage( if (nodeBased.includes(buildPack)) { if (deploymentType === 'static') { payload.baseImage = isARM(process.arch) ? 'nginx:alpine' : 'webdevops/nginx:alpine'; - payload.baseImages = isARM(process.arch) - ? staticVersions.filter((version) => !version.value.includes('webdevops')) - : staticVersions; + payload.baseImages = isARM(process.arch) ? staticVersions.filter((version) => !version.value.includes('webdevops')) : staticVersions; payload.baseBuildImage = 'node:lts'; payload.baseBuildImages = nodeVersions; } else { @@ -355,9 +339,7 @@ export function setDefaultBaseImage( } if (staticApps.includes(buildPack)) { payload.baseImage = isARM(process.arch) ? 'nginx:alpine' : 'webdevops/nginx:alpine'; - payload.baseImages = isARM(process.arch) - ? staticVersions.filter((version) => !version.value.includes('webdevops')) - : staticVersions; + payload.baseImages = isARM(process.arch) ? staticVersions.filter((version) => !version.value.includes('webdevops')) : staticVersions; payload.baseBuildImage = 'node:lts'; payload.baseBuildImages = nodeVersions; } @@ -375,20 +357,12 @@ export function setDefaultBaseImage( payload.baseImage = 'denoland/deno:latest'; } if (buildPack === 'php') { - payload.baseImage = isARM(process.arch) - ? 'php:8.1-fpm-alpine' - : 'webdevops/php-apache:8.2-alpine'; - payload.baseImages = isARM(process.arch) - ? phpVersions.filter((version) => !version.value.includes('webdevops')) - : phpVersions; + payload.baseImage = isARM(process.arch) ? 'php:8.1-fpm-alpine' : 'webdevops/php-apache:8.2-alpine'; + payload.baseImages = isARM(process.arch) ? phpVersions.filter((version) => !version.value.includes('webdevops')) : phpVersions } if (buildPack === 'laravel') { - payload.baseImage = isARM(process.arch) - ? 'php:8.1-fpm-alpine' - : 'webdevops/php-apache:8.2-alpine'; - payload.baseImages = isARM(process.arch) - ? phpVersions.filter((version) => !version.value.includes('webdevops')) - : phpVersions; + payload.baseImage = isARM(process.arch) ? 'php:8.1-fpm-alpine' : 'webdevops/php-apache:8.2-alpine'; + payload.baseImages = isARM(process.arch) ? phpVersions.filter((version) => !version.value.includes('webdevops')) : phpVersions payload.baseBuildImage = 'node:18'; payload.baseBuildImages = nodeVersions; } @@ -431,8 +405,7 @@ export const setDefaultConfiguration = async (data: any) => { if (!publishDirectory) publishDirectory = template?.publishDirectory || null; if (baseDirectory) { if (!baseDirectory.startsWith('/')) baseDirectory = `/${baseDirectory}`; - if (baseDirectory.endsWith('/') && baseDirectory !== '/') - baseDirectory = baseDirectory.slice(0, -1); + if (baseDirectory.endsWith('/') && baseDirectory !== '/') baseDirectory = baseDirectory.slice(0, -1); } if (dockerFileLocation) { if (!dockerFileLocation.startsWith('/')) dockerFileLocation = `/${dockerFileLocation}`; @@ -441,10 +414,8 @@ export const setDefaultConfiguration = async (data: any) => { dockerFileLocation = '/Dockerfile'; } if (dockerComposeFileLocation) { - if (!dockerComposeFileLocation.startsWith('/')) - dockerComposeFileLocation = `/${dockerComposeFileLocation}`; - if (dockerComposeFileLocation.endsWith('/')) - dockerComposeFileLocation = dockerComposeFileLocation.slice(0, -1); + if (!dockerComposeFileLocation.startsWith('/')) dockerComposeFileLocation = `/${dockerComposeFileLocation}`; + if (dockerComposeFileLocation.endsWith('/')) dockerComposeFileLocation = dockerComposeFileLocation.slice(0, -1); } else { dockerComposeFileLocation = '/Dockerfile'; } @@ -508,6 +479,7 @@ export const scanningTemplates = { } }; + export const saveBuildLog = async ({ line, buildId, @@ -519,7 +491,7 @@ export const saveBuildLog = async ({ }): Promise => { if (buildId === 'undefined' || buildId === 'null' || !buildId) return; if (applicationId === 'undefined' || applicationId === 'null' || !applicationId) return; - const { default: got } = await import('got'); + const { default: got } = await import('got') if (typeof line === 'object' && line) { if (line.shortMessage) { line = line.shortMessage + '\n' + line.stderr; @@ -532,11 +504,7 @@ export const saveBuildLog = async ({ line = line.replace(regex, '@'); } const addTimestamp = `[${generateTimestamp()}] ${line}`; - const fluentBitUrl = isDev - ? process.env.COOLIFY_CONTAINER_DEV === 'true' - ? 'http://coolify-fluentbit:24224' - : 'http://localhost:24224' - : 'http://coolify-fluentbit:24224'; + const fluentBitUrl = isDev ? process.env.COOLIFY_CONTAINER_DEV === 'true' ? 'http://coolify-fluentbit:24224' : 'http://localhost:24224' : 'http://coolify-fluentbit:24224'; if (isDev && !process.env.COOLIFY_CONTAINER_DEV) { console.debug(`[${applicationId}] ${addTimestamp}`); @@ -546,17 +514,15 @@ export const saveBuildLog = async ({ json: { line: encrypt(line) } - }); + }) } catch (error) { return await prisma.buildLog.create({ data: { - line: addTimestamp, - buildId, - time: Number(day().valueOf()), - applicationId + line: addTimestamp, buildId, time: Number(day().valueOf()), applicationId } }); } + }; export async function copyBaseConfigurationFiles( @@ -644,7 +610,7 @@ export function checkPnpm(installCommand = null, buildCommand = null, startComma export async function saveDockerRegistryCredentials({ url, username, password, workdir }) { if (!username || !password) { - return null; + return null } let decryptedPassword = decrypt(password); @@ -656,14 +622,14 @@ export async function saveDockerRegistryCredentials({ url, username, password, w console.log(error); } const payload = JSON.stringify({ - auths: { + "auths": { [url]: { - auth: Buffer.from(`${username}:${decryptedPassword}`).toString('base64') + "auth": Buffer.from(`${username}:${decryptedPassword}`).toString('base64') } } - }); - await fs.writeFile(`${location}/config.json`, payload); - return location; + }) + await fs.writeFile(`${location}/config.json`, payload) + return location } export async function buildImage({ applicationId, @@ -681,34 +647,22 @@ export async function buildImage({ } else { await saveBuildLog({ line: `Building production image...`, buildId, applicationId }); } - const dockerFile = isCache ? `${dockerFileLocation}-cache` : `${dockerFileLocation}`; - const cache = `${applicationId}:${tag}${isCache ? '-cache' : ''}`; + const dockerFile = isCache ? `${dockerFileLocation}-cache` : `${dockerFileLocation}` + const cache = `${applicationId}:${tag}${isCache ? '-cache' : ''}` - let location = null; + let location = null - const { dockerRegistry } = await prisma.application.findUnique({ - where: { id: applicationId }, - select: { dockerRegistry: true } - }); + const { dockerRegistry } = await prisma.application.findUnique({ where: { id: applicationId }, select: { dockerRegistry: true } }) if (dockerRegistry) { - const { url, username, password } = dockerRegistry; - location = await saveDockerRegistryCredentials({ url, username, password, workdir }); + const { url, username, password } = dockerRegistry + location = await saveDockerRegistryCredentials({ url, username, password, workdir }) } - await executeCommand({ - stream: true, - debug, - buildId, - applicationId, - dockerId, - command: `docker ${ - location ? `--config ${location}` : '' - } build --progress plain -f ${workdir}/${dockerFile} -t ${cache} --build-arg SOURCE_COMMIT=${commit} ${workdir}` - }); + await executeCommand({ stream: true, debug, buildId, applicationId, dockerId, command: `docker ${location ? `--config ${location}` : ''} build --progress plain -f ${workdir}/${dockerFile} -t ${cache} --build-arg SOURCE_COMMIT=${commit} ${workdir}` }) - const { status } = await prisma.build.findUnique({ where: { id: buildId } }); + const { status } = await prisma.build.findUnique({ where: { id: buildId } }) if (status === 'canceled') { - throw new Error('Canceled.'); + throw new Error('Canceled.') } } export function makeLabelForSimpleDockerfile({ applicationId, port, type }) { @@ -772,7 +726,6 @@ export function makeLabelForStandaloneApplication({ } export async function buildCacheImageWithNode(data, imageForBuild) { - const { default: escapeStringRegexp } = await import('escape-string-regexp'); const { workdir, buildId, @@ -791,15 +744,15 @@ export async function buildCacheImageWithNode(data, imageForBuild) { secrets.forEach((secret) => { if (secret.isBuildSecret) { if (pullmergeRequestId) { - const isSecretFound = secrets.filter((s) => s.name === secret.name && s.isPRMRSecret); + const isSecretFound = secrets.filter(s => s.name === secret.name && s.isPRMRSecret) if (isSecretFound.length > 0) { - Dockerfile.push(`ARG ${secret.name}=${escapeStringRegexp(isSecretFound[0].value)}`); + Dockerfile.push(`ARG ${secret.name}='${isSecretFound[0].value}'`); } else { - Dockerfile.push(`ARG ${secret.name}=${escapeStringRegexp(secret.value)}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } else { if (!secret.isPRMRSecret) { - Dockerfile.push(`ARG ${secret.name}=${escapeStringRegexp(secret.value)}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } } @@ -819,7 +772,6 @@ export async function buildCacheImageWithNode(data, imageForBuild) { } export async function buildCacheImageForLaravel(data, imageForBuild) { - const { default: escapeStringRegexp } = await import('escape-string-regexp'); const { workdir, buildId, secrets, pullmergeRequestId } = data; const Dockerfile: Array = []; @@ -830,15 +782,15 @@ export async function buildCacheImageForLaravel(data, imageForBuild) { secrets.forEach((secret) => { if (secret.isBuildSecret) { if (pullmergeRequestId) { - const isSecretFound = secrets.filter((s) => s.name === secret.name && s.isPRMRSecret); + const isSecretFound = secrets.filter(s => s.name === secret.name && s.isPRMRSecret) if (isSecretFound.length > 0) { - Dockerfile.push(`ARG ${secret.name}=${escapeStringRegexp(isSecretFound[0].value)}`); + Dockerfile.push(`ARG ${secret.name}='${isSecretFound[0].value}'`); } else { - Dockerfile.push(`ARG ${secret.name}=${escapeStringRegexp(secret.value)}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } else { if (!secret.isPRMRSecret) { - Dockerfile.push(`ARG ${secret.name}=${escapeStringRegexp(secret.value)}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } } @@ -852,7 +804,11 @@ export async function buildCacheImageForLaravel(data, imageForBuild) { } export async function buildCacheImageWithCargo(data, imageForBuild) { - const { applicationId, workdir, buildId } = data; + const { + applicationId, + workdir, + buildId, + } = data; const Dockerfile: Array = []; Dockerfile.push(`FROM ${imageForBuild} as planner-${applicationId}`); diff --git a/apps/api/src/lib/buildPacks/compose.ts b/apps/api/src/lib/buildPacks/compose.ts index f180630dc..bda83bd9e 100644 --- a/apps/api/src/lib/buildPacks/compose.ts +++ b/apps/api/src/lib/buildPacks/compose.ts @@ -31,13 +31,13 @@ export default async function (data) { if (pullmergeRequestId) { const isSecretFound = secrets.filter((s) => s.name === secret.name && s.isPRMRSecret); if (isSecretFound.length > 0) { - envs.push(`${secret.name}=${isSecretFound[0].value}`); + envs.push(`${secret.name}='${isSecretFound[0].value}'`); } else { - envs.push(`${secret.name}=${secret.value}`); + envs.push(`${secret.name}='${secret.value}'`); } } else { if (!secret.isPRMRSecret) { - envs.push(`${secret.name}=${secret.value}`); + envs.push(`${secret.name}='${secret.value}'`); } } }); diff --git a/apps/api/src/lib/buildPacks/deno.ts b/apps/api/src/lib/buildPacks/deno.ts index 074464445..90107e4d2 100644 --- a/apps/api/src/lib/buildPacks/deno.ts +++ b/apps/api/src/lib/buildPacks/deno.ts @@ -29,13 +29,13 @@ const createDockerfile = async (data, image): Promise => { if (pullmergeRequestId) { const isSecretFound = secrets.filter(s => s.name === secret.name && s.isPRMRSecret) if (isSecretFound.length > 0) { - Dockerfile.push(`ARG ${secret.name}=${isSecretFound[0].value}`); + Dockerfile.push(`ARG ${secret.name}='${isSecretFound[0].value}'`); } else { - Dockerfile.push(`ARG ${secret.name}=${secret.value}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } else { if (!secret.isPRMRSecret) { - Dockerfile.push(`ARG ${secret.name}=${secret.value}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } } diff --git a/apps/api/src/lib/buildPacks/docker.ts b/apps/api/src/lib/buildPacks/docker.ts index 902dd449b..9ab37e81c 100644 --- a/apps/api/src/lib/buildPacks/docker.ts +++ b/apps/api/src/lib/buildPacks/docker.ts @@ -34,7 +34,7 @@ export default async function (data) { ) { Dockerfile.forEach((line, index) => { if (line.startsWith('FROM')) { - Dockerfile.splice(index + 1, 0, `ARG ${secret.name}=${secret.value}`); + Dockerfile.splice(index + 1, 0, `ARG ${secret.name}='${secret.value}'`); } }); } diff --git a/apps/api/src/lib/buildPacks/nextjs.ts b/apps/api/src/lib/buildPacks/nextjs.ts index 90a70f89b..c7aaa9dcd 100644 --- a/apps/api/src/lib/buildPacks/nextjs.ts +++ b/apps/api/src/lib/buildPacks/nextjs.ts @@ -29,13 +29,13 @@ const createDockerfile = async (data, image): Promise => { if (pullmergeRequestId) { const isSecretFound = secrets.filter(s => s.name === secret.name && s.isPRMRSecret) if (isSecretFound.length > 0) { - Dockerfile.push(`ARG ${secret.name}=${isSecretFound[0].value}`); + Dockerfile.push(`ARG ${secret.name}='${isSecretFound[0].value}'`); } else { - Dockerfile.push(`ARG ${secret.name}=${secret.value}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } else { if (!secret.isPRMRSecret) { - Dockerfile.push(`ARG ${secret.name}=${secret.value}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } } diff --git a/apps/api/src/lib/buildPacks/node.ts b/apps/api/src/lib/buildPacks/node.ts index e73f04b47..c2e77c9f5 100644 --- a/apps/api/src/lib/buildPacks/node.ts +++ b/apps/api/src/lib/buildPacks/node.ts @@ -2,7 +2,6 @@ import { promises as fs } from 'fs'; import { buildImage, checkPnpm } from './common'; const createDockerfile = async (data, image): Promise => { - const { default: escapeStringRegexp } = await import('escape-string-regexp'); const { workdir, port, @@ -26,13 +25,13 @@ const createDockerfile = async (data, image): Promise => { if (pullmergeRequestId) { const isSecretFound = secrets.filter((s) => s.name === secret.name && s.isPRMRSecret); if (isSecretFound.length > 0) { - Dockerfile.push(`ARG ${secret.name}=${escapeStringRegexp(isSecretFound[0].value)}`); + Dockerfile.push(`ARG ${secret.name}='${isSecretFound[0].value}'`); } else { - Dockerfile.push(`ARG ${secret.name}=${escapeStringRegexp(secret.value)}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } else { if (!secret.isPRMRSecret) { - Dockerfile.push(`ARG ${secret.name}=${escapeStringRegexp(secret.value)}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } } diff --git a/apps/api/src/lib/buildPacks/nuxtjs.ts b/apps/api/src/lib/buildPacks/nuxtjs.ts index 90a70f89b..c7aaa9dcd 100644 --- a/apps/api/src/lib/buildPacks/nuxtjs.ts +++ b/apps/api/src/lib/buildPacks/nuxtjs.ts @@ -29,13 +29,13 @@ const createDockerfile = async (data, image): Promise => { if (pullmergeRequestId) { const isSecretFound = secrets.filter(s => s.name === secret.name && s.isPRMRSecret) if (isSecretFound.length > 0) { - Dockerfile.push(`ARG ${secret.name}=${isSecretFound[0].value}`); + Dockerfile.push(`ARG ${secret.name}='${isSecretFound[0].value}'`); } else { - Dockerfile.push(`ARG ${secret.name}=${secret.value}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } else { if (!secret.isPRMRSecret) { - Dockerfile.push(`ARG ${secret.name}=${secret.value}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } } diff --git a/apps/api/src/lib/buildPacks/php.ts b/apps/api/src/lib/buildPacks/php.ts index eaf97d1b1..a5e2737ac 100644 --- a/apps/api/src/lib/buildPacks/php.ts +++ b/apps/api/src/lib/buildPacks/php.ts @@ -18,13 +18,13 @@ const createDockerfile = async (data, image, htaccessFound): Promise => { if (pullmergeRequestId) { const isSecretFound = secrets.filter(s => s.name === secret.name && s.isPRMRSecret) if (isSecretFound.length > 0) { - Dockerfile.push(`ARG ${secret.name}=${isSecretFound[0].value}`); + Dockerfile.push(`ARG ${secret.name}='${isSecretFound[0].value}'`); } else { - Dockerfile.push(`ARG ${secret.name}=${secret.value}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } else { if (!secret.isPRMRSecret) { - Dockerfile.push(`ARG ${secret.name}=${secret.value}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } } diff --git a/apps/api/src/lib/buildPacks/python.ts b/apps/api/src/lib/buildPacks/python.ts index 36d707f16..3b5dfc264 100644 --- a/apps/api/src/lib/buildPacks/python.ts +++ b/apps/api/src/lib/buildPacks/python.ts @@ -23,13 +23,13 @@ const createDockerfile = async (data, image): Promise => { if (pullmergeRequestId) { const isSecretFound = secrets.filter(s => s.name === secret.name && s.isPRMRSecret) if (isSecretFound.length > 0) { - Dockerfile.push(`ARG ${secret.name}=${isSecretFound[0].value}`); + Dockerfile.push(`ARG ${secret.name}='${isSecretFound[0].value}'`); } else { - Dockerfile.push(`ARG ${secret.name}=${secret.value}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } else { if (!secret.isPRMRSecret) { - Dockerfile.push(`ARG ${secret.name}=${secret.value}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } } diff --git a/apps/api/src/lib/buildPacks/static.ts b/apps/api/src/lib/buildPacks/static.ts index 160098654..235175c7a 100644 --- a/apps/api/src/lib/buildPacks/static.ts +++ b/apps/api/src/lib/buildPacks/static.ts @@ -30,13 +30,13 @@ const createDockerfile = async (data, image): Promise => { if (pullmergeRequestId) { const isSecretFound = secrets.filter(s => s.name === secret.name && s.isPRMRSecret) if (isSecretFound.length > 0) { - Dockerfile.push(`ARG ${secret.name}=${isSecretFound[0].value}`); + Dockerfile.push(`ARG ${secret.name}='${isSecretFound[0].value}'`); } else { - Dockerfile.push(`ARG ${secret.name}=${secret.value}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } else { if (!secret.isPRMRSecret) { - Dockerfile.push(`ARG ${secret.name}=${secret.value}`); + Dockerfile.push(`ARG ${secret.name}='${secret.value}'`); } } } diff --git a/apps/api/src/routes/api/v1/applications/handlers.ts b/apps/api/src/routes/api/v1/applications/handlers.ts index f43a5c536..3e2739ec5 100644 --- a/apps/api/src/routes/api/v1/applications/handlers.ts +++ b/apps/api/src/routes/api/v1/applications/handlers.ts @@ -468,13 +468,13 @@ export async function restartApplication(request: FastifyRequest s.name === secret.name && s.isPRMRSecret) if (isSecretFound.length > 0) { - envs.push(`${secret.name}=${isSecretFound[0].value}`); + envs.push(`${secret.name}='${isSecretFound[0].value}'`); } else { - envs.push(`${secret.name}=${secret.value}`); + envs.push(`${secret.name}='${secret.value}'`); } } else { if (!secret.isPRMRSecret) { - envs.push(`${secret.name}=${secret.value}`); + envs.push(`${secret.name}='${secret.value}'`); } } }); @@ -1169,13 +1169,13 @@ export async function restartPreview(request: FastifyRequest s.name === secret.name && s.isPRMRSecret) if (isSecretFound.length > 0) { - envs.push(`${secret.name}=${isSecretFound[0].value}`); + envs.push(`${secret.name}='${isSecretFound[0].value}'`); } else { - envs.push(`${secret.name}=${secret.value}`); + envs.push(`${secret.name}='${secret.value}'`); } } else { if (!secret.isPRMRSecret) { - envs.push(`${secret.name}=${secret.value}`); + envs.push(`${secret.name}='${secret.value}'`); } } }); diff --git a/apps/server/src/trpc/routers/applications/index.ts b/apps/server/src/trpc/routers/applications/index.ts index 8ebf42869..2674bdd79 100644 --- a/apps/server/src/trpc/routers/applications/index.ts +++ b/apps/server/src/trpc/routers/applications/index.ts @@ -210,13 +210,13 @@ export const applicationsRouter = router({ if (pullmergeRequestId) { const isSecretFound = secrets.filter((s) => s.name === secret.name && s.isPRMRSecret); if (isSecretFound.length > 0) { - envs.push(`${secret.name}=${isSecretFound[0].value}`); + envs.push(`${secret.name}='${isSecretFound[0].value}'`); } else { - envs.push(`${secret.name}=${secret.value}`); + envs.push(`${secret.name}='${secret.value}'`); } } else { if (!secret.isPRMRSecret) { - envs.push(`${secret.name}=${secret.value}`); + envs.push(`${secret.name}='${secret.value}'`); } } }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2ee5d41ec..c1d1ffa5d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -43,7 +43,6 @@ importers: dockerode: 3.3.4 dotenv-extended: 2.9.0 esbuild: 0.15.15 - escape-string-regexp: 5.0.0 eslint: 8.28.0 eslint-config-prettier: 8.5.0 eslint-plugin-prettier: 4.2.1 @@ -101,7 +100,6 @@ importers: dayjs: 1.11.6 dockerode: 3.3.4 dotenv-extended: 2.9.0 - escape-string-regexp: 5.0.0 execa: 6.1.0 fastify: 4.10.2 fastify-plugin: 4.3.0