Skip to Content
Testing应用程序环境变量

应用程序环境变量

OpenFactory 可以存储应用程序范围和帐户范围的环境值, 静态加密它们,并在部署期间将它们渲染到候选应用程序虚拟机中。 这是早期的文件支持的秘密存储,而不是托管保管库。

范围和优先级

  • 帐户值是该帐户拥有的每个应用程序的可重复使用的默认值。
  • 应用程序值会覆盖同名的帐户值。
  • 托管值由配置的生产者令牌写入并记录 拥有密钥的生产者。
  • 更改后的值递增 env_version;成功的部署会记录 应用版本。差异意味着需要重新部署。

名称必须是大写环境标识符,限制为 128 字符,并且不能使用保留的 OPENFACTORY_ 前缀。用户值为 限制为 8 KiB,应用程序限制为 100 个密钥。

MCP 工作流程

列表操作始终屏蔽值。仅在必要时显示一个值:

set_app_env( app_id="550e8400-e29b-41d4-a716-446655440000", set={"API_BASE_URL": "https://api.example.internal"} ) list_app_env(app_id="550e8400-e29b-41d4-a716-446655440000") reveal_app_env( app_id="550e8400-e29b-41d4-a716-446655440000", name="API_BASE_URL" )

相同的模式可用作 set_account_envlist_account_envreveal_account_env。应用程序级设置/删除操作返回 env_versionredeploy_hint;设置值不会改变正在运行的虚拟机。

静止表面

方法路径目的
GET/api/apps/{app_id}/env屏蔽的应用程序密钥列表和版本状态
PUT/api/apps/{app_id}/env应用程序密钥的事务设置/删除
POST/api/apps/{app_id}/env/reveal经审计的明文揭示一个应用程序密钥
GET/api/account/env隐藏帐户密钥列表
PUT/api/account/env帐户密钥的交易设置/删除
POST/api/account/env/reveal经审计的明文揭示一个帐户密钥
PUTPUT/api/apps/{app_id}/env/managed
DELETE/api/apps/{app_id}/env/managed/{name}生产者删除其拥有的托管密钥

用户表面强制执行已解析的所有者上下文。托管端点使用 来自运营商配置的生产者令牌的 <kid>.<secret> 持有者凭证 文件;如果没有该文件,生产者 API 将返回不可用。

部署行为

在部署期间,后端解密帐户值、覆盖应用程序值、添加 平台的运行时字段,并在VM中写入/etc/openfactory/app.env 模式为 0600。该进程以该文件作为其环境启动。 如果解密、文件传送或启动失败,则不会晋升候选人。

安全边界

  • 存储值使用 Fernet 加密。运营商必须提供并保护 OPENFACTORY_ENV_MASTER_KEY;失去或替换它会产生现有的价值 无法解密。
  • 列表响应被屏蔽。显式揭示和突变附加 JSONL 审计事件。
  • 当前存储和审计跟踪是本地文件。他们不提供 硬件支持的密钥、多方批准、防篡改日志记录、自动 轮换或灾难恢复保证。
  • 应用程序和部署日志尚未提供完整的秘密编辑 边界。一个打印其环境、带有凭证的 URL 的进程, 或者错误中的秘密可以在日志和测试证据中暴露它。

因此,请勿将此预览存储用于生产凭据,直到 您的部署具有独立的访问控制、备份和恢复测试, 日志编辑验证、保留规则和记录的密钥轮换 程序。切勿在配方、源代码、命令、URL、测试中放置秘密 描述或断言期望。

请参阅应用部署 了解候选人晋升流程。