# Red y exposición > **TODO (fase 2+):** explicar cada dominio, por qué está proxied vs > DNS-only en Cloudflare, y el manejo de TLS extremo a extremo. Tabla > de dominios abajo es real, pendiente de expandir con capturas/ejemplos. ## Dominios activos | Dominio | Servicio | Namespace | TLS | |---|---|---|---| | `shop.cruzcloud.net` | Frontend Next.js (storefront) | `ecommerce` | Cloudflare (edge) | | `commerce.cruzcloud.net` | Medusa Store/Admin API | `ecommerce` | Cloudflare (edge) | | `media.cruzcloud.net` | MinIO (imágenes de producto) | `ecommerce` | Cloudflare (edge) | | `gitea.cruzcloud.net` | Gitea | — | Cloudflare (edge) | | `docs.cruzcloud.net` | Este portal | `docs` | Cloudflare (edge) | ## TODO - Diagrama de TLS termination (dónde termina TLS realmente: en Cloudflare, no en Traefik — el tráfico interno NPM→k3d es HTTP plano). - Explicar por qué el transporte del túnel se fijó a HTTP/2 en vez de QUIC (ver [ADR 0003](../decisiones/0003-por-que-http2-sobre-quic-tunnel.md) y el [playbook del 504](../playbooks/incidente-504-gitea-tunnel.md)). - Patrón de diagnóstico "interno sano, público roto" (ver [playbook de imágenes NPM](../playbooks/incidente-imagenes-npm.md)).