Skip to content

🐛 [BUG] - Le secret Vault NEXUS n'est pas créé au bon emplacement dans l'espace du projet lors du provisionnement (server-nestjs) #2401

Description

@KepoParis

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

Activity

  1. added theissue type on Jul 31, 2026
  2. added this to the 9.24.0 milestone on Jul 31, 2026
  3. shikanime commented on Aug 7, 2026

    @shikanime
    Member

    Résolu en code par la PR #2412 (fix: vault secret path, mergée le 2026-08-05). Le secret Vault NEXUS est désormais créé à <rootDir>/<slug>/NEXUS via generateNexusCredPath, conforme au diagnostic de l'issue. Fermeture manuelle : la PR référençait l'issue sans mot-clé Fixes/Closes.

  4. linked a pull request that will close this issuefix: vault secret path #2412on Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions