Files
ThothII/docs/adr/0004-fastify-kysely-metadata-catalog.md

1.3 KiB

Metadata Catalog nello stesso backend con Kysely

Il Metadata Catalog vive nello stesso processo Fastify come modulo isolato, invece di introdurre un microservizio. Usa il driver pg già presente attraverso Kysely per query, transazioni e migrazioni tipizzate; route, repository, service, readiness e diagnostica restano separati dal workflow e l'indisponibilità del catalogo non rende indisponibili sessioni o SSE.

Considered Options

  • Un microservizio avrebbe conservato letteralmente il backend bridge senza database, ma avrebbe aggiunto deployment, autenticazione e failure mode per un solo contesto amministrativo.
  • Usare soltanto pg avrebbe evitato una dipendenza, ma avrebbe richiesto infrastruttura locale per transazioni, tipi delle righe, ordinamento e locking delle migrazioni.
  • Drizzle o Prisma avrebbero aggiunto schema DSL, generatori e toolchain non necessari a un servizio che vuole mantenere SQL e constraint PostgreSQL espliciti.

Consequences

Il backend possiede una connection pool del catalogo e la chiude con il lifecycle Fastify. Le migrazioni timestampate sono compilate insieme al backend ma vengono eseguite soltanto da catalog:migrate, con credenziali migrator separate dal ruolo DML usato a runtime. Il modulo resta dietro un'interfaccia repository per mantenere unit test e route test indipendenti da PostgreSQL.