Arquitectura
El sistema se organiza al rededor de un dominio principal que funciona como punto de entrada (landing + hub) y multiples subdominios.
Dominio principal (SDL)
El dominio raiz cumple dos funciones, Landing Page principal y Hub de Navegacion al resto de subdominios. No mantiene contenido ni logica mas alla del estético.
Subdominios
Cada subdominio es un sitio autónomo con proposito y contenido bien definido, se implementan como modulos dentro del monorepo, y se pueden desarrollar, escalar y desplegar de forma independiente.
Monorepo
El monorepo contiene todos los sitios en forma de módulo:
./sites/[domain]/package.json
Y sus paquetes compartidos ./packages/*
Lo que permite la reutilizacion de codigo, consistencia visual y estructural, redefinicion de configuraciones, y control centralizado. Sin perder la autonomia de cada modulo.
Configuracion Compartida
Se define una configuracion global en ./packages/config/*, esta configuracion se aplica en cascada a todos los sitios y puede ser extendida o sobreescrita en cada módulo según necesidad.
UI y Datos Compartidos
Componentes y recursos comunes viven en ./packages/ui/*
Y el proposito es asegurar coherencia visual y evitar duplicar código.
Estructura de cada sitio
Cada modulo sigue una estructura Astro estándar:
[domain]/
src/
content/ # contenido (markdown, data, etc.)
components/ # componentes propios del sitio
layouts/ # layouts
loaders/ # carga de datos / lógica
pages/ # rutas
styles/ # estilos específicos
Esto permite que todos los sitios compartan base comun y mantengan flexibilidad interna.
Infraestructura - Vision General
#TODO: diagrama de los sitios y como se relacionan
- cdn-worker
Gestiona requests, logging y balance de carga- cdnb
Sirve assets estáticos - cdn-tunnel
Conecta al servidor local sin exponerlo- Local Server
Reverse proxy, HTTP server, sirve datos desplegados localmente
- Local Server
- cdn-pages
Sirve contenido desplegado en edge
- cdnb
El primer endpoint es un worker distribuido en edge, minimizando la latencia de distribucion de datos.
Se despliega con redundancia, se aplica la capa de logging antes del load balancer y se sirven los assets desde un servidor diferente, permitiendo alta disponibilidad y trazabilidad.
#TODO: external data injection integration
#TODO:
Definiciones
-dominios:
SDL: “hipnotanatos”
-proposito: main|landing page
-contenido: rutas a otros dominios y landing
-subdominios:
dev.SDL: ""
-proposito: portfolio desarrollador
-contenido: proyectos
artworks.SDL: ""
-proposito: portfolio artistico
-contenido: proyectos
mail.SDL: “eisodos”
-proposito: endpoint de mensajes del sitio
-contenido: mail service
cdnb.SDL: “cdnb”
-proposito: \red de distribucion de contenido y bucket de assets
-contenido: punteros a assets
blog.SDL: #TODO