CloudflareDeployer
CloudflareDeployerは、MastraアプリケーションをCloudflare Workersにデプロイし、設定、環境変数、ルート管理を処理します。抽象Deployerクラスを拡張して、Cloudflare固有のデプロイ機能を提供します。
使用例
import { Mastra } from "@mastra/core";
import { CloudflareDeployer } from "@mastra/deployer-cloudflare";
const mastra = new Mastra({
deployer: new CloudflareDeployer({
scope: "your-account-id",
projectName: "your-project-name",
routes: [
{
pattern: "example.com/*",
zone_name: "example.com",
custom_domain: true,
},
],
workerNamespace: "your-namespace",
auth: {
apiToken: "your-api-token",
apiEmail: "your-email",
},
}),
// ... other Mastra configuration options
});
パラメーター
コンストラクタのパラメーター
scope:
string
あなたのCloudflareアカウントID。
projectName?:
string
= 'mastra'
ワーカープロジェクトの名前。
routes?:
CFRoute[]
ワーカー用のルート設定の配列。
workerNamespace?:
string
ワーカーの名前空間。
env?:
Record<string, any>
ワーカーの設定に含める環境変数。
auth:
object
Cloudflare認証情報。
auth オブジェクト
apiToken:
string
あなたのCloudflare APIトークン。
apiEmail?:
string
あなたのCloudflareアカウントのメールアドレス。
CFRoute オブジェクト
pattern:
string
マッチさせるURLパターン(例: 'example.com/*')。
zone_name:
string
ドメインゾーン名。
custom_domain?:
boolean
= false
カスタムドメインを使用するかどうか。
環境変数
CloudflareDeployerは複数のソースから環境変数を扱います:
- 環境ファイル:
.env.production
および.env
ファイルからの変数。 - 設定:
env
パラメーターを通じて渡された変数。
Mastraプロジェクトのリント
Mastraプロジェクトをリントして、ビルドに問題がないことを確認します
npx mastra lint
Mastraプロジェクトのビルド
Cloudflareへのデプロイ用にMastraプロジェクトをビルドするには、以下の手順を実行します。
npx mastra build
ビルドプロセスは、`.mastra/output` ディレクトリに次のような出力構造を生成します。
.mastra/output/ ├── index.mjs # メインワーカーのエントリーポイント ├── wrangler.json # Cloudflare Workerの設定ファイル └── assets/ # 静的アセットおよび依存ファイル
### Wranglerの設定
CloudflareDeployerは、以下の設定を含む `wrangler.json` 設定ファイルを自動的に生成します。
```json
{
"name": "your-project-name",
"main": "./output/index.mjs",
"compatibility_date": "2024-12-02",
"compatibility_flags": ["nodejs_compat"],
"observability": {
"logs": {
"enabled": true
}
},
"vars": {
// .envファイルや設定からの環境変数
},
"routes": [
// 指定されていればルート設定
]
}
ルート設定
ルートは、URLパターンやドメインに基づいてトラフィックをワーカーに振り分けるよう設定できます。
const routes = [
{
pattern: "api.example.com/*",
zone_name: "example.com",
custom_domain: true,
},
{
pattern: "example.com/api/*",
zone_name: "example.com",
},
];
デプロイメントオプション
ビルド後、Mastraアプリケーションの .mastra/output
をCloudflare Workersに以下のいずれかの方法でデプロイできます:
-
Wrangler CLI: Cloudflare公式のCLIツールを使って直接デプロイ
- CLIをインストール:
npm install -g wrangler
- 出力ディレクトリに移動:
cd .mastra/output
- Cloudflareアカウントにログイン:
wrangler login
- プレビュー環境にデプロイ:
wrangler deploy
- 本番環境へのデプロイ:
wrangler deploy --env production
- CLIをインストール:
-
Cloudflareダッシュボード: Cloudflareダッシュボードからビルド出力を手動でアップロード
出力ディレクトリ
.mastra/output
でwrangler dev
を実行することで、Mastraアプリケーションをローカルでテストすることもできます。