文档
06 开发(跨仓)06_部署与运维总览

DEV-X-06-002 共享原件统一版本发布与停新

本页规定WP-STORAGE-001图片首切的跨仓制品、验收及停新操作边界。按ADR-0024只交付统一新契约;旧版兼容fallback、旧开发数据迁移、开发备份、三库联合恢复及DR门禁均不属于本期或默认后续交付。实现进度、运行结果、失败及未测范围仅记入PROC-02-006,本页不代表环境已启用。

固定成组版本

由Infrastructure维护一个具名发布批次。文件Owner、Platform、Runtime和本批Studio/Drama产品各自固定干净提交及正式构建输入,依赖生产方发布的契约与不可变制品,不跨仓导入业务源码。共享同一版本号不能代替包内容校验。

制品必须固定的身份
new-api-new-oceanwaycanonical源码提交、唯一正式入口构建的镜像ID及实际binary SHA、原输出登记结构与本期文件接口摘要
Platform源码提交、Linux镜像/binary摘要、实际登记/释放迁移摘要、文件桥与原生异步输出契约
Runtime client/server同一源码提交、两个实际归档SHA、实际exports及schema/checksum集合;client不得带服务端凭据或执行器
Studio源码提交、Linux镜像/standalone身份与BUILD_ID、内置Runtime包及来源清单、实际产品schema摘要
Drama最新main源码提交、Linux镜像身份与实际运行revision、Runtime包及来源清单、产品/Runtime/文件引用schema和受限应用角色权限;候选镜像不能冒充最终main镜像
验收工具独立提交/摘要、具名执行器、私有环境配置身份、完整请求及对象IO账本

应用镜像只构建linux/amd64。macOS本地Next standalone可能包含本机原生依赖,不能标成Linux制品;本地浏览器通过也不代替最终Linux制品验收。运行阶段需要的Runtime来源清单及其引用文件须随镜像交付,发布检查按实际schema和exports执行。

producer客户生产构建和部署继续使用canonical deploy/oceanway/release.sh。隔离开发实例可使用仓库既有Dockerfile.dev的后端构建方式,或具名固定的等价Go构建与不可变运行层组合,记录干净源码、Go工具链、CGO设置、binary SHA及最终镜像;该开发制品不代表客户生产发布认证,也不调用客户生产release流程。临时收起无关工作区改动时,先逐项保留内容摘要和mode,完成构建后只恢复本批stash并复核;不能复制未提交源码到构建目录,也不能为构建丢弃用户改动。这些工作区保护不等于开发链数据库或对象备份。

开发验收与生产启用边界

当前仅实施开发验收。生产专用身份、生产来源配置、生产监控及容量门禁暂不建设,不阻断WP-STORAGE-001开发完成,也不自动转为后续必做清单。未来实际提出生产启用时,再按届时具名目标确认范围;本页保留的activation与正式发布入口保护不会因开发收口被绕过。

Drama开发验收复用现有TOS和已授权开发前缀,不为该轮另建测试桶或扩大云权限。专用产品/Runtime服务身份只在可信服务端配置,不能复用其它产品的业务subject或项目授权。共享Platform、文件桥及模型绑定的变更先由当前所有者完成原任务收尾并交接,再由具名写入者执行;模型绑定属于共享配置,不因调用入口是Drama就自动成为仅Drama变更。错误开发任务按用户确认沿原任务取消,取消回执与资金事实独立记录;不得修改现有客户任务。

当前制品验收

Infrastructure的integration/shared-originals/verify_release.py消费具名发布清单及验收证据。当前清单schema_version: 2绑定producer、Platform、Runtime两个包和Studio的提交、实际制品、构建及schema摘要;每份验收回执绑定整个制品集合,而非仅绑定包版本号。历史备份恢复清单仅代表其原要求和原制品,不直接用于当前批次。

该既有schema2清单的产品槽位是Studio,不能直接作为Drama证书。Drama新增开发批次以独立部署及验收回执固定本批实际制品集合,明确源码、镜像、包和schema对应关系;既有校验器是否扩展以实际实现为准,不因本页新增Drama制品要求就宣称工具已支持。

门禁实际退出条件
新分支真实TOS live-tos当前原输出写入分支使用已授权受限身份及具名对象范围,记录是否复用现有开发身份;实际条件写、未知写入ACK确认、跨范围拒绝及原件SHA核验通过。同一原任务在同一制品重启后确认已有原件,不盲重Put;不创建备份副本,不以该门禁要求另建测试桶
完整生成 full-generation从本批实际Studio或Drama入口,经Platform创建/查询/结算、new-api原生异步任务和真实图片供应,形成一份原件及多处引用;验证Platform释放后Runtime独立读取,以及产品解绑和可靠释放。产品浏览器动作与可信后台hook分别取证,不将内部hook描述成浏览器公开接口
现有客户隔离 customer-isolation当前制品默认不开新来源;原客户API分项回归通过,隔离验收不改客户账号、Key、余额、原任务、对象和桶策略
未来生产启用 operations仅在另行提出具名生产启用时适用;届时核验永久桶策略、身份与来源、停新保已有读取、监控及适用容量边界。本期不实施,不作为开发完成条件

