Commit Graph
9 Commits
Author SHA1 Message Date
devopsandClaude Sonnet 5 29021bff70 fix(ci): condicion de carrera en el chequeo de promocion GitOps
Build and Push Medusa / Escaneo de Secretos (Gitleaks) (push) Successful in 22s
Build and Push Frontend / Escaneo de Secretos (Gitleaks) (push) Successful in 26s
Build and Push Docs Portal / Escaneo de Secretos (Gitleaks) (push) Successful in 28s
Build and Push Medusa / Construir y publicar Medusa (push) Successful in 17m19s
Build and Push Frontend / Construir y Subir Imagen (push) Successful in 8m23s
Build and Push Docs Portal / Construir y publicar Docs Portal (push) Successful in 6m18s
Con el runner corriendo 1 job a la vez (capacity: 1), cuando 2+
pipelines comparten el mismo commit disparador, el primero en terminar
deja su propio commit de GitOps en main -- los siguientes veian 'main
ya no es igual a mi commit' y se saltaban su propia promocion, aunque
era seguro promocionar. Visto en vivo: Frontend construyo, escaneo y
firmo v1.0.119 pero el manifiesto seguia en v1.0.104 (Promocion GitOps:
false). Fix en los 3 workflows: git merge-base --is-ancestor en vez de
comparacion exacta de SHA. Bump manual de frontend a v1.0.119 (la
version que ya estaba lista, sin desplegar). Documentado el limite
conocido de este fix en el playbook de la migracion.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_011FqYP3Wf1W63Qmh7qgXAAT
2026-08-17 01:47:04 -05:00
devopsandClaude Sonnet 5 42e6250adc fix(ci): actualizar MANIFEST_FILE tras la migracion a platform-templates
Build and Push Medusa / Escaneo de Secretos (Gitleaks) (push) Successful in 22s
Build and Push Frontend / Escaneo de Secretos (Gitleaks) (push) Successful in 22s
Build and Push Docs Portal / Escaneo de Secretos (Gitleaks) (push) Successful in 20s
Build and Push Medusa / Construir y publicar Medusa (push) Successful in 19m12s
Build and Push Frontend / Construir y Subir Imagen (push) Successful in 10m5s
Build and Push Docs Portal / Construir y publicar Docs Portal (push) Successful in 4m55s
Los 3 pipelines (build.yaml, build-medusa.yaml, deploy-docs.yaml)
todavia apuntaban a las rutas viejas de deployment.yaml (borradas al
migrar cada app a un overlay de platform-templates) para el paso de
auto-actualizacion GitOps. Se rompio en vivo en el primer build real
post-migracion (docs-portal v1.0.117): la imagen se construyo, escaneo
y firmo bien, pero el ultimo paso (sed sobre el manifest) fallo con
'No such file or directory'. Se corrigen las 3 rutas a
patches/deployment.yaml, y se bumpea a mano el tag de docs-portal a
v1.0.117 (la imagen ya existe en el registry, firmada y verificada,
no hace falta reconstruirla).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_011FqYP3Wf1W63Qmh7qgXAAT
2026-08-17 01:03:41 -05:00
devopsandClaude Sonnet 5 ac095ff981 fix(devsecops): firmar y verificar imagenes por digest, no por tag
Build and Push Medusa / Escaneo de Secretos (Gitleaks) (push) Successful in 58s
Build and Push Frontend / Escaneo de Secretos (Gitleaks) (push) Successful in 32s
Build and Push Docs Portal / Escaneo de Secretos (Gitleaks) (push) Successful in 35s
Build and Push Medusa / Construir y publicar Medusa (push) Successful in 18m58s
Build and Push Frontend / Construir y Subir Imagen (push) Successful in 12m0s
Build and Push Docs Portal / Construir y publicar Docs Portal (push) Successful in 5m43s
Los 3 pipelines (frontend, commerce-backend, docs-portal) ahora capturan
el digest real del docker push y lo usan como referencia para cosign
sign/verify, en vez del tag mutable :VERSION. Documenta ademas la
decision de mantener Rekor deshabilitado (registry privado, evita
dependencia de red saliente hacia rekor.sigstore.dev via el tunel).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_011FqYP3Wf1W63Qmh7qgXAAT
2026-08-16 14:46:01 -05:00
devops 5fc86e6ef4 chore: reintentar pipeline de commerce-backend (run 107 murio por reinicio de Gitea, no por el pipeline)
Build and Push Medusa / Escaneo de Secretos (Gitleaks) (push) Successful in 20s
Build and Push Medusa / Construir y publicar Medusa (push) Successful in 10m59s
2026-08-15 14:17:18 -05:00
devops 0c1076eda0 fix(commerce-backend): remediar 3/5 CVE CRITICAL, documentar excepcion para 2
Run 138 de build-medusa.yaml encontro 5 CVE CRITICAL reales (no falsos
positivos) al escanear la imagen con Trivy:

