ADR 001: Cloudflare Workers Assets-only Modeの採用

Status

Accepted

Date

2025-11-15

Context

tokyo-prototype-1はrspressで生成される静的サイトをCloudflare Workersでデプロイする。

Cloudflare Workers Static Assetsには2つのデプロイモードがある:

  1. Assets-only mode: Worker scriptなしで静的ファイルのみを配信
  2. Worker + Assets mode: Worker scriptでカスタムロジック(リダイレクト、認証等)を追加

Decision

Assets-only modeを採用する。

設定

# wrangler.toml
name = "tokyo-prototype-1"
compatibility_date = "2025-11-15"

[assets]
directory = "doc_build"

Consequences

Positive

  • シンプル: Worker script (src/index.ts) が不要
  • 保守性: 設定ファイルが最小限
  • 明確性: ディレクトリ構成がクリーン(src/不要)
  • 十分: 静的サイトの配信には十分な機能

Negative

  • カスタムヘッダー、リダイレクト、認証が必要になった場合はWorker scriptの追加が必要
    • ただし、その際はwrangler.tomlmainを追加するだけで移行可能

Neutral

  • 将来的にWorker scriptが必要になった場合の移行パス:
    1. src/index.tsを作成
    2. wrangler.tomlmain = "src/index.ts"binding = "ASSETS"を追加
    3. Worker scriptでカスタムロジックを実装

Notes

  • 当初Worker + Assets modeで実装したが、静的サイトには不要と判断し修正
  • rspressの静的出力(doc_build/)をそのまま配信するだけなので、Assets-only modeで十分