@vertile-ai/iac

基础设施,
只表达一次。

iac.json 清单是应用基础设施意图、服务商协调与环境元数据连接的唯一事实源。

参考
Vertile AI IaC Manifest Schema
章节
05

第 01 节

清单身份

每份清单都先声明 schema 版本和项目身份,再进入服务商或应用配置。

路径version
类型

1

必填

Schema 版本。当前清单使用版本 1。

路径project
类型

string | { key?, name }

必填

面向人的项目身份,用于生成的基础设施和文档。

路径environments
类型

string[] | object

必填

逻辑环境名称,或带文件选择元数据的环境对象。

第 02 节

服务商配置

服务商配置块保存尚不能以可移植方式表达的专属配置。

路径providers.vercel.teamSlug
类型

string

必填

Vercel 团队标识,用于协调 Vercel 环境、项目和域名。

路径providers.vercel.env.targets
类型

object

必填

把 preview、production 等 Vercel 目标映射到逻辑 IaC 环境。

路径providers.vercel.protectionBypassForAutomation
类型

vercelProtectionBypassForAutomation

必填

每个托管 Vercel 项目的默认自动化绕过操作。需要按 note 重复同步时使用 ensure。

路径providers.vercel.projectDefaults
类型

vercelProjectSettings

必填

应用到每个可部署 Vercel 应用的默认项目设置。

路径providers.<target>.deployments
类型

object

必填

服务商部署映射,把 uat、prod 等阶段名称映射到逻辑环境和服务商专属渲染输入。

路径providers.github.actions.environments
类型

object

必填

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.protectionBypassForAutomation
类型

false | vercelProtectionBypassForAutomation

必填

按项目覆盖。设为 false 可让某个 Vercel 项目不使用服务商级自动化绕过默认值。

第 04 节

应用

应用是可部署的应用面。服务商适配器会把应用字段映射到专属项目和设置。

路径apps[].key
类型

string

必填

稳定的应用标识,用于环境同步、服务商清单和项目协调。

路径apps[].id | apps[].projectId
类型

string

必填

服务商项目 ID,常见值是用于 Vercel 协调的 Vercel 项目 ID。

路径apps[].rootDirectory
类型

string

必填

应用根目录,用于 Vercel 项目设置和环境文件输出。

路径apps[].domains
类型

domain[]

必填

由服务商域名协调分配给此应用的域名。

第 05 节

环境元数据

环境元数据写在 iac.json 中,驱动本地软件包环境同步、Vercel 环境同步和 GitHub Actions 环境发布。

路径env.sourceDir
类型

string

必填

环境源文件的根目录。默认值为 .vertile-iac/env。

路径env.sync.apps | env.sync.packages
类型

string[]

必填

纳入本地环境投射的软件包或应用 key。

路径env.metadata.<source>.variables[]
类型

envVariable[]

必填

环境 key 的结构化元数据,包含 example、encrypted、browser、软件包路由以及环境包含或排除规则。

生成来源: schema/iac.schema.json 以及发布方为 @vertile-ai/iac 落地页会在构建前运行 pnpm sync:iac-schemas ,让公开的 schema 文件持续与 IaC 软件包一致。