10-platforms/ovh-cloud/docs/arquitectura.md

2.0 KiB

Arquitectura

Papel de OVH

OVH es la frontera pública endurecida de MESAVAULT.

Su papel correcto es:

  • publicar servicios web
  • centralizar identidad y MFA
  • alojar tenants de cliente
  • enrutar subrutas públicas
  • actuar como ingress LoRaWAN
  • hablar con el stack por Tailscale

Separación correcta con platform-40

La arquitectura consolidada es:

OVH

  • Traefik
  • Authentik
  • logout handler
  • Gateway Bridge
  • tenant Grafana del cliente
  • routing /control/*

platform-40

  • Mosquitto
  • ChirpStack core
  • Grafana interno
  • MinIO
  • Portainer
  • PostgreSQL
  • servicios de vertical
  • persistencia real

Principio clave

OVH no guarda datos del backend. OVH enruta y autentica. platform-40 sí guarda datos.

Caso drenaje

Arquitectura final documentada:

Cliente final
https://elpicon.panel.mesavault.es
→ Grafana tenant del cliente en OVH
→ iframe a /control/ui
→ OVH VPS
→ Traefik + Authentik + routing /control/* + logout handler + Tailscale
platform-40
drain_control_api, drain_control_scheduler, drain01_norm, drain01_pg, mv_postgres_hot, mv_mosquitto, cs_chirpstack
→ ChirpStack
→ nodo físico LSN50 + XKC

Decisión clave de publicación

Se valoraron dos estrategias:

  • subdominio separado para control
  • subruta dentro del mismo tenant

La decisión final fue:

  • publicar la UI en /control/ bajo el mismo host del tenant del cliente

Motivos:

  • un solo host por cliente
  • más limpio para escalar
  • mejor integración visual
  • más fácil de embeber en Grafana
  • arquitectura más coherente con el tenant público del cliente

Tailscale

Tailscale es el enlace correcto entre OVH y platform-40 para que OVH hable con el stack sin abrir servicios internos a Internet.

Advertencia importante

Con Tailscale activo, cualquier contenedor publicado en 0.0.0.0 en platform-40 pasa a ser accesible también por la interfaz Tailscale. Por eso el criterio correcto de exposición mínima se reforzó tanto en el frontal como en el backend.