Files
iAOP/deploy/orchestration/__init__.py
bot_dev1 97fbbfa7b2 feat(#60): 一键部署编排与回滚引擎
纯标准库实现,对齐 PRD 5.6「⑥ 部署底座」(不真执行 k8s/helm,模拟编排):

- deploy_plan.py:DeployStep(4 类:pre_check/deploy/health_check/post_check)
  + DeployPlan(顺序约束自动校验,default_helm_release 默认 4 步计划)+
  DeployOrchestrator(按序执行,必需步骤失败即中止并标记 needs_rollback,
  deploy/health_check 为回滚检查点,pre_check 失败无需回滚)+
  HealthCheckContract(对齐 deploy/k8s/healthz 99.8% 目标)。
- rollback.py:RollbackPoint(部署前快照,values_hash SHA1 检测漂移)+
  RollbackManager(快照栈 + rollback_to_latest/rollback(n),失败压回栈顶
  保持一致性,FIFO 淘汰,支持回滚后健康检查)+ RollbackResult(4 状态)。
- tests:30 用例覆盖计划构造/顺序约束、全成功/各类失败、回滚检查点判定、
  action 异常、dry_run、空计划、快照压栈/FIFO、回滚成功/失败/多版本/空栈/
  异常、健康检查契约、values 漂移、报告序列化。
- _sanity_check.py:冒烟验证快照→部署成功→部署失败→回滚全流程。
2026-08-05 05:32:27 +08:00

43 lines
1.0 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- coding: utf-8 -*-
"""一键部署编排 + 回滚引擎包(Issue #60 / PRD 5.6「⑥ 部署底座」)。
把部署与回滚落为**可测试的纯标准库编排引擎**——不真执行 k8s/helm,但模拟
完整编排序列(pre_check → deploy → health_check → post_check)+ 部署前快照
+ 失败回滚。零运行时依赖,与 iAOP 部署底座一致。
"""
from .deploy_plan import (
DeployOrchestrator,
DeployOutcome,
DeployPlan,
DeployReport,
DeployStep,
DeployStepKind,
DeployStepResult,
DeployStatus,
HealthCheckContract,
)
from .rollback import (
RollbackManager,
RollbackPoint,
RollbackResult,
RollbackStatus,
)
__all__ = [
# deploy_plan
"DeployPlan",
"DeployStep",
"DeployStepKind",
"DeployStepResult",
"DeployStatus",
"DeployOutcome",
"DeployReport",
"DeployOrchestrator",
"HealthCheckContract",
# rollback
"RollbackPoint",
"RollbackManager",
"RollbackResult",
"RollbackStatus",
]