From 7c683668ebfde005555007004160fc3c04d45bd1 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Sun, 20 Feb 2022 00:00:31 +0100 Subject: [PATCH] feat: Secrets for previews UI: Some CSS changes --- src/lib/buildPacks/docker.ts | 13 +- src/lib/buildPacks/nextjs.ts | 22 +++- src/lib/buildPacks/node.ts | 22 +++- src/lib/buildPacks/nuxtjs.ts | 22 +++- src/lib/buildPacks/static.ts | 22 +++- src/lib/components/CopyPasswordField.svelte | 124 +++++++++--------- src/lib/components/templates.ts | 1 - src/lib/database/secrets.ts | 12 +- src/lib/docker.ts | 15 ++- src/lib/queues/builder.ts | 11 +- src/routes/applications/[id]/index.svelte | 6 +- .../applications/[id]/previews/index.json.ts | 8 +- .../applications/[id]/previews/index.svelte | 21 +-- .../applications/[id]/secrets/_Secret.svelte | 59 +++++---- .../applications/[id]/secrets/index.json.ts | 5 +- .../applications/[id]/secrets/index.svelte | 4 +- .../databases/[id]/_Databases/_CouchDb.svelte | 2 +- .../databases/[id]/_Databases/_MongoDB.svelte | 2 +- .../databases/[id]/_Databases/_MySQL.svelte | 2 +- .../[id]/_Databases/_PostgreSQL.svelte | 2 +- .../databases/[id]/_Databases/_Redis.svelte | 2 +- .../services/[id]/_Services/_MinIO.svelte | 6 +- src/routes/settings/index.svelte | 2 +- src/tailwind.css | 4 +- 24 files changed, 243 insertions(+), 146 deletions(-) diff --git a/src/lib/buildPacks/docker.ts b/src/lib/buildPacks/docker.ts index 5bc6ce453..af000e551 100644 --- a/src/lib/buildPacks/docker.ts +++ b/src/lib/buildPacks/docker.ts @@ -9,7 +9,8 @@ export default async function ({ docker, buildId, baseDirectory, - secrets + secrets, + pullmergeRequestId }) { try { let file = `${workdir}/Dockerfile`; @@ -24,7 +25,15 @@ export default async function ({ if (secrets.length > 0) { secrets.forEach((secret) => { if (secret.isBuildSecret) { - Dockerfile.push(`ARG ${secret.name} ${secret.value}`); + if (pullmergeRequestId) { + if (secret.isPRMRSecret) { + Dockerfile.push(`ARG ${secret.name} ${secret.value}`); + } + } else { + if (!secret.isPRMRSecret) { + Dockerfile.push(`ARG ${secret.name} ${secret.value}`); + } + } } }); } diff --git a/src/lib/buildPacks/nextjs.ts b/src/lib/buildPacks/nextjs.ts index 53a7f884e..648208d83 100644 --- a/src/lib/buildPacks/nextjs.ts +++ b/src/lib/buildPacks/nextjs.ts @@ -2,8 +2,16 @@ import { buildImage } from '$lib/docker'; import { promises as fs } from 'fs'; const createDockerfile = async (data, image): Promise => { - const { workdir, port, installCommand, buildCommand, startCommand, baseDirectory, secrets } = - data; + const { + workdir, + port, + installCommand, + buildCommand, + startCommand, + baseDirectory, + secrets, + pullmergeRequestId + } = data; const Dockerfile: Array = []; Dockerfile.push(`FROM ${image}`); @@ -11,7 +19,15 @@ const createDockerfile = async (data, image): Promise => { if (secrets.length > 0) { secrets.forEach((secret) => { if (secret.isBuildSecret) { - Dockerfile.push(`ARG ${secret.name} ${secret.value}`); + if (pullmergeRequestId) { + if (secret.isPRMRSecret) { + Dockerfile.push(`ARG ${secret.name} ${secret.value}`); + } + } else { + if (!secret.isPRMRSecret) { + Dockerfile.push(`ARG ${secret.name} ${secret.value}`); + } + } } }); } diff --git a/src/lib/buildPacks/node.ts b/src/lib/buildPacks/node.ts index 53a7f884e..648208d83 100644 --- a/src/lib/buildPacks/node.ts +++ b/src/lib/buildPacks/node.ts @@ -2,8 +2,16 @@ import { buildImage } from '$lib/docker'; import { promises as fs } from 'fs'; const createDockerfile = async (data, image): Promise => { - const { workdir, port, installCommand, buildCommand, startCommand, baseDirectory, secrets } = - data; + const { + workdir, + port, + installCommand, + buildCommand, + startCommand, + baseDirectory, + secrets, + pullmergeRequestId + } = data; const Dockerfile: Array = []; Dockerfile.push(`FROM ${image}`); @@ -11,7 +19,15 @@ const createDockerfile = async (data, image): Promise => { if (secrets.length > 0) { secrets.forEach((secret) => { if (secret.isBuildSecret) { - Dockerfile.push(`ARG ${secret.name} ${secret.value}`); + if (pullmergeRequestId) { + if (secret.isPRMRSecret) { + Dockerfile.push(`ARG ${secret.name} ${secret.value}`); + } + } else { + if (!secret.isPRMRSecret) { + Dockerfile.push(`ARG ${secret.name} ${secret.value}`); + } + } } }); } diff --git a/src/lib/buildPacks/nuxtjs.ts b/src/lib/buildPacks/nuxtjs.ts index 53a7f884e..648208d83 100644 --- a/src/lib/buildPacks/nuxtjs.ts +++ b/src/lib/buildPacks/nuxtjs.ts @@ -2,8 +2,16 @@ import { buildImage } from '$lib/docker'; import { promises as fs } from 'fs'; const createDockerfile = async (data, image): Promise => { - const { workdir, port, installCommand, buildCommand, startCommand, baseDirectory, secrets } = - data; + const { + workdir, + port, + installCommand, + buildCommand, + startCommand, + baseDirectory, + secrets, + pullmergeRequestId + } = data; const Dockerfile: Array = []; Dockerfile.push(`FROM ${image}`); @@ -11,7 +19,15 @@ const createDockerfile = async (data, image): Promise => { if (secrets.length > 0) { secrets.forEach((secret) => { if (secret.isBuildSecret) { - Dockerfile.push(`ARG ${secret.name} ${secret.value}`); + if (pullmergeRequestId) { + if (secret.isPRMRSecret) { + Dockerfile.push(`ARG ${secret.name} ${secret.value}`); + } + } else { + if (!secret.isPRMRSecret) { + Dockerfile.push(`ARG ${secret.name} ${secret.value}`); + } + } } }); } diff --git a/src/lib/buildPacks/static.ts b/src/lib/buildPacks/static.ts index 0db1a0c83..d71eea6e1 100644 --- a/src/lib/buildPacks/static.ts +++ b/src/lib/buildPacks/static.ts @@ -2,8 +2,16 @@ import { buildCacheImageWithNode, buildImage } from '$lib/docker'; import { promises as fs } from 'fs'; const createDockerfile = async (data, image): Promise => { - const { applicationId, tag, workdir, buildCommand, baseDirectory, publishDirectory, secrets } = - data; + const { + applicationId, + tag, + workdir, + buildCommand, + baseDirectory, + publishDirectory, + secrets, + pullmergeRequestId + } = data; const Dockerfile: Array = []; Dockerfile.push(`FROM ${image}`); @@ -11,7 +19,15 @@ const createDockerfile = async (data, image): Promise => { if (secrets.length > 0) { secrets.forEach((secret) => { if (secret.isBuildSecret) { - Dockerfile.push(`ARG ${secret.name} ${secret.value}`); + if (pullmergeRequestId) { + if (secret.isPRMRSecret) { + Dockerfile.push(`ARG ${secret.name} ${secret.value}`); + } + } else { + if (!secret.isPRMRSecret) { + Dockerfile.push(`ARG ${secret.name} ${secret.value}`); + } + } } }); } diff --git a/src/lib/components/CopyPasswordField.svelte b/src/lib/components/CopyPasswordField.svelte index ac2ba94d4..648fc3278 100644 --- a/src/lib/components/CopyPasswordField.svelte +++ b/src/lib/components/CopyPasswordField.svelte @@ -1,9 +1,9 @@ -
showActions(true)} - on:mouseleave={() => showActions(false)} -> +
{#if !isPasswordField || showPassword} {#if textarea}