Motor de busqueda self-hosted, sin que Medusa lo conozca todavia (eso es Fase 2). Mismo patron que redis/postgres/minio en este mismo namespace: StatefulSet + PVC via volumeClaimTemplates en local-path, nunca Deployment ni emptyDir -- el indice de Meilisearch necesita sobrevivir a un reinicio del pod para no reindexar todo desde cero. Imagen getmeili/meilisearch:v1.53.1 (ultimo release estable no-RC, verificado contra la API de GitHub, no memoria de entrenamiento). Recursos exactos del ADR (request 100m/256Mi, limit 500m/768Mi). Sin securityContext explicito -- verificado en vivo que la imagen no trae un usuario no-root (Alpine minimo, /etc/passwd sin usuario dedicado), misma convencion que redis.yaml/minio.yaml en este repo, que tampoco fuerzan runAsNonRoot. MEILISEARCH_HOST (no secreto) va al ConfigMap commerce-config. MEILI_MASTER_KEY/MEILISEARCH_API_KEY (mismo valor, dos nombres de env var -- uno para el servidor, otro para el futuro plugin de Medusa en Fase 2) documentados en secrets.template.yaml; el valor real ya se aplico al Secret commerce-secrets en el cluster antes de este merge (patch puntual, no via create-commerce-secrets.sh completo -- ese script regenera TODAS las credenciales en cada corrida y hubiera rotado postgres/redis/minio ya en uso).
ARI Shopping Headless Storefront v4.1
Actualización enfocada en UX, interactividad y rendimiento sobre Next.js 15.5.10.
Correcciones principales
- Encabezado blanco premium con acentos cyan, violeta, fucsia y navegación negra.
- Imágenes promocionales sin
opacity,mix-blendni filtros de color. - Menú principal funcional mediante Drawer accesible de Radix UI.
- Cuenta y favoritos funcionales.
- Carrusel con flechas, teclado, scroll suave y
scroll-snap. - Zoom real de producto entre 100% y 300%, rueda, botones, doble clic y arrastre.
- Thumbnails WebP dedicados para tarjetas, búsqueda, carrito y favoritos.
- Recursos originales recomprimidos y caché HTTP para
/images. next/imageen modounoptimizedporque los recursos ya vienen procesados; evita latencia del optimizador durante la primera visita.- Menos componentes animados con JavaScript; las tarjetas usan transiciones CSS.
content-visibilitypara contenido fuera de pantalla.- Pantalla
loading.tsxpara transiciones de ruta.
Validación
npm ci
npm run typecheck
npm run build
Flujo
Gitea → Gitea Actions → Registry → actualización de frontend.yaml → Argo CD → Kubernetes.