# n8n 归档与退役运行手册 ## 原则 n8n 退役是独立变更,不随单流程切换自动发生。只有所有统一退出门禁和独立评审 同时通过后,才允许从 `kestra_primary_n8n_standby` 进入 `kestra_primary`。门禁未通过时必须保留 n8n 容器、API、前端兼容入口和历史数据。 ## 必须归档的内容 - 全部 Workflow 定义、标签、激活状态和定义摘要; - Workflow 到 DataFlow、WorkflowSpec、Kestra namespace/flow ID 的版本映射; - 执行历史、关键失败和回切证据; - Webhook、脚本、前端入口和外部调用方清单; - 凭据类型、引用名和版本清单。 归档中不得保存明文密码、API Key、访问令牌或完整连接串。凭据只记录 DataOps 凭据引用和版本;归档包需加密、限制访问并验证恢复。 ## 统一退出门禁 - 所有生产 n8n Workflow 已迁移、归档或有正式保留说明; - 所有正式 DataFlow 已在 `kestra_primary`,不存在未处理双轨差异; - 关键流程经过完整业务周期和至少一次恢复/回切演练; - Standby 观察期没有实际回切; - Kestra、Runner、Gateway、Context MCP、智能体和对账指标都有监控告警; - 模型离线、Kestra/Runner 重启和单数据源故障均不破坏正式状态; - 安全归档和恢复验证完成; - 独立评审确认没有 Webhook、前端、脚本或外部依赖; - 唯一一次最终 L4 验证通过。 任何一项为假或缺少证据,退役决定都是 `blocked`。 ## 退役顺序 1. 禁止新建和激活 n8n Workflow。 2. 停止 n8n 调度,保留只读管理和归档访问。 3. 完成 Standby 观察和归档恢复演练。 4. 执行独立下线评审及唯一一次最终 L4。 5. 单独变更 Docker、后端兼容 API、前端入口和部署文档。 6. 最后移除运行容器;历史表和 `n8n_workflow_id` 字段通过后续独立迁移处理。 禁止在同一变更中同时退役 n8n、重构 WorkflowSpec 和升级 Kestra。 ## V55 当前决定 当前仓库只完成了双轨、对账、事务化切换、自动回切和本地受控演练。尚无生产 Workflow 全量处置、完整业务周期、Standby 观察、完整依赖扫描、安全归档、独立 评审和最终 L4 证据。因此当前退役状态是 `blocked`: - 不修改 `deploy/docker/docker-compose.yml` 移除 n8n; - 不删除 n8n API、前端入口、历史字段或执行历史; - V55 阶段性交付上限为 `kestra_primary_n8n_standby`。