应用已经能 fly deploy,但数据库连接串仍写在镜像或聊天记录里——或 set 了 Secret 却马上全量重启打断流量。
Fly.io Docs《Secrets and Fly Apps》(dateModified 可核)说明:可用 fly secrets 为 Fly App 指定密钥;敏感值经加密存入 vault,并在该 App 下每个 Machine(无论是否由 Fly Launch 管理)运行时作为环境变量可用。非敏感值也可放进 secrets,同样以环境变量注入。构建镜像所需密钥见 Build secrets,与运行时 secrets 分开。架构上:经 flyctl 设置时,值经 API 写入应用 vault;API 服务器只能加密、不能解密;密钥值不会被记录。启动 Machine 时平台向宿主机签发临时令牌,由主机上的 agent 解密并在启动时注入环境变量;销毁 Machine 后主机不再能访问这些密钥。文档警告:平台设计阻止经 flyctl/API 直接导出用户密钥,但应用代码仍能读环境变量——拥有部署权限的人可部署读 Secret 打日志或写入未加密存储的代码。工作流包括 fly secrets set(更新 Machine,导致重启与临时盘重置)、--stage(只更新 vault,延后到之后启动/更新的 Machine)、fly secrets list(显示名称与摘要/时间,不显示明文)以及 unset;并支持将密钥挂载为文件。本场景据此输出密钥配置简报。禁止回显明文 Secret 或声称「生产已轮换完成」。