Arquitectura y Enrutamiento
Glue2 es el proxy inverso central que se sitúa frente a todos los servicios de HolaCloud. Todo el tráfico entrante — ya sea de navegadores, clientes API o servicios internos — pasa a través de Glue2 antes de llegar a su destino.

Proxy Inverso
Glue2 opera como un proxy inverso de capa 7. Termina TLS, inspecciona cada solicitud, autentica al cliente y luego reenvía la solicitud al servicio backend correspondiente. Ningún tráfico externo llega directamente a los servicios de HolaCloud; Glue2 es el único punto de entrada.
1Cliente ──▶ Glue2 (verificación de auth) ──▶ Servicio Backend
2 │
3 ├──▶ InceptionDB
4 ├──▶ Lambda
5 ├──▶ Files
6 ├──▶ Config
7 ├──▶ KVNode
8 ├──▶ Scheduler
9 └──▶ Logs
Enrutamiento por Host Virtual
Glue2 enruta las solicitudes según el encabezado Host. Cada proyecto de HolaCloud recibe un subdominio único (<proyecto>.hola.cloud), y Glue2 mapea ese subdominio al servicio backend del proyecto.
Los servicios de plataforma integrados usan subdominios reservados:
| Host | Servicio |
|---|---|
inceptiondb.hola.cloud |
InceptionDB |
api.hola.cloud |
API pública (Lambda, Files, Config, etc.) |
console.hola.cloud |
Consola de HolaCloud |
auth.hola.cloud |
Autenticación / Servicio de sesión |
logs.hola.cloud |
InstantLogs |
Cuando llega una solicitud para mi-proyecto.hola.cloud, Glue2 busca el proyecto con ese slug, resuelve su servicio backend principal y reenvía la solicitud.
Flujo del Proxy
- El cliente envía una solicitud HTTP a
<proyecto>.hola.cloud. - Glue2 termina la conexión TLS y lee el encabezado
Host. - Glue2 verifica la autenticación (cookie de sesión, clave API o token OAuth). Si el endpoint requiere autenticación y no se proporciona, la solicitud es rechazada con
401 Unauthorized. - Glue2 resuelve el host virtual a un ID de proyecto y un servicio backend destino.
- Glue2 inyecta los encabezados de autenticación y proyecto en la solicitud.
- La solicitud se reenvía al servicio backend.
- La respuesta del backend se transmite de vuelta al cliente y Glue2 registra la transacción.
Encabezados Inyectados
Al reenviar a un backend, Glue2 inyecta:
| Encabezado | Descripción |
|---|---|
X-Glue-Authentication |
Contexto de autenticación en JSON plano |
X-Holacloud-Project-Id |
El UUID del proyecto derivado del host virtual |
X-Holacloud-Tenant-Project-Id |
ID de proyecto con alcance de inquilino para aislamiento multiinquilino |
X-Forwarded-For |
Dirección IP original del cliente |
X-Forwarded-Proto |
Protocolo original (http o https) |
Los servicios backend usan estos encabezados para identificar al cliente y aplicar autorización. X-Glue-Authentication es JSON plano.
Endpoints de Administración V0
Glue2 expone endpoints de administración bajo /v0/:
Listar Hosts Virtuales
1curl "https://api.hola.cloud/v0/virtualhosts" \
2 -H "Api-Key: TU_API_KEY" \
3 -H "Api-Secret: TU_API_SECRET"
1["mi-proyecto.hola.cloud", "api.mi-proyecto.hola.cloud"]
Estadísticas de Tráfico
1curl "https://api.hola.cloud/v0/stats" \
2 -H "Api-Key: TU_API_KEY" \
3 -H "Api-Secret: TU_API_SECRET"
Estado de Salud del Backend
1curl "https://api.hola.cloud/v0/status" \
2 -H "Api-Key: TU_API_KEY" \
3 -H "Api-Secret: TU_API_SECRET"
1{
2 "backends": [
3 {
4 "name": "inceptiondb",
5 "status": "saludable",
6 "latency_ms": 12
7 }
8 ]
9}
Siguientes Pasos
- Aprende sobre los mecanismos de autenticación en Autenticación.
- Aprende a gestionar claves API en Gestión de Claves API.
Comentarios