Skip to main content
Mastra v1 is coming in January 2026. Get ahead by starting new projects with the beta or upgrade your existing project today.

CloudflareDeployer

The CloudflareDeployer class handles deployment of standalone Mastra applications to Cloudflare Workers. It manages configuration, deployment, and extends the base Deployer class with Cloudflare specific functionality.

Usage exampleDirect link to Usage example

src/mastra/index.ts
import { Mastra } from "@mastra/core/mastra";
import { CloudflareDeployer } from "@mastra/deployer-cloudflare";

export const mastra = new Mastra({
// ...
deployer: new CloudflareDeployer({
projectName: "hello-mastra",
routes: [
{
pattern: "example.com/*",
zone_name: "example.com",
custom_domain: true
}
],
workerNamespace: "my-namespace",
env: {
NODE_ENV: "production",
API_KEY: "<api-key>"
},
d1Databases: [
{
binding: "DB",
database_name: "my-database",
database_id: "d1-database-id",
preview_database_id: "your-preview-database-id"
}
],
kvNamespaces: [
{
binding: "CACHE",
id: "kv-namespace-id"
}
]
});

ParametersDirect link to Parameters

projectName?:

string
= 'mastra'
Name of your worker project.

routes?:

CFRoute[]
Array of route configurations for your worker. Each route requires: pattern (string), zone_name (string), custom_domain (boolean, optional).

workerNamespace?:

string
Namespace for your worker.

env?:

Record<string, any>
Environment variables to be included in the worker configuration.

d1Databases?:

D1DatabaseBinding[]
Array of D1 database bindings. Each binding requires: binding (string), database_name (string), database_id (string), preview_database_id (string, optional).

kvNamespaces?:

KVNamespaceBinding[]
Array of KV namespace bindings. Each binding requires: binding (string), id (string).

On this page