Enable to pass environement variables to test docker container

This commit is contained in:
Joseph Garrone 2024-06-09 08:50:59 +02:00
parent a8997e92c3
commit a286e252e9

View File

@ -1,4 +1,5 @@
import { readBuildOptions } from "../shared/buildOptions";
import { exclude } from "tsafe/exclude";
import type { CliCommandOptions as CliCommandOptions_common } from "../main";
import { promptKeycloakVersion } from "../shared/promptKeycloakVersion";
import { readMetaInfKeycloakThemes } from "../shared/metaInfKeycloakThemes";
@ -25,6 +26,7 @@ export type CliCommandOptions = CliCommandOptions_common & {
port: number;
keycloakVersion: string | undefined;
realmJsonFilePath: string | undefined;
environmentVariables: { name: string; default: string }[];
};
export async function command(params: { cliCommandOptions: CliCommandOptions }) {
@ -365,6 +367,17 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
`${localDirPath}:${containerDirPath}:rw`
])
.flat(),
...buildOptions.environmentVariables
.map(({ name }) => ({ name, envValue: process.env[name] }))
.map(({ name, envValue }) =>
envValue === undefined ? undefined : { name, envValue }
)
.filter(exclude(undefined))
.map(({ name, envValue }) => [
"--env",
`${name}='${envValue.replace(/'/g, "'\\''")}'`
])
.flat(),
`quay.io/keycloak/keycloak:${keycloakVersion}`,
"start-dev",
...(21 <= keycloakMajorVersionNumber && keycloakMajorVersionNumber < 24