Compare commits

...
Author SHA1 Message Date
devops 0189f2369e commerce-ingress: redirect root to /app instead of 404ing
commerce.cruzcloud.net (medusa-svc) has no route at "/" — Medusa only
serves /health, /app (admin), /store, etc. lab-agent's generic public
domain check flagged the resulting 404 as an anomaly every cycle even
though the service is healthy.

Adds a Traefik Middleware (redirectRegex) scoped to the commerce host
that 301s "/" to "/app", so the DNS/routing layer owns the entry point
instead of every client (including monitoring) having to know to
append /app manually. Regex includes the host explicitly because the
same Ingress also routes media.cruzcloud.net and shares
router.middlewares at the Ingress-annotation level.
2026-08-26 13:29:41 -05:00
devops 56ab9d1862 Merge branch 'fix/lab-agent-telegram-horario' into main
Build and Push Docs Portal / Construir y publicar Docs Portal (push) Successful in 8m43s
Build and Push Docs Portal / Escaneo de Secretos (Gitleaks) (push) Successful in 40s
Documenta el cambio a Telegram (silencioso para info, hilos al
recuperarse, log adjunto), la pausa nocturna 06:00-23:00 con su
tensión sin resolver con la ventana de medusa-deploy, la activación
del timer de systemd (60 min, bajado de 15 para reducir costo) con el
gotcha de Environment=HOME= para systemd --user, y el costo mensual
estimado actualizado.
2026-08-26 00:29:13 -05:00
gitea-actions 680f3ba068 chore(gitops): deploy Docs Portal v1.0.161 [skip ci] 2026-08-26 04:29:35 +00:00
4 changed files with 19 additions and 1 deletions

No files matched your search

@@ -25,7 +25,7 @@ spec:
runAsNonRoot: false
containers:
- name: app
image: gitea.cruzcloud.net/devops/docs-portal:v1.0.159
image: gitea.cruzcloud.net/devops/docs-portal:v1.0.161
# El base saca TODAS las capabilities. Probado en vivo y
# revertido: con drop: ALL (aunque se agregue NET_BIND_SERVICE
# de vuelta) el propio entrypoint de nginx:1.27-alpine falla al
@@ -4,6 +4,7 @@ metadata:
name: commerce-ingress
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: web
traefik.ingress.kubernetes.io/router.middlewares: ecommerce-commerce-redirect-app@kubernetescrd
spec:
ingressClassName: traefik
rules:
@@ -9,3 +9,4 @@ resources:
- minio-bootstrap-job.yaml
- medusa/
- ingress-commerce.yaml
- middleware-commerce-redirect.yaml
@@ -0,0 +1,16 @@
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: commerce-redirect-app
spec:
# Redirige solo la raíz exacta de commerce.cruzcloud.net a /app (admin de
# Medusa) — el regex incluye el host a propósito: esta Middleware se
# referencia desde el mismo Ingress que también enruta media.cruzcloud.net,
# y sin el host en el regex un request a la raíz de ese otro dominio
# también matchearía (ambas rutas comparten Ingress -> mismas
# router.middlewares). Si el regex no matchea, Traefik deja pasar el
# request sin modificarlo.
redirectRegex:
regex: "^https?://commerce\\.cruzcloud\\.net/$"
replacement: "https://commerce.cruzcloud.net/app"
permanent: true