dec-0032

Vista generada de dec-0032: NATS leaf hub-and-spoke (home node tras CGNAT abre OUTBOUND al VPS, el hub nunca dialea) + accounts NATS explícitas desde el setup (STYX+system, NO $G global).

ImplementadoSin versión del tren todavía· generada desde docs/decisions/dec-0032-nats-leaf-hub-and-spoke-home-node.md
track/docsdec-0124track/docs:DC10

Vista generada desde docs/decisions/dec-0032-nats-leaf-hub-and-spoke-home-node.md. No se edita a mano: bun run docs:gen la regenera y bun run docs:check falla si difiere. El estado aquí es el del model: si discrepa con otra página, manda el model.

CampoValor
EstadoLOCKED (migrado de un rNN por gate-3: el fichero no declara estado)
Referencia legadar27-L2
Ficherodocs/decisions/dec-0032-nats-leaf-hub-and-spoke-home-node.md

Enmendado o sustituido por: r48

Por qué importa (del frontmatter del ADR):

F-IDENTITY en roadmap.spec.yml: 'accounts NATS explícitas... NATS minimumFeatureSet + spike... NO v2.14.2 a ciegas — r28 corrige el over-lock de r27'

Nodos del roadmap que lo citan en refs: ninguno.

Páginas de la documentación que lo citan: ninguna todavía.

Texto del ADR

Leído de docs/decisions/dec-0032-nats-leaf-hub-and-spoke-home-node.md, el fichero canónico.

NATS leaf hub-and-spoke (home node tras CGNAT abre OUTBOUND al VPS, el hub nunca dialea) + accounts NATS explícitas desde el setup (STYX+system, NO $G global).

NATS leaf hub-and-spoke (home node tras CGNAT abre OUTBOUND al VPS, el hub nunca dialea) + accounts NATS explícitas desde el setup (STYX+system, NO $G global).

Por qué pasa gate-3

  • Hard-to-reverse: Cambiar topologia leaf a gateway/cluster requiere re-diseñar toda infra de red, rompe CGNAT. Migrar de global accounts a segmented post-facto es friccion real documentada.
  • Surprising sin contexto: Un ingeniero NO inferiria por que se rechazo gateway/cluster (requiere reachability bidireccional imposible con CGNAT). Ni por que NATS 2.14 pinned (desbloquea WorkQueue/Interest sourcing).
  • Trade-off real: Alternativas rechazadas: (1) gateways vs leaf nodes (gateways necesitan reachability bidireccional, imposible con CGNAT), (2) global $G account vs accounts explicitas (migrar luego es costoso), (3) NATS version default vs 2.14 pinned (sin 2.14 se pierden jobs de home intermitente).

Procedencia

Split de docs/decisions/r27-nodes-nats-plugins-acquisition-2026-06-21.md (lock r27-L2) durante PASO 7 (2026-07-16). Ver el fichero padre para el contexto completo del pack original.