Glue2

Glue2 es la puerta de enlace central de API para HolaCloud. Autentica cada solicitud entrante, la enruta al servicio backend correcto y recopila registros de acceso. Todo el tráfico hacia los servicios de HolaCloud pasa a través de Glue2.

Autenticación

Glue2 soporta tres mecanismos de autenticación:

Sesiones

Sesiones basadas en navegador autenticadas mediante HolaAuth. Tras el inicio de sesión, la cookie de sesión se utiliza para autenticar solicitudes posteriores.

Claves API

Acceso máquina a máquina mediante un par de clave y secreto de API. Se envían como los encabezados HTTP apikey y secret y se validan contra las credenciales del proyecto.

OAuth

La integración con OAuth 2.0 permite la autenticación a través de proveedores externos. Glue2 valida los tokens e inyecta información de identidad del usuario en las solicitudes proxy.

Enrutamiento por Host Virtual

Glue2 enruta las solicitudes según el encabezado Host. Cada proyecto en HolaCloud obtiene un subdominio único (project.hola.cloud), y Glue2 mapea las solicitudes entrantes al servicio backend correspondiente para ese proyecto.

1┌─────────────┐     ┌──────────┐     ┌──────────────┐
2│  Cliente    │────▶│  Glue2   │────▶│  Svc Proyecto │
3└─────────────┘     └──────────┘     └──────────────┘
45                           ├────▶ InceptionDB
6                           ├────▶ Lambda
7                           ├────▶ KVNode
8                           └────▶ Files / Config / etc.

Encabezados Inyectados

Cuando Glue2 reenvía una solicitud a un servicio backend, inyecta los siguientes encabezados:

Encabezado Descripción
X-Glue-Authentication Contexto de autenticación en JSON plano
X-Holacloud-Project-Id El ID del proyecto extraído del host virtual
X-Forwarded-For La dirección IP original del cliente

Los servicios backend utilizan estos encabezados para autorización y aislamiento de inquilinos.

Registros de Acceso

Todas las solicitudes que pasan por Glue2 se registran con:

  • Marca de tiempo y duración de la solicitud
  • IP del cliente y agente de usuario
  • Método, ruta y código de estado de la solicitud
  • ID del proyecto y método de autenticación
  • Servicio backend destino y tiempo de respuesta

Los registros se transmiten a InstantLogs para monitoreo y análisis en tiempo real.

Comentarios

Deja un comentario