Skip to content

🐛 [BUG] - Le secret Vault GITLAB n'est pas créé dans l'espace du projet lors du provisionnement (server-nestjs) #2400

Closed

Description

@KepoParis

Description

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 projet
4. 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).

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. moved this from Backlog to In progress in Cloud Pi Nativeon Aug 4, 2026
  4. 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 GITLAB est désormais écrit sous le préfixe par projet via generateGitlabTriggerTokenPath(projectsRootDir, projectSlug), cohérent avec les autres secrets.

  5. moved this from In progress to Done in Cloud Pi Nativeon Aug 7, 2026
  6. 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