第 01 节
清单身份
每份清单都先声明 schema 版本和项目身份,再进入服务商或应用配置。
version1
是
Schema 版本。当前清单使用版本 1。
projectstring | { key?, name }
是
面向人的项目身份,用于生成的基础设施和文档。
environmentsstring[] | object
否
逻辑环境名称,或带文件选择元数据的环境对象。
第 02 节
服务商配置
服务商配置块保存尚不能以可移植方式表达的专属配置。
providers.vercel.teamSlugstring
否
Vercel 团队标识,用于协调 Vercel 环境、项目和域名。
providers.vercel.env.targetsobject
否
把 preview、production 等 Vercel 目标映射到逻辑 IaC 环境。
providers.vercel.protectionBypassForAutomationvercelProtectionBypassForAutomation
否
每个托管 Vercel 项目的默认自动化绕过操作。需要按 note 重复同步时使用 ensure。
providers.vercel.projectDefaultsvercelProjectSettings
否
应用到每个可部署 Vercel 应用的默认项目设置。
providers.<target>.deploymentsobject
否
服务商部署映射,把 uat、prod 等阶段名称映射到逻辑环境和服务商专属渲染输入。
providers.github.actions.environmentsobject
否
GitHub Actions 环境、变量和密钥发布配置。
第 03 节
Vercel 自动化绕过
自动化绕过属于项目保护配置,不是应用运行时环境变量。
providers.vercel.protectionBypassForAutomation.ensure{ secret, note, isEnvVar? }
否
可重复操作。Vertile IaC 会将 note 与 Vercel 暴露的自动化绕过备注精确匹配;note 已存在时执行 update,不存在时执行 generate。
providers.vercel.protectionBypassForAutomation.generate{ secret?, note? }
否
直接执行 Vercel generate。用于明确的配置或轮换,不用于常规重复同步。
providers.vercel.protectionBypassForAutomation.update{ secret, isEnvVar?, note? }
否
针对已知现有密钥直接执行 Vercel update。
providers.vercel.protectionBypassForAutomation.revoke{ secret, regenerate }
否
针对已知现有密钥直接执行 Vercel revoke。
apps[].providers.vercel.protectionBypassForAutomationfalse | vercelProtectionBypassForAutomation
否
按项目覆盖。设为 false 可让某个 Vercel 项目不使用服务商级自动化绕过默认值。
第 04 节
应用
应用是可部署的应用面。服务商适配器会把应用字段映射到专属项目和设置。
apps[].keystring
是
稳定的应用标识,用于环境同步、服务商清单和项目协调。
apps[].id | apps[].projectIdstring
否
服务商项目 ID,常见值是用于 Vercel 协调的 Vercel 项目 ID。
apps[].rootDirectorystring
否
应用根目录,用于 Vercel 项目设置和环境文件输出。
apps[].domainsdomain[]
否
由服务商域名协调分配给此应用的域名。
第 05 节
环境元数据
环境元数据写在 iac.json 中,驱动本地软件包环境同步、Vercel 环境同步和 GitHub Actions 环境发布。
env.sourceDirstring
否
环境源文件的根目录。默认值为 .vertile-iac/env。
env.sync.apps | env.sync.packagesstring[]
否
纳入本地环境投射的软件包或应用 key。
env.metadata.<source>.variables[]envVariable[]
否
环境 key 的结构化元数据,包含 example、encrypted、browser、软件包路由以及环境包含或排除规则。
生成来源: schema/iac.schema.json 以及发布方为 @vertile-ai/iac。 落地页会在构建前运行 pnpm sync:iac-schemas ,让公开的 schema 文件持续与 IaC 软件包一致。