应用程序模板和混音
可用性
模板 manifest and app-record workflow is implemented。它可以列出操作员策划的清单,从一个清单创建新的应用程序记录,在配置环境存储时播种非秘密环境值,并从符合条件的应用程序创建干净的混音记录。
实例化不会部署应用程序。声明的数据库、存储桶和身份验证服务不会自动配置。一些声明的服务本身只是存根,因此清单声明并不是依赖关系存在的证据。
浏览清单
GET /api/apps/templates?category=web&q=next
GET /api/apps/templates/{template_id}该画廊可供公众阅读。清单描述了源 Git URL、分支、运行时默认值、环境变量架构和声明的服务。在实例化之前检查存储库、当前版本、许可证、维护状态和运行时命令。清单是操作员元数据,而不是安全认可。
两个内置种子清单使 API 非空。它们的外部存储库可能会改变或消失,并且还没有对每个种子进行自动烟雾测试。
实例化
POST /api/apps/templates/{template_id}/instantiate
Content-Type: application/json
{
"name": "My app",
"env": {
"NEXT_PUBLIC_APP_NAME": "My app"
}
}该调用创建私有应用程序记录并返回其 app_id、源信息、运行时类型和声明的服务。仅接受清单声明的密钥。此调用不会为秘密字段播种。
实例化后:
- 检查新应用程序的源和运行时设置; 2.通过应用程序环境变量提供机密;
- 自己提供真正的外部依赖项,除非明确报告服务准备就绪; 4.调用部署端点;和
- 通过构建、运行状况检查和激活来跟踪部署。
混音
POST /api/apps/{source_app_id}/remix
Content-Type: application/json
{
"name": "My private remix"
}所有者可以重新组合他们自己的应用程序。另一个用户只能重新混合公开且标记为可重新混合的应用程序。新的应用程序是私人的。
混音包含源 URL、分支、部署类型、端口和沿袭。它故意复制环境值、机密、数据库或存储桶引用、身份验证绑定、检查点、IDE 状态或数据。它也不会分叉或固定远程 Git 存储库。如果源所有者稍后更改或删除该存储库,则新部署可能会有所不同或失败。
为了获得持久的重新混合,请将源代码分叉到您控制的存储库中,检查并固定修订版本,更新新应用程序的源代码,然后进行部署。
模板的发布清单
在将模板呈现为可用之前:
- 确认存储库和许可证;
- 固定或记录经过测试的修订版;
- 验证安装、构建、运行、移植和运行状况行为;
- 在不暴露秘密的情况下测试所需的环境字段;
- 验证每项声明的服务实际上可用;和
- 在干净的环境中实例化、部署、冒烟测试和删除它。