Skip to content

UAT PR #2376 — 502 on all server-nestjs routes in preview (nestjs upstream down) #2379

Description

@shikanime

UAT defect — blocker

PR under test: #2376 (chore: offload projects to nestjs)
Preview: https://console-pr-2376.dso.cpin-hp.numerique-interieur.fr/
Tester: debugger (automated UAT)
Date: 2026-07-28
Severity: Blocker — the primary feature of the PR (project reprovisioning offloaded to server-nestjs) is unreachable.

Symptom

Every route the strangler now proxies to server-nestjs returns HTTP 502 Bad Gateway:

  • /api/v1/projects → 502
  • /api/v1/projects-bulk → 502
  • /api/v1/service-chains → 502
  • /api/v1/projects/<id>/deployments → 502
  • /api/v2/ (nestjs-only, does not exist on legacy) → 502

Legacy backend is healthy and unaffected:

  • /api/v1/healthz{"status":"OK"} (legacy format, still served by legacy)
  • /api/v1/users → 302 (legacy auth redirect)
  • /health (nginx-strangler self) → 200

Reproduction

  1. Open https://console-pr-2376.dso.cpin-hp.numerique-interieur.fr/api/v1/projects
  2. Observe 502 Bad Gateway (nginx 1.31.3).
  3. Re-poll 3x — result is persistent, not transient.

Root cause (consistent with prior task t_3cb173ad)

The server-nestjs container crashes at startup in the preview environment (process crash ~5.5s, not a slow healthcheck), so nginx cannot reach the upstream. CI passes (build/unit/lint/integration) because it does not run the container against the live preview env. The crash must be fixed before the offloaded routes can be exercised.

Acceptance impact

UAT cannot be completed: the offloaded behavior cannot be exercised, so new-feature correctness, edge cases, and regression scope are all unverifiable. Recommend blocking merge until server-nestjs starts cleanly in preview and migrated routes return non-502.

Evidence

  • curl -k https://console-pr-2376.dso.cpin-hp.numerique-interieur.fr/api/v2/ → 502 (repeated)
  • curl -k https://console-pr-2376.dso.cpin-hp.numerique-interieur.fr/api/v1/healthz{"status":"OK"} (legacy)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions