@ambiten/adapter-fastify
v1.0.0
Published
<div style="display: flex; align-items: center;"> <p > <img src="https://raw.githubusercontent.com/AmbitenHQ/ambiten/main/assets/ambiten-mark-192x192.png" width="56" alt="Ambiten" /> </p> <h2> @ambiten/adapter-fastify</h2> </div>
Readme
Overview
@ambiten/adapter-fastify connects Fastify applications to the Ambiten runtime.
The adapter establishes request execution boundaries using Fastify's lifecycle hooks so runtime context remains available throughout the lifecycle of each request. Tenant information, request metadata, transactions, logging, instrumentation, and runtime services can then participate consistently across handlers, plugins, services, and model operations.
The adapter does not replace Fastify. It allows Fastify to operate as an execution entry point for the Ambiten runtime.
Installation
npm install @ambiten/adapter-fastifyIf you are starting a new application, installing the core runtime is also recommended:
npm install @ambiten/core @ambiten/adapter-fastifyQuick Start
import Fastify from "fastify";
import { AmbitenBootstrapFactory } from "@ambiten/core";
import { createFastifyAdapter } from "@ambiten/adapter-fastify";
const app = Fastify();
const adapter = createFastifyAdapter();
const bootstrap =
await AmbitenBootstrapFactory.create({
adapter
});
await bootstrap.registerMultiTenancy(app);
await app.listen({
port: 3000
});Once installed, incoming requests automatically participate in the Ambiten execution model.
What the Adapter Provides
The adapter acts as the bridge between Fastify and the runtime.
It can establish request-scoped context, initialize tenant boundaries, propagate request metadata, participate in transaction-aware execution flows, and expose runtime state to downstream services and models.
This allows application code to remain focused on business logic while execution concerns remain coordinated by the runtime.
Runtime Flow
Incoming Request
↓
Fastify
↓
Ambiten Adapter
↓
AmbitenContext
↓
Models & Services
↓
MongoDBThe adapter creates the execution boundary. The runtime then carries execution state throughout the remainder of the request lifecycle.
Fastify Integration
The adapter integrates directly with Fastify's request lifecycle and plugin system.
Runtime context is established before application handlers execute and remains available throughout middleware, services, model operations, transactions, and asynchronous execution paths triggered by the request.
This ensures runtime state remains consistent while preserving Fastify's performance-oriented architecture.
Multi-Tenancy
When multi-tenancy is enabled, tenant information can be resolved from incoming requests and made available throughout the active runtime context.
Request
↓
Tenant Resolution
↓
AmbitenContext
↓
Tenant-Aware ExecutionThis allows models and services to operate against the correct tenant boundary without manually passing tenant identifiers through application layers.
Documentation
Complete documentation is available at:
https://ambiten.dev
- Related Packages
- @ambiten/core
- @ambiten/logger
- @ambiten/create
License
MIT
