Skip to main content

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 el portal-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-api
    • applications-api
    • core-api
    • reports-api
    • tenants-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_TOPIC y 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.