ADR-012: configuración modular del gateway
Aceptado el 10/11/2026 por Andrés.
Contexto
Un solo JSON de KrakenD se vuelve un cuello de botella: todos los equipos lo tocan y un solo equipo lo aprueba. Antecedente: el caso publicado por KrakenD sobre Linex Travel plantea como siguiente fase la gobernanza federada, con equipos dueños de plantillas y CI/CD que las ensambla.
Decisión
- Cada servicio declara sus rutas en
services/<servicio>/gateway/routes.json, en un formato corto. - Plataforma es dueña de la plantilla base, las macros, los valores por entorno y las políticas.
- El pipeline ensambla con Flexible Configuration, valida (
krakend check, políticas,krakend audit, prueba de humo) y construye una imagen inmutable. - Grupos de gateway (
partners,callbacks) como despliegues separados.
Detalle en docs/to-be/12-gateway-modular.md.
Qué se sacrifica
- Los equipos no pueden usar funciones avanzadas del gateway. Es intencional.
- Un ensamblador propio, necesario porque la edición comunitaria no admite directorios anidados.
Fuentes verificadas el 10/11/2026
- Documentación de KrakenD: Flexible Configuration (variables
FC_*, disponible en la edición comunitaria; directorios anidados y$refen Enterprise). - https://www.krakend.io/case-study/linex-travel/