Files
devopsandClaude Sonnet 5 8c79a045fd refactor(medusa): migrar a base+overlay de platform-templates
Reemplaza medusa.yaml (Deployment+Service en un solo archivo) por un
overlay de Kustomize sobre el base remoto de platform-templates
(workloads/ecommerce/commerce/medusa/). Agrega securityContext,
incluyendo runAsUser: 1000 explicito desde el arranque (confirmado con
'docker run ... id node' contra la imagen real antes de asumir el UID
-- ya se aprendio en la migracion de frontend que runAsNonRoot solo no
alcanza si el USER de la imagen es un nombre). El podAffinity del
workaround de MTU/PMTUD y los 2 initContainers (wait-for-postgres,
migrations) se preservan igual, son campos aditivos que no forman
parte del base. El Ingress generico del base se excluye via
$patch:delete -- medusa no tiene Ingress propio, comparte
commerce-ingress. 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:52:15 -05:00

63 lines
1.7 KiB
YAML

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: ecommerce
# Solo Deployment + Service -- el Ingress de commerce vive en
# ingress-commerce.yaml dentro de workloads/ecommerce/commerce/,
# separado de este Deployment/Service, no le toca al overlay.
resources:
- https://gitea.cruzcloud.net/devops/platform-templates.git//k8s-manifests/base?ref=main
patches:
# medusa no tiene Ingress propio (el commerce-ingress vive aparte,
# en workloads/ecommerce/commerce/ingress-commerce.yaml) -- mismo
# patrón que frontend, borrar el Ingress genérico del base.
- target:
kind: Ingress
name: app-ingress
patch: |-
$patch: delete
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: app-ingress
- target:
kind: Deployment
name: app-deployment
path: patches/deployment.yaml
- target:
kind: Service
name: app-svc
path: patches/service.yaml
- target:
kind: Deployment
name: app-deployment
patch: |-
- op: replace
path: /metadata/name
value: medusa-deploy
- op: replace
path: /spec/template/spec/containers/0/ports
value:
- name: http
containerPort: 9000
- target:
kind: Service
name: app-svc
patch: |-
- op: replace
path: /metadata/name
value: medusa-svc
# Mismo motivo que el ports de la Deployment: el puerto de Medusa
# (9000) no coincide con el default del base (80), así que un
# patch de merge normal duplica en vez de reemplazar.
- op: replace
path: /spec/ports
value:
- name: http
port: 9000
targetPort: 9000