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.