Configuration file
面向用户的 Appaloft 配置文件字段说明。
配置文件适合保存可审查的项目、资源、环境和部署默认值。Secret 值不应该直接写入仓库。
字段应按 project、resource、environment、deployment 和 access 分类解释,避免暴露内部实现术语。
env 用来写非敏感值,secrets 用来声明由仓库外部提供的值:
env:
APP_URL: "http://{pr_number}.preview.example.com"
secrets:
APP_SECRET:
from: ci-env:APP_SECRET
required: truePull request preview 部署里,非敏感 env 值可以使用 {pr_number} 和 {preview_id}。
secret 值本身必须保存在 GitHub Secrets、其他 CI secret store,或 Appaloft 管理的 secrets 中。
controlPlane 用来保存可审查的部署所有权默认值:
controlPlane:
mode: nonemode: none 表示纯 CLI 或 Action SSH 部署。自托管 Appaloft server 应拥有部署状态,并且
Action 应调用 server API 而不是直接改 SSH PGlite 时,使用 mode: self-hosted 和可信 url。
controlPlane.url 不是 secret,但必须是没有凭据、路径、query 或 fragment 的 http 或
https origin。Token、SSH key、仓库身份、organization/tenant/provider account identity、database
URL、secret value 和 broad target identity 不应写进仓库配置。
对于 self-hosted Action deploy,普通路径不需要在配置中写 project/environment/resource/server ids。
Server 应从 source-link state、deploy-token scope、source binding,或可信 GitHub repository/ref/
revision/preview context 解析目标。controlPlane.deploymentContext 只用于很窄的一次性 bootstrap、
relink、override 或 support/debug workflow,并且只能包含 project、environment、resource、server 和可选 destination ids。
controlPlane:
mode: self-hosted
url: https://console.example.com
deploymentContext:
projectId: prj_www
environmentId: env_prod
resourceId: res_www
serverId: srv_prod