From 81f01c7ade347ab43586e09d361b6468b6205be3 Mon Sep 17 00:00:00 2001 From: Cristian Felipe Cruz Buitron Date: Sat, 15 Aug 2026 13:09:47 -0500 Subject: [PATCH] fix(devsecops): timeout de 15m en Trivy imagen para commerce-backend El run 136 (primer intento de este pipeline, recien mergeado a main) fallo en el paso "Escanear imagen (Trivy) - CRITICAL bloquea" con "context deadline exceeded" a los 4m52s -- no una CVE, un timeout de herramienta. Causa: el default de Trivy (5m) no alcanza para escanear (vuln + secret scan de la imagen completa) el node_modules de Medusa v2, mas pesado que el del frontend. Se agrega --timeout 15m0s a ambos escaneos de imagen (CRITICAL y HIGH). --- .gitea/workflows/build-medusa.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.gitea/workflows/build-medusa.yaml b/.gitea/workflows/build-medusa.yaml index cef70f6..5fcd087 100644 --- a/.gitea/workflows/build-medusa.yaml +++ b/.gitea/workflows/build-medusa.yaml @@ -211,6 +211,15 @@ jobs: # CRITICAL bloquea el pipeline: no se sube una imagen con una CVE # crítica conocida y con fix disponible. + # --timeout 15m0s: el default de Trivy (5m) no alcanza para esta + # imagen -- a diferencia del frontend, commerce-backend arrastra + # el node_modules completo de Medusa v2 (framework + admin-sdk + + # cli), muchos más archivos que escanear tanto para vulnerabilidades + # como para el escaneo de secretos que Trivy corre por default + # dentro de la imagen. Visto en vivo: "context deadline exceeded" + # a los 4m52s con el timeout default, en un run donde el host + # venía de terminar el docker build (ver hallazgo de rendimiento + # de Gitea/runner en docs/playbooks). - name: Escanear imagen (Trivy) — CRITICAL bloquea shell: bash run: | @@ -219,6 +228,7 @@ jobs: --severity CRITICAL \ --exit-code 1 \ --ignore-unfixed \ + --timeout 15m0s \ "${IMAGE_NAME}:${{ steps.vars.outputs.VERSION }}" # HIGH solo informa por ahora — mismo criterio que el frontend. @@ -230,6 +240,7 @@ jobs: --severity HIGH \ --exit-code 0 \ --ignore-unfixed \ + --timeout 15m0s \ "${IMAGE_NAME}:${{ steps.vars.outputs.VERSION }}" - name: Instalar Syft