Skip to content

💡 [REQUEST] - Porter le pont zone GitLab vers server-nestjs #2864

Open

Description

@shikanime

Description

À la bascule des routes zone vers server-nestjs (#2770), le provisioning GitLab des zones cesse silencieusement si le pont n'est pas porté : le legacy plugins/gitlab crée et supprime le repo infra de zone sur hook.zone.upsert / hook.zone.delete, et aucun consommateur zone.* GitLab n'existe côté server-nestjs.

PRs liées

Issues liées

Exemples simples

À la création d'une zone, GitlabService garantit l'existence du repo infra de la zone ; à la suppression, il le supprime définitivement (permanentlyRemove), parité avec plugins/gitlab/src/functions.ts:189.

Spécifications techniques

  • Consommateurs @OnEvent('zone.upsert') / @OnEvent('zone.delete') dans apps/server-nestjs/src/modules/gitlab/gitlab.service.ts
  • ensureInfraGroupRepo / deleteInfraGroupRepo dans gitlab-client.service.ts : suppression non créante (no-op si le repo est absent), 404 toléré sur l'étape permanentlyRemove pour l'idempotence
  • Factorisation unlessNotFound depuis les 7 sites catch-404 gitbeaker existants

Définition du fini

  • La fonctionnalité est terminée
  • Les tests liés à cette fonctionnalité ont été ajoutés
  • La documentation liée a été ajoutée

Activity

  1. added this to the 9.28.0 milestone on Oct 15, 2026
  2. self-assigned this
    on Oct 15, 2026
  3. shikanime commented on Oct 15, 2026

    @shikanime
    MemberAuthor

    Ledger vérifié contre #2807 head 118a336f (CI verte, 32 checks pass).

    La fonctionnalité est terminée — GitlabService.handleUpsertZone / handleDeleteZone (@OnEvent('zone.upsert') / @OnEvent('zone.delete')) dans apps/server-nestjs/src/modules/gitlab/gitlab.service.ts ; ensureInfraGroupRepo / deleteInfraGroupRepo dans gitlab-client.service.ts avec suppression non créante (no-op si repo absent) et 404 toléré sur permanentlyRemove :

    +  @OnEvent('zone.upsert')
    +  async handleUpsertZone(payload: ZoneEventPayload): Promise<RequiredPluginResult<'gitlab'>> {
    +  @OnEvent('zone.delete')
    +  async handleDeleteZone(payload: ZoneEventPayload): Promise<RequiredPluginResult<'gitlab'>> {
    

    Les 6 fils de review sont résolus, y compris les bloquants (chemin de suppression absolu deletion_scheduled, idempotence, parseGroupPaths restauré).

    Les tests liés à cette fonctionnalité ont été ajoutés — gitlab.service.spec.ts (commit 9b5f0b1b) : 4 specs handleUpsertZone / handleDeleteZone (succès + KO plugin result) ; job unit-tests / Unit tests vert sur le head courant.

    La documentation reste ouverte : décision post-merge (sks-doc).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions