Contenedores y Servicios
Esta sección describe los principales contenedores (servicios y aplicaciones) que componen la plataforma regional, así como sus responsabilidades y relaciones.
Vista General de Contenedores
A nivel de contenedores, La Plataforma se compone de:
-
Frontend
portal-web: Portal web de auditoría y observabilidad.devs-portal: Sitio de documentación (Docusaurus).playground-library: Playground para la librería de auditoría/UI.
-
Backend (APIs y BFF)
bff-api: Backend for Frontend. Punto central de acceso para elportal-web.auth-api: Manejo de autenticación, login, 2FA, scopes, refresco de tokens, etc.applications-api: Gestión de aplicaciones/módulos registrados en la plataforma.tenants-api: Soporte multi-tenant (país, unidad de negocio, etc.).core-api: Lógica de negocio central (reglas, dominios transversales).reports-api: Generación y orquestación de reportes.
-
Infraestructura y Datos
MongoDB: Base de datos principal para eventos de auditoría y trazas.Redis: Cache para optimizar consultas frecuentes o sesiones.Kafka: Broker de mensajería para ingesta de eventos.S3 / Storage: Bucket para archivos o adjuntos relacionados (si aplica).
-
Servicios Externos
apolo-rm-access-management: Gestión de usuarios, roles, scopes, Client IDs.- Servicios IAM corporativos / ADFS / Microsoft Graph.
Frontend
portal-web
- Portal central para:
- Visualizar eventos de auditoría.
- Filtrar por sistema, usuario, rol, país, tipo de evento, etc.
- Descargar reportes o iniciar procesos de análisis.
- Se comunica exclusivamente con
bff-api.
devs-portal
- Sitio de documentación técnica (Docusaurus v3).
- Centraliza:
- Guías de desarrollo.
- Arquitectura.
- Estructura del proyecto.
- API docs y prácticas de contribución.
playground-library
- Entorno aislado para:
- Probar la librería de auditoría.
- Prototipar componentes UI compartidos.
- Validar integraciones y ejemplos.
Backend
bff-api (Backend for Frontend)
- Expone endpoints pensados para el portal-web.
- Orquesta información desde:
auth-apiapplications-apicore-apireports-apitenants-api- Bases de datos y servicios externos.
- Aplica:
- Adaptación de datos para el frontend.
- Agrupación de información de múltiples fuentes.
auth-api
- Responsable de:
- Login (credenciales, SSO).
- 2FA.
- Gestión de contraseñas.
- Bloqueo/desbloqueo de usuarios.
- Scopes y permisos asignados al usuario.
- Integra con:
apolo-rm-access-management.- IAM / ADFS / proveedores externos de identidad.
applications-api
- Mantiene el catálogo de aplicaciones/módulos integrados.
- Asocia cada app a:
- País.
- Dominio.
- Tenants.
- Reglas de auditoría específicas.
tenants-api
- Gestión de tenants (regiones, países, unidades de negocio).
- Permite que la plataforma opere en un contexto multi-país / multi-tenant.
core-api
- Contiene lógica de negocio transversal.
- Reglas centrales de auditoría, validación y modelos de dominio.
reports-api
- Encargado de:
- Exponer endpoints para generación de reportes.
- Integrarse con servicios como Power BI.
- Gestionar parámetros, filtros y acceso a reportes.
Infraestructura de Datos y Mensajería
Kafka / Redpanda
- Backbone de mensajería para eventos de auditoría.
- Recibe mensajes desde la librería de auditoría integrada en las aplicaciones.
- Publica en tópicos tipados (por ejemplo
ABM_LOGIN_TOPICy otros).
MongoDB
- Base de datos para almacenar:
- Eventos de auditoría procesados.
- Metadatos de acciones.
- Información necesaria para consultas y reportes.
Redis
- Aceleración de:
- Consultas frecuentes.
- Ciertos flujos de autenticación o configuración.
Integraciones Externas
apolo-rm-access-management
- Sistema externo responsable de:
- Usuarios.
- Roles.
- Scopes.
- Client IDs.
- La plataforma consulta este sistema para enriquecer información de auditoría y validar permisos.
Para una representación visual de estas relaciones, revisa Diagramas.