27 lines
1003 B
TypeScript
27 lines
1003 B
TypeScript
import { readFileSync } from "node:fs";
|
|
|
|
/** Lit un secret monté par Docker, sans jamais exposer son contenu aux logs. */
|
|
export function readSecretFile(path: string | undefined): string {
|
|
if (!path) return "";
|
|
try {
|
|
return readFileSync(path, "utf8").trim();
|
|
} catch {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
export const ENV = {
|
|
appId: process.env.VITE_APP_ID ?? "",
|
|
cookieSecret: process.env.JWT_SECRET ?? "",
|
|
databaseUrl: process.env.DATABASE_URL ?? "",
|
|
oAuthServerUrl: process.env.OAUTH_SERVER_URL ?? "",
|
|
ownerOpenId: process.env.OWNER_OPEN_ID ?? "",
|
|
isProduction: process.env.NODE_ENV === "production",
|
|
forgeApiUrl: process.env.BUILT_IN_FORGE_API_URL ?? "",
|
|
forgeApiKey: process.env.BUILT_IN_FORGE_API_KEY ?? "",
|
|
mistralApiKey: process.env.MISTRAL_API_KEY ?? "",
|
|
geminiApiKey: process.env.GEMINI_API_KEY ?? "",
|
|
referentielIaUrl: process.env.REFERENTIEL_IA_URL ?? "",
|
|
referentielIaToken: process.env.REFERENTIEL_IA_TOKEN ?? readSecretFile(process.env.REFERENTIEL_IA_TOKEN_FILE),
|
|
};
|