Checkpoint: Correction recette : une variable REFERENTIEL_IA_TOKEN vide masquait le secret Docker monté. Le serveur privilégie désormais un jeton explicite non vide et bascule vers le fichier secret sinon. Test de non-régression ajouté ; 89 tests, TypeScript et build validés.

This commit is contained in:
Manus
2026-10-02 15:01:42 +00:00
parent eba192e159
commit edb4726d5f
3 changed files with 30 additions and 2 deletions

View File

@@ -10,6 +10,12 @@ export function readSecretFile(path: string | undefined): string {
}
}
/** Préfère un secret explicite, puis le secret Docker si la variable est absente ou vide. */
export function resolveServerSecret(value: string | undefined, secretPath: string | undefined): string {
const environmentValue = value?.trim();
return environmentValue || readSecretFile(secretPath);
}
export const ENV = {
appId: process.env.VITE_APP_ID ?? "",
cookieSecret: process.env.JWT_SECRET ?? "",
@@ -22,5 +28,8 @@ export const ENV = {
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),
referentielIaToken: resolveServerSecret(
process.env.REFERENTIEL_IA_TOKEN,
process.env.REFERENTIEL_IA_TOKEN_FILE,
),
};