Merge fix/commerce-backend-npx-regression: arreglar npx roto en produccion
Build and Push Medusa / Escaneo de Secretos (Gitleaks) (push) Successful in 19s
Build and Push Medusa / Construir y publicar Medusa (push) Successful in 15m10s

This commit is contained in:
2026-08-15 15:38:54 -05:00
2 changed files with 26 additions and 9 deletions
+20 -7
View File
@@ -69,14 +69,27 @@ RUN apt-get update \
&& apt-get upgrade -y libgnutls30 \ && apt-get upgrade -y libgnutls30 \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# # El CLI global de npm que trae la imagen base node:*-slim arrastra su
# El CLI global de npm que trae la imagen base node:*-slim no se usa en # propia copia vendorizada de `tar` con un CVE CRITICAL
# runtime (el CMD invoca a Medusa directo con `node`, nunca `npm`) y
# arrastra su propia copia vendorizada de `tar` con un CVE CRITICAL
# (CVE-2026-59873, detectado por Trivy en # (CVE-2026-59873, detectado por Trivy en
# usr/local/lib/node_modules/npm/node_modules/tar). Se elimina en vez # usr/local/lib/node_modules/npm/node_modules/tar). Se elimina npm
# de forzar una versión: no es una dependencia real de este proyecto, # entero -- no alcanza con borrar solo el tar vendorizado: el propio
# así que no hay nada que "actualizar" -- solo superficie sin uso. # `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 RUN rm -rf /usr/local/lib/node_modules/npm
# #
+6 -2
View File
@@ -54,9 +54,13 @@ spec:
- name: migrations - name: migrations
image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.108 image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.108
imagePullPolicy: IfNotPresent 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: command:
- npx - node
- medusa - node_modules/@medusajs/cli/dist/index.js
- db:migrate - db:migrate
envFrom: envFrom:
- configMapRef: - configMapRef: