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
63 lines
1.7 KiB
YAML
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
|