Trois tickets du retrofit de nuage, et une porte d'audit qui dormait #95
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "nicolas-fryder/dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Corrige #92 et #93, redresse la premisse de #94 et ajoute le controle qui manquait. Releve quatre advisories au passage. Detail dans les messages de commit.
`compose/e2e.yml` posait `BREAK_GLASS_SECRET: ${EQS_E2E_SECRET:-e2e-not-a-secret-…}`. `SECRETS_INTERDITS` de `@eqs/config` cherche la sous-chaîne `secret` : elle la trouvait dans une valeur qui annonce précisément n'être pas un secret. Le conteneur sortait en 1 sur « BREAK_GLASS_SECRET ressemble à une valeur d'exemple », et `eqs e2e up` rendait « dependency failed to start » — un message qui ne nomme aucune variable. Mesuré sur `eqs-demo` contre 0.13.0 fraîchement publié. Le correctif tient en une valeur. Ce qui compte est la mesure qui manquait : c'est la QUATRIÈME panne de cette pile trouvée en construisant une image et en lisant les journaux d'un conteneur mort — `npmrc` absent (0.10.1), sonde sur `/health` pour un profil `front` (0.11.2), `SERVICE_NAME` absent (0.13.0), ce secret. On ne découvre la panne suivante qu'en réparant la précédente, ce qui est le signe qu'il manquait un contrôle et pas un correctif. `test/pile-e2e.test.ts` lit le compose livré, résout les valeurs de repli comme Docker le fera pour quelqu'un qui ne pose rien, et passe l'environnement obtenu par `baseSchema` et `coherence(…, reglesDeBase)` — les mêmes portes que l'application appliquera au démarrage. Aucun Docker, 600 ms. Éprouvé en le cassant, parce qu'un contrôle qui ne rougit jamais ne prouve rien : compose tel quel schéma OK | bloquants : aucun sans SERVICE_NAME schéma REFUSE | bloquants : aucun avec l'ancien BREAK_GLASS_SECRET schéma OK | bloquants : « ressemble à une valeur d'exemple » Chacun des deux défauts rougit, et dans un test distinct. `variablesPosees` passe par la racine du paquet : elle lit les deux formes d'`environment` de Compose et sert autant au contrôle `coolify.*` qu'ici. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>docs/profils.md: la liste des dépôts du profilnext-fullstacka trois entrées fausses sur quatre #92