---
url: /docs/adr/002-terraform-wrangler-boundary.md
---
# 决策 002：基础设施与应用发布分工

**状态：** 已采纳。**日期：** 2026-08-09。

## 问题

上游配置曾让 Terraform 和 Wrangler 同时管理 Worker 字段，部署工具相互覆盖，名称规则也需要两套配置同步。空 Worker 占位没有必要，因为应用部署可创建服务。

## 决策

Terraform 只管理依赖资源：每个环境的两个 Hyperdrive，以及按需启用的上传存储桶。Wrangler 管理 Worker 名称、代码、静态资源、路由、域名、绑定、变量和应用秘密，同一字段不交给两个工具。

公开主机通过 Worker 自定义域名配置，基础设施无需同时管理相同 DNS。工具之间只传递非秘密的资源标识，例如 Hyperdrive ID 和存储桶名称。

## 备选方案

Terraform 同时发布代码会使应用更新依赖基础设施变更，并复制 Wrangler 配置。只用命令创建依赖更简单，但缺少声明式重建和差异检查。按路径拆分同一主机的多个入口时，可重新选择路由和 DNS 方案。

## 影响

应用发布不执行 Terraform，基础设施令牌只授予必要资源权限。代价是每个环境需要把生成的资源 ID 写入对应 Wrangler 配置，自定义域名方案也有主机归属限制。

上传基础设施可选配置不代表主站已经实现上传。参见 [文件上传](../recipes/file-uploads.md) 和 [基础设施规格](../specs/infra-terraform.md)。
