Agrega lo que faltaba para desplegar workloads/docs-portal/ (ya existente sin commitear): deployment/service/ingress + kustomization siguiendo el patrón de workloads/nginx, Applications de workload y gobernanza separadas, y el workflow de Gitea Actions (build+push a Gitea Registry, bump de versión en el manifiesto) siguiendo el mismo patrón que build.yaml/build-medusa.yaml.
26 lines
1.2 KiB
Markdown
26 lines
1.2 KiB
Markdown
# 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)).
|