Remediados en el Dockerfile (verificado localmente con Trivy real,
exit 0):
- CVE-2026-33845 / CVE-2026-42010 (libgnutls30, base Debian): apt
  upgrade puntual del paquete.
- CVE-2026-59873 (tar vendorizado dentro del npm CLI global de la
  imagen base node:*-slim): se elimina /usr/local/lib/node_modules/npm
  completo -- no es una dependencia real del proyecto (el CMD nunca
  invoca npm en runtime), asi que no hay nada que "actualizar".

Documentados como excepcion en workloads/commerce-backend/.trivyignore
(con --ignorefile solo en este workflow, no afecta a build.yaml ni
deploy-docs.yaml):
- CVE-2024-24790 / CVE-2025-68121 (Go stdlib embebido en el binario de
  esbuild que trae [email protected], dependencia interna de
  @medusajs/admin-sdk). Se probo el fix real (override de esbuild a
  una version mas nueva) y rompio el build del admin panel --
  [email protected] fija "esbuild: ^0.21.3" como dependencia directa, y
  esbuild >=0.24 cambio el manejo de targets de transpilacion que vite
  5 espera. No existe un patch dentro de la serie 0.21.x con un Go
  toolchain mas nuevo. Requiere subir @medusajs/admin-sdk/vite en un
  cambio aparte, fuera de alcance de este pipeline de seguridad.
2026-08-15 13:49:51 -05:00
devops 81f01c7ade 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).
2026-08-15 13:09:47 -05:00
devops 8b49ac2bc5 feat(devsecops): replicar pipeline de seguridad a commerce-backend
Agrega a build-medusa.yaml las mismas 6 etapas ya validadas en
build.yaml (run 134, frontend): Gitleaks, Trivy IaC, Semgrep (SAST),
Trivy imagen, Syft (SBOM) y Cosign (firma + verificación).

Ruleset de Semgrep adaptado: p/typescript + p/security-audit +
p/owasp-top-ten, sin p/react/p/nextjs -- commerce-backend es la API de
Medusa v2 (Node/TypeScript), no una app con SSR. Mismos umbrales que
el frontend: Trivy bloquea en CRITICAL, Semgrep en modo auditoría
(no bloquea todavía).

Reutiliza el mismo par de llaves Cosign del frontend (secrets ya
existentes a nivel de repo); se agrega workloads/commerce-backend/cosign.pub
con la misma llave pública para que la verificación quede local a
este workflow.
2026-08-15 12:46:45 -05:00
devops 7939dc492c fix(ci): stabilize Medusa dependency installation
Build and Push Medusa / Construir y publicar Medusa (push) Failing after 4m59s
2026-08-01 02:21:44 -05:00
devops aa857bc2ae fase 1
Build and Push Frontend / Construir y Subir Imagen (push) Successful in 9m23s
Build and Push Medusa / Construir y publicar Medusa (push) Failing after 15m12s
2026-07-31 23:27:01 -05:00