Description
Lors du provisionnement d'un projet par le nouveau serveur server-nestjs, le secret Vault NEXUS (NEXUS_USERNAME, NEXUS_PASSWORD) n'apparaĂźt pas Ă l'emplacement attendu dans l'espace de secrets du projet.
Avec l'ancien plugin plugins/nexus, ce secret Ă©tait Ă©crit via l'API Vault portĂ©e par le projet (plugins/nexus/src/project.ts:188 â vaultApi.write({...}, 'NEXUS')), qui rĂ©sout le chemin Ă <PROJECTS_ROOT_DIR>/<slug>/NEXUS (plugins/vault/src/vault-project-api.ts:102-105). Le secret se trouvait donc directement dans le dossier du projet, sous la clĂ© NEXUS.
Dans le nouveau serveur, le secret est Ă©crit sous <PROJECTS_ROOT_DIR>/<slug>/tech/NEXUS â avec un segment tech/ supplĂ©mentaire qui n'existait pas auparavant.
Conséquence observée :
- le secret
NEXUS est absent de l'emplacement historique (.../NEXUS) et se trouve désormais sous .../tech/NEXUS ; les consommateurs qui le lisent à l'ancien emplacement ne le trouvent plus.
Etapes de reproduction
1. Provisionner (ou re-synchroniser) un projet via le serveur server-nestjs
2. Ouvrir Vault â espace forge-dso â <PROJECTS_ROOT_DIR>/<slug>/
3. Constater l'absence du secret NEXUS directement dans le dossier du projet
4. Constater que le secret se trouve sous <PROJECTS_ROOT_DIR>/<slug>/tech/NEXUS
Piste technique (oĂč se trouve l'erreur)
Dans apps/server-nestjs/src/modules/nexus/nexus.service.ts, la mĂ©thode ensureUser construit le chemin avec getProjectVaultPath(this.baseConfig.projectsRootDir, project.slug, 'tech/NEXUS') (ligne 435, Ă©criture ligne 466-469), ce qui donne <PROJECTS_ROOT_DIR>/<slug>/tech/NEXUS. L'ancien plugin Ă©crivait Ă <PROJECTS_ROOT_DIR>/<slug>/NEXUS. Il faut retirer le segment tech/ (chemin relatif 'NEXUS') pour retrouver l'emplacement historique. La lecture (ligne 438) et la suppression (ligne 580) utilisent le mĂȘme chemin et sont Ă corriger de la mĂȘme façon. Le contenu du secret, lui, est correct.
Version de la console impactée
v9.23.0
Description
Lors du provisionnement d'un projet par le nouveau serveur
server-nestjs, le secret VaultNEXUS(NEXUS_USERNAME,NEXUS_PASSWORD) n'apparaĂźt pas Ă l'emplacement attendu dans l'espace de secrets du projet.Avec l'ancien plugin
plugins/nexus, ce secret Ă©tait Ă©crit via l'API Vault portĂ©e par le projet (plugins/nexus/src/project.ts:188âvaultApi.write({...}, 'NEXUS')), qui rĂ©sout le chemin Ă<PROJECTS_ROOT_DIR>/<slug>/NEXUS(plugins/vault/src/vault-project-api.ts:102-105). Le secret se trouvait donc directement dans le dossier du projet, sous la clĂ©NEXUS.Dans le nouveau serveur, le secret est Ă©crit sous
<PROJECTS_ROOT_DIR>/<slug>/tech/NEXUSâ avec un segmenttech/supplĂ©mentaire qui n'existait pas auparavant.ConsĂ©quence observĂ©e :
NEXUSest absent de l'emplacement historique (.../NEXUS) et se trouve désormais sous.../tech/NEXUS; les consommateurs qui le lisent à l'ancien emplacement ne le trouvent plus.Etapes de reproduction
Piste technique (oĂč se trouve l'erreur)
Dans
apps/server-nestjs/src/modules/nexus/nexus.service.ts, la mĂ©thodeensureUserconstruit le chemin avecgetProjectVaultPath(this.baseConfig.projectsRootDir, project.slug, 'tech/NEXUS')(ligne 435, Ă©criture ligne 466-469), ce qui donne<PROJECTS_ROOT_DIR>/<slug>/tech/NEXUS. L'ancien plugin Ă©crivait Ă<PROJECTS_ROOT_DIR>/<slug>/NEXUS. Il faut retirer le segmenttech/(chemin relatif'NEXUS') pour retrouver l'emplacement historique. La lecture (ligne 438) et la suppression (ligne 580) utilisent le mĂȘme chemin et sont Ă corriger de la mĂȘme façon. Le contenu du secret, lui, est correct.Version de la console impactĂ©e
v9.23.0