Olympus

Capacidades transversales compartidas

.NETNext.jsPostgreSQLgRPCHelmNuGet

Olympus es la plataforma de capacidades transversales que comparten varios productos del ecosistema. En lugar de que cada aplicación reimplemente su propio multi-tenancy, su autenticación, su acceso a modelos de lenguaje o su auditoría, esas piezas viven una sola vez y se consumen como paquetes versionados. La idea que lo sostiene es que las decisiones difíciles —cómo se aísla un inquilino, cómo se demuestra que un registro no se ha alterado— se toman en un solo sitio y se heredan, en vez de repetirse con matices distintos en cada producto.

Qué hace

Resuelve de una vez lo que toda aplicación multi-inquilino necesita y casi ninguna quiere volver a escribir.

  • Aísla inquilinos con row-level security compuesta por aplicación e inquilino, de modo que una misma base sirve a varios productos sin mezclarlos.
  • Centraliza la autenticación e identidad federada mediante OIDC.
  • Ofrece un gateway de IA común para el acceso a modelos de lenguaje desde cualquier producto.
  • Proporciona recuperación aumentada por contexto (RAG) como capacidad compartida.
  • Entrega notificaciones multicanal con una sola configuración.
  • Ejecuta acciones salientes idempotentes, para que un reintento no duplique el efecto.
  • Registra auditoría inmutable encadenada por hash, donde alterar un evento invalida los posteriores.
  • Comparte un frontend común para las aplicaciones Next.js del ecosistema.

Arquitectura

La forma de distribución es tan importante como las capacidades: todo se publica como paquetes, y la coherencia entre ellos se verifica en la integración continua.

  • Monorepo dual .NET y pnpm con 27 paquetes NuGet publicables organizados en capas, más un meta-paquete que fija el conjunto.
  • Paquetes npm para la interfaz y el núcleo del dashboard, con su propio meta-paquete.
  • Versionado en lockstep entre los dos ecosistemas, verificado por tests que fallan si alguno se desincroniza.
  • Contratos canónicos en Protocol Buffers como fuente de verdad de la comunicación entre servicios.
  • Guardrails de integración continua y tests de contrato y estructura que impiden que un paquete se salga del diseño.
  • Infraestructura de pruebas con imágenes fijadas por versión, para que un test no cambie de resultado por una actualización ajena.
  • Despliegue mediante charts Helm de tipo umbrella y librería, con observabilidad en Grafana.

Stack

Backend en C# sobre .NET distribuido como paquetes NuGet en capas, frontend compartido en Next.js con TypeScript publicado como paquetes npm, contratos en Protocol Buffers, persistencia PostgreSQL con row-level security compuesta y despliegue en Kubernetes con Helm.

Volver a proyectos