Skip to Content
快速開始什麼是 Edge Workers

什麼是 Edge Workers

Edge Workers 讓每個 TeamSync 部門在每個應用環境擁有一個小型 HTTP Worker,跑在 Cloudflare Workers for Platforms 上(在地端部署中則跑在客戶自己的主機上)。部門管理者提交一個標準化的 JavaScript/TypeScript 專案;平台以確定性方式建置、以不可變修訂版部署,並用兩種方式對外提供:經過驗證的 TeamSync 後端(/worker/invoke/…),以及由五種存取模式之一守護的平台公開 URL,可對整個 Worker 設定,也可逐操作設定。

它刻意不是一個通用 serverless 平台:

  • 每個部門每個環境一個 Worker — 由資料庫強制。新 API 是同一個 Worker 下一個修訂版裡的新路由。
  • 僅限 JS/TS;Python、Wasm、容器、預建 bundle、使用者自訂建置外掛一律拒絕。
  • 依賴只能來自釘死版本、經審查的目錄(目前只有 zod@4.3.6)— 絕不 npm install。
  • 在 Cloudflare 上,Worker 程式碼的對外網路存取不受限制 — 沒有 Outbound Worker、沒有允許清單、沒有 egress 政策;fetch() 直接送達任何目的地(無法使用原始 TCP connect() — bundle 不能匯入 cloudflare:sockets)。地端部署中,fetch() 可連到網際網路與客戶的區域網路,只排除固定的拒絕清單(link-local、loopback 與 edge 控制子網)。唯一的界限是每次呼叫:預設 500 個子請求與 50 ms CPU — 後端依 EDGE_WORKERS_LIMIT_SUBREQUESTS/EDGE_WORKERS_LIMIT_CPU_MS 簽進每個後端請求,公開通道則採用 dispatcher 的 EDGE_WORKER_SUBREQUESTS/EDGE_WORKER_CPU_MS(限制)。
  • 狀態 = 每個 Worker 一個 SQLite Durable Object,經由有界的儲存介面存取。沒有其他 Cloudflare binding。
  • 租戶永遠拿不到 Cloudflare 憑證、Wrangler 設定、自訂網域或 cron trigger。Worker 需要的憑證放進僅可寫入、由 TeamSync 管理的 Worker 機密,由 handler 程式碼以 context.secrets 讀取。

角色

角色可以做什麼
部門成員(部門內任何 JWT 使用者)讀取 Worker、版本(含 SBOM/回執)、部署票證、生成的 OpenAPI;透過閘道呼叫已部署的 API;下載範本與 CLI
部門管理者(角色 ≥ 2)以上全部 + 提交版本、下載某個版本的原始碼、部署、管理存取政策(整個 Worker 與逐操作)、API 金鑰、執行期設定、Worker 機密、服務帳號
公司管理者(角色 ≥ 3)全公司部門清單總覽、各部門健康狀態,以及 uncertain 部署的修復動作
平台操作者用 deploy-platform.mjs 佈建 dispatcher Worker(平台維運)

一切都只收 JWT — API 金鑰與整合憑證不被接受(沒帶 Bearer JWT 的請求回 418),服務帳號的 JWT 則以 403 拒絕。見驗證與角色。

工作的形狀

get the CLI from your backend (or start from a starter, no CLI) edit manifest + src → generate → validate → test → dev (local, CLI) → submit (201: immutable ready revision) → deploy (202: ticket) → poll until completed → invoke (gateway or public URL) · openapi.json / web app API 文件

先用快速上手完整跑一次;之後操作流程與參考資料都是查閱用。

還有什麼

Last updated on