本期开发完成以验收清单的acceptance前三项为准;不要求执行activation。只有未来实际申请生产启用时,activation阶段才核具名生产目标的运行门禁;现有校验器和生产发布保护保持。不再要求same-version-restore回执或restoration_plan_verified检查,不为取消项补通过回执。仍适用的回执缺失、失败、未知或绑定不同制品集合时拒绝。每份摘要回执须引用实际执行报告,不能把计划、手填通过、历史候选证书或本地协议夹具包装成真实云及真实生成证据。校验器只检查证据身份与一致性,不自行证明报告内容真实,也不执行或授权部署。

真实模型联验使用明确的一次性范围与预算。预检、目录及报价读取与生成提交分开计数;生成结果未知时只查询原任务。隔离网络保持来源准入、SSRF及TLS检查,真实外联仅经具名出口允许表和共享预算账本;不能为了夹具放宽正式准入。

新原输出链的业务原件成功Put应为1,后续引用Put/Copy为0,备份Put为0。条件写探针、失败尝试、GET/HEAD及清理按实际对象和结果单独入账;不得把探针数混作业务原件数,也不得用重复生成规避未知写入。

停新与原状态恢复

停新关闭新增准入,保留目标版本的已发任务查询、已有claim续签和原释放命令恢复。未知生成不重发;未知对象写入按同一原任务、原登记和内容核验确认;未知绑定或释放沿持久命令重放。进程重启使用同一目标制品和原持久状态,不复制原件或导入备份数据库。不得把停新解释成停止现有new-api客户服务。

新图片请求固定output_contract: "oceanway.platform.file-output.v1"。Platform保持OCEANWAY_PLATFORM_FILE_ORIGINAL_OUTPUT_ENABLED=true以保留模式,同时设置OCEANWAY_PLATFORM_FILE_BRIDGE_ADMISSION_ENABLED=false,producer同步关闭新增来源准入;其余文件桥身份和来源配置保持原冻结值。验收要求新请求在报价/资金预留/供应POST之前拒绝,原请求重放和已有引用仍可恢复;不能只将原输出模式flag置false后继续生成普通字节。

消费者自己的有效claim不依赖Platform继续保留原anchor。Platform释放后,Runtime仍须用原claim续签并读取同一file_ref/revision;产品解绑先提交可信tombstone,再由Runtime持久outbox可靠释放。同命令重放、远端成功但回执丢失、过期grant及进程重启分别验证;这些状态恢复不属于已取消的备份或灾备交付。

目标应用启动失败、原件身份冲突或引用事实不一致时保持停新,保留现场并修复目标版本;不单独切回旧应用承接新登记状态。开发链不承诺数据库/对象备份保留、备份恢复部署或RPO/RTO,也不将它们挪入默认后续待办。

未来生产启用时再确认的范围

本节描述生产启用的环境核验边界,当前不建设生产身份、来源、监控或容量设施,不列为本期开发待办。下述检查仅在明确提出实际生产启用后按当时范围执行。

环境核验须区分临时媒体桶和无物理到期规则的永久桶,确认端点、区域、寻址方式、专用身份、namespace、可信来源及默认开关;数据库hold不能阻止云生命周期删除。永久策略和云权限按实际目标核验,不从一次隔离测试推定其它环境相同。另一受限测试身份可用于验证越界拒绝,不因此获得创建备份副本的任务。

监控至少覆盖生成已完成但原件未ready、采用/保留未知、读取或续签拒绝、release outbox积压及重试、对象/元数据不一致和存储增长。阈值与容量边界由具名环境配置和实测确定,不能从小图夹具编造生产容量或灾备指标。

new-api-new-oceanway现有客户继续使用原生产运行服务。本批不修改或绕过其既有生产发布保护,包括原生产发布流程的自动数据库备份;不以开发备份取消为由删改原生产脚本、停止客户服务或处理客户数据。生产服务启用与切流须另按具名批次授权。

临时资源收尾先停止本批调用和重试,按精确对象清单及SHA确认后清理本轮对象,撤销临时密钥、身份和策略,确认新桶为空后再删除;不扫描清理既有客户桶。弃用历史资产仍按独立清理批次处理,不随新版本发布自动物删。

On this page