Commit Graph
41 Commits
Author SHA1 Message Date
devops 52295e2c6d chore: release v1.0.204 [skip ci] 2026-08-28 21:47:40 +00:00
devops 49a6645378 chore: release v1.0.203 [skip ci] 2026-08-28 21:17:07 +00:00
devops e5f9ec5f1d chore: release v1.0.202 [skip ci] 2026-08-28 20:04:00 +00:00
devops 8e0053ab84 chore: release v1.0.201 [skip ci] 2026-08-28 18:49:03 +00:00
devops a974e738eb chore: release v1.0.200 [skip ci] 2026-08-28 18:07:03 +00:00
devops 3ad6951f44 chore: release v1.0.197 [skip ci] 2026-08-28 14:25:28 +00:00
devops 0e57bb04d1 chore: release v1.0.196 [skip ci] 2026-08-28 14:17:20 +00:00
devops 603f4b963d chore: release v1.0.195 [skip ci] 2026-08-28 06:32:19 +00:00
devops 617a69d58a chore: release v1.0.194 [skip ci] 2026-08-28 06:15:43 +00:00
devops 5c173d5f40 chore: release v1.0.193 [skip ci] 2026-08-28 06:02:07 +00:00
devops 801db95aa8 chore: release v1.0.192 [skip ci] 2026-08-28 05:45:57 +00:00
devops 030bf2712a chore: release v1.0.191 [skip ci] 2026-08-28 05:20:14 +00:00
devops 260c7076e2 chore: release v1.0.190 [skip ci] 2026-08-28 05:06:07 +00:00
devops e7349f34c3 chore: release v1.0.189 [skip ci] 2026-08-28 04:52:12 +00:00
devops cf9d642764 chore: release v1.0.185 [skip ci] 2026-08-27 23:46:24 +00:00
devops 77044130aa chore: release v1.0.184 [skip ci] 2026-08-27 23:25:58 +00:00
devops d3745c8617 chore: release v1.0.183 [skip ci] 2026-08-27 20:04:26 +00:00
devops f147f4c42c chore: release v1.0.182 [skip ci] 2026-08-27 17:50:27 +00:00
devops 93fbf3ed31 chore: release v1.0.180 [skip ci] 2026-08-27 14:00:48 +00:00
devops de5371d556 chore: release v1.0.178 [skip ci] 2026-08-27 06:26:09 +00:00
devops c1d8059c48 chore: release v1.0.177 [skip ci] 2026-08-27 06:14:16 +00:00
devops 9c11e16779 chore: release v1.0.176 [skip ci] 2026-08-27 05:35:33 +00:00
devops 7406aff34f chore: release v1.0.172 [skip ci] 2026-08-27 04:29:21 +00:00
devops 951682a4d4 chore: release v1.0.171 [skip ci] 2026-08-27 04:06:42 +00:00
devops 1ecd2015a4 chore: release v1.0.170 [skip ci] 2026-08-26 22:38:31 +00:00
devops edd14ca790 chore: release v1.0.157 [skip ci] 2026-08-25 20:29:09 +00:00
devops 44d6e10ea2 chore: release v1.0.154 [skip ci] 2026-08-25 20:09:39 +00:00
devops 8e74d0b516 chore: release v1.0.153 [skip ci] 2026-08-25 19:55:06 +00:00
devops 6a78257d71 chore: release v1.0.149 [skip ci] 2026-08-25 19:42:14 +00:00
devops 5b03066ed2 chore: release v1.0.147 [skip ci] 2026-08-25 19:24:43 +00:00
devops e36525e0d8 chore: release v1.0.145 [skip ci] 2026-08-25 19:05:55 +00:00
devops 40f8628e5d chore: release v1.0.143 [skip ci] 2026-08-25 05:12:02 +00:00
devops d64218f45f chore: release v1.0.141 [skip ci] 2026-08-25 04:03:03 +00:00
devops 0508c6328e chore: release v1.0.135 [skip ci] 2026-08-25 01:56:27 +00:00
devops 2670727cfa fix(ci,ecommerce): escanear el manifiesto renderizado y endurecer readOnlyRootFilesystem del frontend
Build and Push Frontend / Escaneo de Secretos (Gitleaks) (pull_request) Successful in 23s
Build and Push Frontend / Construir y Subir Imagen (pull_request) Skipped
- Trivy IaC escaneaba solo el patch aislado de Kustomize
  (workloads/ecommerce/frontend/patches/deployment.yaml), no lo que
  realmente corre en el clúster. Eso generaba falsos positivos en todo
  lo heredado del base remoto de platform-templates (runAsNonRoot,
  seccompProfile) porque el patch nunca los repite. Se instala kubectl,
  se renderiza el kustomization completo y se escanea ese output.
- readOnlyRootFilesystem pasa de false a true en el contenedor del
  frontend: revisando next.config.ts (optimización de imágenes) y
  app/api/revalidate/route.ts (revalidateTag sin cache handler custom),
  la imagen sí escribe a ./.next/cache en runtime. Se agregan volúmenes
  emptyDir para .next/cache y /tmp.
2026-08-24 20:35:08 -05:00
devops 3147cafaff chore: release v1.0.133 [skip ci] 2026-08-25 01:23:38 +00:00
devops 1bcb6911db chore: release v1.0.129 [skip ci] 2026-08-24 05:43:38 +00:00
devops 1bcceecd5f chore: release v1.0.122 [skip ci] 2026-08-17 07:14:13 +00:00
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 4da96a8314 fix(frontend): agregar runAsUser explicito, runAsNonRoot solo no alcanza
Detectado en vivo: el pod nuevo fallaba con CreateContainerConfigError
-- 'container has runAsNonRoot and image has non-numeric user (nextjs),
cannot verify user is non-root'. El Dockerfile define el usuario por
nombre (useradd ... nextjs), Kubernetes no puede confirmar el UID real
sin arrancar el contenedor. Se agrega runAsUser: 1001 explicito
(coincide con el --uid 1001 del useradd real del Dockerfile). Los 2
pods viejos siguieron sirviendo trafico sin interrupcion mientras tanto.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_011FqYP3Wf1W63Qmh7qgXAAT
2026-08-17 00:45:51 -05:00
devopsandClaude Sonnet 5 d0ecb5ef16 refactor(frontend): migrar a base+overlay de platform-templates
Reemplaza frontend.yaml + patches/frontend-resources.yaml por un overlay
de Kustomize sobre el base remoto de platform-templates
(workloads/ecommerce/frontend/). Agrega readinessProbe/livenessProbe
(no tenia ninguna, apuntando a /api/health que ya expone el propio
Dockerfile) y securityContext (capabilities NET_BIND_SERVICE agregada
de vuelta por el puerto 80 privilegiado -- frontend ya corre no-root de
antes, sin el problema de chown que tuvo docs-portal). El Ingress
generico del base se excluye via $patch:delete -- frontend comparte
ecommerce-ingress con catalog-api-svc, no le corresponde un Ingress
propio. Validado con kubectl kustomize contra el arbol completo de
workloads/ecommerce antes de aplicar.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_011FqYP3Wf1W63Qmh7qgXAAT
2026-08-17 00:43:10 -05:00