codex/fix/legacy-network-dns-migration
main
早期布局迁移生成的兼容覆盖仍包含旧固定地址及 MongoDB/Redis 的 IP 连接,覆盖了新版模板的动态地址规则。整组并行启动时,新增动态服务可占用前端旧地址,导致 Address already in use。
迁移现在移除已确认的旧模板固定地址,并将对应内部连接迁为容器名;修正已有旧覆盖时先备份并验证完整 Compose 合并,保留替换标签、端口、密钥、实际数据卷和原物理网络。未知自定义固定地址继续拒绝静默接管。首次接入重试中业务核心服务尚未运行时,仍执行更新器能力检查,最终完整验证不省略。
验证:实际客户 Docker/Compose 上真实地址冲突失败前、动态地址与容器 DNS 通过后(1.66 秒),原网络 ID、原动态服务和生产 Redis 容器不变;客户完整配置只读预检通过;真实 Git/Compose 回归通过(4.37 秒),覆盖原覆盖修正、未知地址拒绝及幂等;更新入口回归通过(42.851 秒)。主线广泛验收的 requiredFreeBytes 历史断言问题按 PR #101 保留,未改动或跳过。
No dependencies set.
The note is not visible to the blocked user.
早期布局迁移生成的兼容覆盖仍包含旧固定地址及 MongoDB/Redis 的 IP 连接,覆盖了新版模板的动态地址规则。整组并行启动时,新增动态服务可占用前端旧地址,导致 Address already in use。
迁移现在移除已确认的旧模板固定地址,并将对应内部连接迁为容器名;修正已有旧覆盖时先备份并验证完整 Compose 合并,保留替换标签、端口、密钥、实际数据卷和原物理网络。未知自定义固定地址继续拒绝静默接管。首次接入重试中业务核心服务尚未运行时,仍执行更新器能力检查,最终完整验证不省略。
验证:实际客户 Docker/Compose 上真实地址冲突失败前、动态地址与容器 DNS 通过后(1.66 秒),原网络 ID、原动态服务和生产 Redis 容器不变;客户完整配置只读预检通过;真实 Git/Compose 回归通过(4.37 秒),覆盖原覆盖修正、未知地址拒绝及幂等;更新入口回归通过(42.851 秒)。主线广泛验收的 requiredFreeBytes 历史断言问题按 PR #101 保留,未改动或跳过。