You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
🐛 [BUG] - Le secret Vault GITLAB n'est pas créé dans l'espace du projet lors du provisionnement (server-nestjs) #2400
Lors du provisionnement d'un projet par le nouveau serveur server-nestjs, le secret Vault GITLAB (celui qui permet de déclencher le pipeline de miroir : PROJECT_SLUG, GIT_MIRROR_PROJECT_ID, GIT_MIRROR_TOKEN) n'apparaît pas dans l'espace de secrets du projet.
Avec l'ancien plugin plugins/gitlab, ce secret était écrit via l'API Vault portée par le projet (plugins/gitlab/src/functions.ts:134 → vaultApi.write(gitlabSecret, 'GITLAB')), qui préfixe automatiquement le chemin avec <PROJECTS_ROOT_DIR>/<slug>/ (plugins/vault/src/vault-project-api.ts:102-105). Le secret finissait donc dans le dossier du projet.
Dans le nouveau serveur, tous les autres secrets du projet (.../tech/GITLAB_MIRROR, .../SONAR, .../<repo>-mirror) suivent bien ce préfixe par projet — seul le secret GITLAB ne le suit pas.
Conséquences observées :
le secret GITLAB est absent de l'espace Vault du projet (il « n'est pas créé » du point de vue de l'équipe) ;
comme le chemin ne contient pas le slug du projet, tous les projets écrivent au même endroit et s'écrasent mutuellement : seules les valeurs du dernier projet provisionné subsistent.
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 GITLAB dans le dossier du projet4. Constater qu'un unique secret existe à la racine forge-dso/GITLAB, partagé par tous les projets
Piste technique (où se trouve l'erreur)
Dans apps/server-nestjs/src/modules/vault/vault-client.service.ts, la méthode writeMirrorTriggerToken (ligne 264) écrit dans un chemin fixe 'GITLAB' via this.write(secret, 'GITLAB'), sans le préfixe <PROJECTS_ROOT_DIR>/<slug>/ utilisé par toutes les autres méthodes (voir vault.utils.ts). Il faut passer le slug du projet et construire le chemin par projet (ex. <PROJECTS_ROOT_DIR>/<slug>/GITLAB), comme le faisait l'ancien plugin. Le contenu du secret, lui, est correct (gitlab.service.ts:474).
Résolu en code par la PR #2412 (fix: vault secret path, mergée le 2026-08-05). Le secret Vault GITLAB est désormais écrit sous le préfixe par projet via generateGitlabTriggerTokenPath(projectsRootDir, projectSlug), cohérent avec les autres secrets.
Activity
shikanime commentedon Aug 7, 2026
Résolu en code par la PR #2412 (fix: vault secret path, mergée le 2026-08-05). Le secret Vault
GITLABest désormais écrit sous le préfixe par projet viagenerateGitlabTriggerTokenPath(projectsRootDir, projectSlug), cohérent avec les autres secrets.