diff --git a/workloads/commerce-backend/Dockerfile b/workloads/commerce-backend/Dockerfile index 029275b..9712a11 100644 --- a/workloads/commerce-backend/Dockerfile +++ b/workloads/commerce-backend/Dockerfile @@ -69,14 +69,27 @@ RUN apt-get update \ && apt-get upgrade -y libgnutls30 \ && rm -rf /var/lib/apt/lists/* -# -# El CLI global de npm que trae la imagen base node:*-slim no se usa en -# runtime (el CMD invoca a Medusa directo con `node`, nunca `npm`) y -# arrastra su propia copia vendorizada de `tar` con un CVE CRITICAL +# El CLI global de npm que trae la imagen base node:*-slim arrastra su +# propia copia vendorizada de `tar` con un CVE CRITICAL # (CVE-2026-59873, detectado por Trivy en -# usr/local/lib/node_modules/npm/node_modules/tar). Se elimina en vez -# de forzar una versión: no es una dependencia real de este proyecto, -# así que no hay nada que "actualizar" -- solo superficie sin uso. +# usr/local/lib/node_modules/npm/node_modules/tar). Se elimina npm +# entero -- no alcanza con borrar solo el tar vendorizado: el propio +# `npx` depende de ese tar internamente (pacote/arborist) incluso para +# ejecutar un binario ya instalado localmente, así que queda roto igual +# si el paquete tar desaparece pero npm sigue ahí (confirmado +# probando "npx medusa --version" contra la imagen: falla con +# "Cannot find module 'tar'"). +# +# OJO con este cambio: el init container "migrations" de +# workloads/ecommerce/commerce/medusa.yaml corría "npx medusa +# db:migrate" contra esta misma imagen -- un primer intento de este +# fix borraba npm sin ajustar ese comando y rompió el init container +# en producción ("npx: executable file not found in $PATH", +# medusa-deploy atascado en Init:CrashLoopBackOff, detectado revisando +# el estado real del cluster después del deploy). El fix completo +# incluye cambiar ese comando a invocar el CLI directo con `node`, sin +# pasar por npm/npx -- mismo patrón que ya usa el CMD de este +# Dockerfile más abajo. RUN rm -rf /usr/local/lib/node_modules/npm # diff --git a/workloads/ecommerce/commerce/medusa.yaml b/workloads/ecommerce/commerce/medusa.yaml index f924da0..7762ff5 100644 --- a/workloads/ecommerce/commerce/medusa.yaml +++ b/workloads/ecommerce/commerce/medusa.yaml @@ -54,9 +54,13 @@ spec: - name: migrations image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.108 imagePullPolicy: IfNotPresent + # node directo, sin npx: la imagen ya no trae npm (ver + # Dockerfile de commerce-backend, remediacion de + # CVE-2026-59873) -- mismo binario que ya invoca el CMD de + # runtime de esa misma imagen. command: - - npx - - medusa + - node + - node_modules/@medusajs/cli/dist/index.js - db:migrate envFrom: - configMapRef: